f93422866e167661615e579adf1362e2a22b619d
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-27  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Web Inspector: detailed heap snapshot: Replace (Native objects) root element
4         with '(Detached DOM trees)' and '(Document DOM trees)'
5         https://bugs.webkit.org/show_bug.cgi?id=77201
6
7         I think it'd be nice to replace one group containing all native objects with
8         separate groups for different types of native objects.
9
10         Reviewed by Yury Semikhatsky.
11
12         * bindings/v8/RetainedDOMInfo.cpp:
13         (WebCore::RetainedDOMInfo::GetGroupLabel):
14         (WebCore):
15         * bindings/v8/RetainedDOMInfo.h:
16         (RetainedDOMInfo):
17
18 2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
19
20         <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
21         https://bugs.webkit.org/show_bug.cgi?id=77205
22
23         Reviewed by Antti Koivisto.
24
25         Consider following testcase:
26         <svg width="1000" height="500">
27         <defs>
28             <circle id="c" cx="50%" cy="50%" r="10%"/>
29             <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
30                 <feImage xlink:href="#c"/>
31             </filter>
32         </defs>
33         <rect width="100" height="100" filter="url(#f)"/>
34         </svg>
35
36         The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
37         as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
38         in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".
39
40         That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
41         the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
42         middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
43         the 100x100 sized image buffer.
44
45         So how to resolve this?
46         The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
47         resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
48         to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
49         SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
50         This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
51         subtree to an image buffer.
52
53         The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
54         center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
55         subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
56         <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
57         resolve only cx against the new viewport, and not cy.
58
59         Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
60         that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
61         back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
62         using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".
63
64         Adding lots of new testcases, trying all the different feImage modes.
65
66         Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
67                svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
68                svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
69                svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
70                svg/filters/feImage-position.svg
71                svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
72                svg/filters/feImage-subregions-preseveAspectRatio-none.svg
73                svg/filters/feImage-subregions.svg
74
75         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
76         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
77         * svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
78         * svg/graphics/filters/SVGFEImage.cpp:
79         (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
80         (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
81                                                    Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
82         * svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.
83
84 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
85
86         Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
87         https://bugs.webkit.org/show_bug.cgi?id=77126
88
89         Reviewed by Pavel Feldman.
90
91         * inspector/front-end/ScriptsPanel.js:
92         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
93         (WebInspector.ScriptsPanel.prototype._reset):
94         (WebInspector.ScriptsPanel.prototype._showSourceLine):
95         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
96         (WebInspector.ScriptsPanel.prototype._editorClosed):
97         (WebInspector.ScriptsPanel.prototype._editorSelected):
98         (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
99         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
100         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
101         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
102         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
103         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
104         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
105         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
106         * inspector/front-end/TabbedEditorContainer.js:
107         (WebInspector.TabbedEditorContainer):
108         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
109         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
110         (WebInspector.TabbedEditorContainer.prototype.reset):
111
112 2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
113
114         <feImage> DOM mutation problems
115         https://bugs.webkit.org/show_bug.cgi?id=77198
116
117         Reviewed by Antti Koivisto.
118
119         Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
120         Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".
121
122         Integrate <feImage> properly within the pending resources concept, fixing the bug.
123
124         Tests: svg/filters/feImage-target-add-to-document.svg
125                svg/filters/feImage-target-changes-id.svg
126                svg/filters/feImage-target-id-change.svg
127                svg/filters/feImage-target-reappend-to-document.svg
128                svg/filters/feImage-target-remove-from-document.svg
129
130         * svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
131         (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
132         (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
133         (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
134         (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
135         (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
136         (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
137         (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
138         (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
139         (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
140         * svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.
141
142 2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
143
144         [Qt] WKTR: Use a software rendering pipiline when running tests.
145         https://bugs.webkit.org/show_bug.cgi?id=76708
146
147         Reviewed by Kenneth Rohde Christiansen.
148
149         * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
150         (WebCore::TextureMapperQt::setGraphicsContext):
151         * platform/graphics/qt/TextureMapperQt.h:
152         (WebCore::TextureMapperQt::initialize):
153
154 2012-01-27  Branimir Lambov  <blambov@google.com>
155
156         SVG filters incorrectly move elements
157         https://bugs.webkit.org/show_bug.cgi?id=73643
158
159         Reviewed by Nikolas Zimmermann.
160
161         Fixes SVG image buffer creation to use the enclosing integer rect
162         instead of unstable rounded coordinates with scaling which was causing
163         animated images to jump around under filters. The image buffer was not 
164         aligned on a pixel boundary, and thus the positions and sizes of anything
165         drawn under that filter changed by 1-2 pixels compared to the same
166         elements drawn without an intermediate buffer, or drawn with a buffer
167         with a different target rectangle. 
168         
169         The change improves the positioning of clip paths, masks and filters.
170
171         Tests: svg/clip-path/clip-in-clip.svg
172                svg/clip-path/clipper-placement-issue.svg
173                svg/filters/filter-placement-issue.svg
174
175         * platform/graphics/filters/FETile.cpp:
176         (WebCore::FETile::platformApplySoftware):
177         * rendering/svg/RenderSVGResourceClipper.cpp:
178         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
179         * rendering/svg/RenderSVGResourceFilter.cpp:
180         (WebCore::RenderSVGResourceFilter::applyResource):
181         * rendering/svg/RenderSVGResourceGradient.cpp:
182         (WebCore::createMaskAndSwapContextForTextGradient):
183         (WebCore::clipToTextMask):
184         * rendering/svg/RenderSVGResourceMasker.cpp:
185         (WebCore::RenderSVGResourceMasker::applyResource):
186         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
187         * rendering/svg/RenderSVGResourcePattern.cpp:
188         (WebCore::RenderSVGResourcePattern::createTileImage):
189         * rendering/svg/SVGImageBufferTools.cpp:
190         (WebCore::SVGImageBufferTools::createImageBuffer):
191         (WebCore::SVGImageBufferTools::createImageBufferForPattern):
192         (WebCore::SVGImageBufferTools::clipToImageBuffer):
193         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
194         (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
195         * rendering/svg/SVGImageBufferTools.h:
196         (WebCore::SVGImageBufferTools::calcImageBufferRect):
197
198 2012-01-25  Yury Semikhatsky  <yurys@chromium.org>
199
200         Web Inspector: should be possible to open function declaration from script popover
201         https://bugs.webkit.org/show_bug.cgi?id=76913
202
203         Added inferred/display function name and source location to the popover in scripts panel.
204         Now when a function is hovered user can navigate to its definition.
205
206         Reviewed by Pavel Feldman.
207
208         Test: inspector/debugger/function-details.html
209
210         * bindings/js/JSInjectedScriptHostCustom.cpp:
211         (WebCore::JSInjectedScriptHost::functionDetails):
212         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
213         (WebCore::V8InjectedScriptHost::functionDetailsCallback):
214         * inspector/InjectedScript.cpp:
215         (WebCore::InjectedScript::getFunctionDetails):
216         * inspector/InjectedScript.h:
217         (InjectedScript):
218         * inspector/InjectedScriptHost.idl:
219         * inspector/InjectedScriptSource.js:
220         (.):
221         * inspector/Inspector.json:
222         * inspector/InspectorDebuggerAgent.cpp:
223         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
224         * inspector/InspectorDebuggerAgent.h:
225         (InspectorDebuggerAgent):
226         * inspector/front-end/DebuggerPresentationModel.js:
227         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
228         * inspector/front-end/ObjectPopoverHelper.js:
229         (WebInspector.ObjectPopoverHelper):
230         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
231         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
232         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
233         * inspector/front-end/ObjectPropertiesSection.js:
234         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
235         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
236         * inspector/front-end/RemoteObject.js:
237         (WebInspector.RemoteObject):
238         (WebInspector.RemoteObject.fromPayload):
239         (WebInspector.RemoteObject.prototype.get functionName):
240         * inspector/front-end/scriptsPanel.css:
241         (.function-location-link):
242         (.function-popover-title):
243         (.function-popover-title .function-name):
244
245 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
246
247         Remove FIXME: ColorProfile encapsulation as a Vector<char> works well 
248         https://bugs.webkit.org/show_bug.cgi?id=77176
249
250         Reviewed by Adam Barth.
251
252         No new tests. No change in behavior.
253
254         * platform/image-decoders/ImageDecoder.h:
255
256 2012-01-26  Matthew Delaney  <mdelaney@apple.com>
257
258         ImageBuffer::draw should deep copy if drawing to an accelerated context
259         https://bugs.webkit.org/show_bug.cgi?id=77185
260
261         Reviewed by Simon Fraser.
262
263         No new tests since any test for this issue would be flaky at best.
264
265         * platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
266             an accelerated context for both draw and drawPattern.
267         (WebCore::ImageBuffer::draw):
268         (WebCore::ImageBuffer::drawPattern):
269
270 2012-01-26  Kevin Ollivier  <kevino@theolliviers.com>
271
272         [wx] Unreviewed. Build fixes.
273         - Remove some constructors not generated by CPP bindings
274           from being added to CPP binding headers
275         - Keyboard event fixes after modifier changes
276         - Add stubs for Language and RunLoop platform methods
277
278         * bindings/scripts/CodeGeneratorCPP.pm:
279         (GetNamespaceForClass):
280         (GenerateImplementation):
281         * platform/mac/WebCoreSystemInterface.h:
282         * platform/wx/KeyboardEventWx.cpp:
283         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
284         * platform/wx/LanguageWx.cpp: Added.
285         (WebCore):
286         (WebCore::platformLanguage):
287         (WebCore::platformUserPreferredLanguages):
288         * platform/wx/RunLoopWx.cpp: Added.
289         (WebCore):
290         (WebCore::RunLoop::run):
291         (WebCore::RunLoop::stop):
292         (WebCore::RunLoop::RunLoop):
293         (WebCore::RunLoop::~RunLoop):
294         (WebCore::RunLoop::wakeUp):
295         * storage/DOMWindowSQLDatabase.idl:
296         * webaudio/DOMWindowWebAudio.idl:
297         * websockets/DOMWindowWebSocket.idl:
298
299 2012-01-26  Sheriff Bot  <webkit.review.bot@gmail.com>
300
301         Unreviewed, rolling out r105486.
302         http://trac.webkit.org/changeset/105486
303         https://bugs.webkit.org/show_bug.cgi?id=77182
304
305         This patch doesn't take web workers into account. (Requested
306         by dave_levin on #webkit).
307
308         * html/DOMURL.cpp:
309         (WebCore::DOMURL::DOMURL):
310         (WebCore::DOMURL::~DOMURL):
311         (WebCore::DOMURL::contextDestroyed):
312         (WebCore):
313         (WebCore::DOMURL::createObjectURL):
314         (WebCore::DOMURL::revokeObjectURL):
315         * html/DOMURL.h:
316         (WebCore::DOMURL::create):
317         (DOMURL):
318         * html/DOMURL.idl:
319         * page/DOMWindow.cpp:
320         (WebCore):
321         (WebCore::DOMWindow::webkitURL):
322         * page/DOMWindow.h:
323         (DOMWindow):
324         ():
325         * page/DOMWindow.idl:
326         * workers/WorkerContext.cpp:
327         (WebCore):
328         (WebCore::WorkerContext::webkitURL):
329         (WebCore::WorkerContext::webkitRequestFileSystem):
330         * workers/WorkerContext.h:
331         (WorkerContext):
332         ():
333         * workers/WorkerContext.idl:
334
335 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
336
337         Cleanup JPEGImageDecoder includes
338         https://bugs.webkit.org/show_bug.cgi?id=77171
339
340         Reviewed by Adam Barth.
341
342         No new tests. Refactoring cleanup only.
343
344         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
345
346 2012-01-26  Tim Horton  <hortont424@gmail.com>
347
348         3D transformed elements hide when showing the print dialog
349         https://bugs.webkit.org/show_bug.cgi?id=45894
350         <rdar://problem/7441593>
351
352         Reviewed by Andy Estes.
353
354         Suspend updates of the compositing layer tree while printing is taking place,
355         preventing on-screen layers from moving to their print-mode positions.
356
357         No new tests, as WebKitTestRunner doesn't support putting the document
358         into printing mode.
359
360         * page/FrameView.cpp:
361         (WebCore::FrameView::syncCompositingStateForThisFrame):
362         (WebCore::FrameView::paintContents):
363         * platform/graphics/ca/LayerFlushScheduler.h:
364         (WebCore::LayerFlushScheduler::isSuspended): Added.
365
366 2012-01-26  Pablo Flouret  <pablof@motorola.com>
367
368         Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
369         https://bugs.webkit.org/show_bug.cgi?id=77165
370
371         Reviewed by Oliver Hunt.
372
373         Missing parameter in a call to deserialize() and using 'this' in the
374         attribute accessor functions (which are static).
375
376         * bindings/scripts/CodeGeneratorJS.pm:
377         (GenerateImplementation):
378         (NativeToJSValue):
379         * bindings/scripts/test/JS/JSTestObj.cpp:
380         (WebCore::jsTestObjCachedAttribute1):
381         (WebCore::jsTestObjCachedAttribute2):
382         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
383         (WebCore::jsTestSerializedScriptValueInterfaceValue):
384
385 2012-01-26  W. James MacLean  <wjmaclean@chromium.org>
386
387         [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
388         https://bugs.webkit.org/show_bug.cgi?id=76349
389
390         Reviewed by James Robinson.
391
392         Prior to this patch, draw culling either rejects a DrawQuad because it is completely
393         occluded, or draws the entire quad (even if it is largely occluded). This patch
394         attempts to reduce the number of pixels drawn by determining if a partially
395         occluded DrawQuad can be resized to a smaller quad, based on what portion of the
396         DrawQuad is actually visible, and performing that resizing where possible.
397
398         Added cases to existing unit tests.
399
400         * platform/graphics/chromium/LayerRendererChromium.cpp:
401         (WebCore::LayerRendererChromium::drawTileQuad):
402         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
403         (WebCore::CCDrawQuad::CCDrawQuad):
404         * platform/graphics/chromium/cc/CCDrawQuad.h:
405         (WebCore::CCDrawQuad::setQuadVisibleRect):
406         (WebCore::CCDrawQuad::quadVisibleRect):
407         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
408         (WebCore::rectSubtractRegion):
409         (WebCore::CCQuadCuller::cullOccludedQuads):
410
411 2012-01-26  Anders Carlsson  <andersca@apple.com>
412
413         Scrollbars disappear when switching from legacy to overlay scrollbars
414         https://bugs.webkit.org/show_bug.cgi?id=77166
415
416         Reviewed by Dan Bernstein.
417
418         * platform/ScrollView.cpp:
419         (WebCore::ScrollView::scrollbarStyleChanged):
420         Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.
421
422         * platform/mac/ScrollAnimatorMac.mm:
423         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
424         Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
425         to set the horizontal or vertical imp, since setting the imp will reset the knob style.
426
427 2012-01-26  Adam Barth  <abarth@webkit.org>
428
429         NULL ptr in WebCore::ContainerNode::parserAddChild
430         https://bugs.webkit.org/show_bug.cgi?id=76258
431
432         Reviewed by Eric Seidel.
433
434         Test: fast/parser/nested-fragment-parser-crash.html
435
436         We always need a parent element to attach to.  In crazy cases, we can
437         have elements in the stack of open elements that are already detached
438         from the DOM.  In those cases, they don't have a parent, so we aren't
439         able to enforce the maximum DOM depth.  (Fortunately, they're not
440         attached to the DOM anymore so we don't need to enforce the maximum DOM
441         depth!)
442
443         * html/parser/HTMLConstructionSite.cpp:
444         (WebCore::HTMLConstructionSite::attachLater):
445         (WebCore::HTMLConstructionSite::fosterParent):
446
447 2012-01-26  Cris Neckar  <cdn@chromium.org>
448
449         The registration of schemes is currently racey as they are not registered from the main thread. 
450         Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.
451
452         Thank you ap@webkit for helping us identify this.
453
454         https://bugs.webkit.org/show_bug.cgi?id=77160
455
456         Reviewed by Adam Barth.
457
458         * platform/SchemeRegistry.cpp:
459         (WebCore::CORSEnabledSchemes):
460
461 2012-01-26  Anders Carlsson  <andersca@apple.com>
462
463         We don't need to always repaint overlay scrollbars if they're in layers
464         https://bugs.webkit.org/show_bug.cgi?id=77159
465
466         Reviewed by Beth Dakin.
467
468         If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
469         whether both scroll offsets actually change since they're translucent and we want to draw the new page
470         contents underneath.
471         
472         However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
473         need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).
474
475         * platform/ScrollableArea.cpp:
476         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
477
478 2012-01-26  Joshua Bell  <jsbell@chromium.org>
479
480         IndexedDB: WebCore::IDBKey objects are leaked
481         https://bugs.webkit.org/show_bug.cgi?id=77114
482
483         Reviewed by Tony Chang.
484
485         Fixing memory leaks, no new tests.
486
487         * storage/IDBKey.h:
488         (WebCore::IDBKey::createInvalid):
489         (WebCore::IDBKey::createNumber):
490         (WebCore::IDBKey::createString):
491         (WebCore::IDBKey::createDate):
492         (WebCore::IDBKey::createArray):
493
494 2012-01-25  Cris Neckar  <cdn@chromium.org>
495
496         Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
497         https://bugs.webkit.org/show_bug.cgi?id=77041
498
499         Reviewed by Alexey Proskuryakov.
500
501         * loader/DocumentThreadableLoader.cpp:
502         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
503         * platform/SchemeRegistry.cpp:
504         (WebCore::CORSEnabledSchemes):
505         (WebCore):
506         (WebCore::SchemeRegistry::registerCORSEnabledScheme):
507         (WebCore::SchemeRegistry::isCORSEnabledScheme):
508         * platform/SchemeRegistry.h:
509         (SchemeRegistry):
510
511 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
512
513         File extension for webp files is .webp
514         https://bugs.webkit.org/show_bug.cgi?id=76982
515
516         Reviewed by Adam Barth.
517
518         No new tests. No change in behavior.
519
520         * platform/image-decoders/webp/WEBPImageDecoder.h:
521         (WebCore::WEBPImageDecoder::filenameExtension):
522
523 2012-01-26  Alok Priyadarshi  <alokp@chromium.org>
524
525         [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
526         https://bugs.webkit.org/show_bug.cgi?id=77137
527
528         Reviewed by James Robinson.
529
530         No new test needed. Only removing dead code.
531
532         * platform/graphics/chromium/LayerChromium.cpp:
533         * platform/graphics/chromium/LayerChromium.h:
534         (WebCore::LayerChromium::layerTreeHost):
535         * platform/graphics/chromium/TiledLayerChromium.cpp:
536         (WebCore::TiledLayerChromium::setLayerTreeHost):
537
538 2012-01-26  Anders Carlsson  <andersca@apple.com>
539
540         Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
541         https://bugs.webkit.org/show_bug.cgi?id=77147
542
543         Reviewed by Adam Roben.
544
545         * platform/mac/ScrollAnimatorMac.h:
546         (ScrollAnimatorMac):
547         * platform/mac/ScrollAnimatorMac.mm:
548         (WebCore::ScrollAnimatorMac::handleWheelEvent):
549         Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
550         didEndScrollGesture if the event was actually handled.
551
552         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
553         Implement this.
554
555         * platform/mac/ScrollElasticityController.h:
556         * platform/mac/ScrollElasticityController.mm:
557         (WebCore::ScrollElasticityController::handleWheelEvent):
558         Check if we should rubber-band and return false if we shouldn't.
559
560         (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
561         Ask the client if we should rubber-band.
562
563 2012-01-19  James Robinson  <jamesr@chromium.org>
564
565         [chromium] Remove setLayerTreeHost nonsense on lost context
566         https://bugs.webkit.org/show_bug.cgi?id=76675
567
568         Reviewed by Kenneth Russell.
569
570         This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
571         the proxy and no layer types need special lost context handling.
572
573         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
574         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
575
576 2012-01-26  Anders Carlsson  <andersca@apple.com>
577
578         Simplify checking of whether we should rubberband horizontally
579         https://bugs.webkit.org/show_bug.cgi?id=77141
580
581         Reviewed by Adam Roben.
582
583         Have a single check for horizontal rubber-banding in both directions. This is in preparation
584         for moving this code into ScrollElasticityController.
585
586         * platform/mac/ScrollAnimatorMac.mm:
587         (WebCore::shouldRubberBandInHorizontalDirection):
588         (WebCore::ScrollAnimatorMac::handleWheelEvent):
589
590 2012-01-26  Scott Graham  <scottmg@chomium.org>
591
592         Fix include path in gyp file for V8InternalSettings.h
593         https://bugs.webkit.org/show_bug.cgi?id=77128
594
595         Reviewed by Kent Tamura.
596
597         * WebCore.gyp/WebCore.gyp:
598
599 2012-01-26  James Robinson  <jamesr@chromium.org>
600
601         We shouldn't synchronously update styles on all documents after running script
602         https://bugs.webkit.org/show_bug.cgi?id=46761
603
604         Reviewed by Simon Fraser.
605
606         Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
607         slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
608         unnecessary as any code that depends on styles or the render tree being up to date must call
609         updateStyleIfNeeded() on the document it is accessing.
610
611         The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
612         cargo culted forward ever since.
613
614         * bindings/ScriptControllerBase.cpp:
615         (WebCore::ScriptController::executeScript):
616         * bindings/js/ScheduledAction.cpp:
617         (WebCore::ScheduledAction::execute):
618         * bindings/js/ScriptController.cpp:
619         (WebCore::ScriptController::ScriptController):
620         (WebCore::ScriptController::executeScriptInWorld):
621         * bindings/js/ScriptController.h:
622         * bindings/v8/ScheduledAction.cpp:
623         (WebCore::ScheduledAction::execute):
624         * bindings/v8/ScriptController.cpp:
625         (WebCore::ScriptController::ScriptController):
626         * bindings/v8/ScriptController.h:
627         * dom/ScriptElement.cpp:
628         (WebCore::ScriptElement::executeScript):
629         * inspector/InspectorClient.cpp:
630         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
631
632 2012-01-26  Anders Carlsson  <andersca@apple.com>
633
634         Get rid of ScrollElasticityController::beginScrollGesture()
635         https://bugs.webkit.org/show_bug.cgi?id=77138
636
637         Reviewed by Adam Roben.
638
639         ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
640         PlatformWheelEventPhaseBegan and sets up the gesture state if it is.
641
642         * platform/mac/ScrollAnimatorMac.mm:
643         (WebCore::ScrollAnimatorMac::handleWheelEvent):
644         * platform/mac/ScrollElasticityController.h:
645         (ScrollElasticityController):
646         * platform/mac/ScrollElasticityController.mm:
647         (WebCore::ScrollElasticityController::handleWheelEvent):
648
649 2012-01-26  Anders Carlsson  <andersca@apple.com>
650
651         Get rid of ScrollElasticityController::endScrollGesture()
652         https://bugs.webkit.org/show_bug.cgi?id=77134
653
654         Reviewed by Adam Roben.
655
656         Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
657         event phase is PlatformWheelEventPhaseEnded.
658
659         * platform/mac/ScrollAnimatorMac.mm:
660         (WebCore::ScrollAnimatorMac::handleWheelEvent):
661         * platform/mac/ScrollElasticityController.h:
662         (ScrollElasticityController):
663         * platform/mac/ScrollElasticityController.mm:
664         (WebCore::ScrollElasticityController::handleWheelEvent):
665
666 2012-01-26  Abhishek Arya  <inferno@chromium.org>
667
668         Crash in SVGSVGElement::currentViewBoxRect.
669         https://bugs.webkit.org/show_bug.cgi?id=77121
670
671         Reviewed by Nikolas Zimmermann.
672
673         Symbols shouldn't be rendered. Revert the ASSERT
674         from r105513 into a hard check.
675
676         Test: svg/custom/symbol-viewport-element-crash.svg
677
678         * svg/SVGLengthContext.cpp:
679         (WebCore::SVGLengthContext::determineViewport):
680
681 2012-01-26  Anders Carlsson  <andersca@apple.com>
682
683         Inline beginScrollGesture/endScrollGesture in handleWheelEvent
684         https://bugs.webkit.org/show_bug.cgi?id=77133
685
686         Reviewed by Andreas Kling.
687
688         * platform/mac/ScrollAnimatorMac.h:
689         (ScrollAnimatorMac):
690         * platform/mac/ScrollAnimatorMac.mm:
691         (WebCore::ScrollAnimatorMac::handleWheelEvent):
692
693 2012-01-26  Anders Carlsson  <andersca@apple.com>
694
695         No need to set m_haveScrolledSincePageLoad in beginScrollGesture
696         https://bugs.webkit.org/show_bug.cgi?id=77132
697
698         Reviewed by Andreas Kling.
699
700         m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
701         to set it to true again.
702
703         * platform/mac/ScrollAnimatorMac.mm:
704         (WebCore::ScrollAnimatorMac::beginScrollGesture):
705
706 2012-01-26  Anders Carlsson  <andersca@apple.com>
707
708         Simplify checking for whether we should rubberband or not when at the edge
709         https://bugs.webkit.org/show_bug.cgi?id=77131
710
711         Reviewed by Beth Dakin.
712
713         We only need to check once if we're pinned at either edge whether we should rubber-band
714         or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
715         remove a bunch of code that would keep track of the current horizontal scroll direction.
716
717         * platform/mac/ScrollAnimatorMac.h:
718         (ScrollAnimatorMac):
719         * platform/mac/ScrollAnimatorMac.mm:
720         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
721         (WebCore::ScrollAnimatorMac::handleWheelEvent):
722         (WebCore::ScrollAnimatorMac::beginScrollGesture):
723
724 2012-01-26  Eli Fidler  <efidler@rim.com>
725
726         [JSC] Inspector instrumentation for JavaScript calls.
727         https://bugs.webkit.org/show_bug.cgi?id=40119
728
729         Reviewed by Geoffrey Garen.
730
731         Covered by existing Chromium inspector tests
732
733         * bindings/js/JSCallbackData.cpp:
734         (WebCore::JSCallbackData::invokeCallback):
735         * bindings/js/JSEventListener.cpp:
736         (WebCore::JSEventListener::handleEvent):
737         * bindings/js/JSMainThreadExecState.h:
738         (WebCore::JSMainThreadExecState::instrumentedCall):
739         * inspector/InspectorInstrumentation.cpp:
740         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
741
742 2012-01-26  Mike Reed  <reed@google.com>
743
744         Signal to skia to force A8 text from LCD output, but only when we have to disable LCD because we're in a layer
745         https://bugs.webkit.org/show_bug.cgi?id=76547
746
747         Reviewed by Stephen White.
748
749         Existing tests should confirm nothing is broken. Antialiased text
750         is disabled in layouttests, so they should be unaffected by the
751         difference in antialiasing quality.
752
753         * platform/graphics/skia/SkiaFontWin.cpp:
754         (WebCore::setupPaintForFont):
755
756
757 2012-01-26  Anders Carlsson  <andersca@apple.com>
758
759         Use PlatformWheelEvent::phase() to determine if a scroll gesture begins or ends
760         https://bugs.webkit.org/show_bug.cgi?id=77127
761
762         Reviewed by Beth Dakin.
763
764         * platform/mac/ScrollAnimatorMac.h:
765         (ScrollAnimatorMac):
766         Remove handleGestureEvent.
767
768         * platform/mac/ScrollAnimatorMac.mm:
769         (WebCore::ScrollAnimatorMac::handleWheelEvent):
770         Look at the event phase to determine when to call didBeginGesture and didEndGesture.
771
772 2012-01-26  Benjamin Poulain  <benjamin@webkit.org>
773
774         Using strncmp() for comparing scheme and port numbers is inefficient
775         https://bugs.webkit.org/show_bug.cgi?id=75821
776
777         Reviewed by Darin Adler.
778
779         Replace the equal() function comparing 2 arbitrary strings by a template
780         comparing the string to an array, character by character.
781
782         This is only used for small strings: the schemes and the ports.
783
784         * platform/KURL.cpp:
785         (WebCore::equal):
786         (WebCore::isDefaultPortForScheme):
787         (WebCore::isNonFileHierarchicalScheme):
788         (WebCore::isCanonicalHostnameLowercaseForScheme):
789
790 2012-01-26  Anders Carlsson  <andersca@apple.com>
791
792         WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
793         https://bugs.webkit.org/show_bug.cgi?id=77123
794
795         Reviewed by Beth Dakin.
796
797         * platform/PlatformWheelEvent.h:
798         ():
799         * platform/mac/PlatformEventFactoryMac.mm:
800         (WebCore::phaseForEvent):
801
802 2012-01-26  Daniel Cheng  <dcheng@chromium.org>
803
804         Revert code changes from r105800
805         https://bugs.webkit.org/show_bug.cgi?id=77071
806
807         The strings are already lowercased in EventHandler.cpp:findDropZone() so there's
808         no need to call lower() again.
809
810         Reviewed by Tony Chang.
811
812         Covered by existing tests.
813
814         * dom/Clipboard.cpp:
815         (WebCore::Clipboard::hasDropZoneType):
816
817 2012-01-26  Stephen Chenney  <schenney@chromium.org>
818
819         REGRESSION (r91125): Polyline tool in google docs is broken
820         https://bugs.webkit.org/show_bug.cgi?id=65796
821
822         Reviewed by Nikolas Zimmermann.
823
824         It turns out that the CG problem is a design decision. The bounding code
825         returns CGRectNull for cases where a bound is ill-defined, rather than the
826         empty bound as expected.
827
828         I'm also removing the workaround for isEmpty to get correct zero length paths.
829         It is no longer necessary.
830
831         Tested by existing layout tests.
832
833         * platform/graphics/cg/PathCG.cpp: Removed path empty and path bound testing classes.
834         (WebCore::Path::boundingRect): Added check for CGRectNull
835         (WebCore::Path::fastBoundingRect): Added check for CGRectNull
836         (WebCore::Path::strokeBoundingRect): Added check for CGRectNull
837         (WebCore::Path::isEmpty): Reverted to former behavior, just using CGPathIsEmpty.
838         (WebCore::Path::hasCurrentPoint): Reverted to former behavior, using isEmpty.
839         (WebCore::Path::transform): Reverted to former behavior, using isEmpty.
840
841 2012-01-26  Andreas Kling  <awesomekling@apple.com>
842
843         Refactor application of additional style attributes for table elements.
844         <http://webkit.org/b/77095>
845
846         Reviewed by Darin Adler.
847
848         The primary purpose of this change is to reduce usage of CSSMappedAttributeDeclaration.
849         Instead of using the mapped attribute decl table for additional table style, just use
850         regular CSSMutableStyleDeclarations. We cache them all globally, except for the style
851         that's shared between a table's cells. That one is cached per-table since it depends
852         on the table's border and padding.
853
854         * dom/CSSMappedAttributeDeclaration.cpp:
855         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
856         * dom/MappedAttributeEntry.h:
857
858             Remove the concept of persistent CSSMappedAttributeDeclarations. The hunk in
859             ~CSSMappedAttributeDeclaration was wildly wrong since it would leave stale pointers
860             in the decl table, but unreachable since we always leaked one ref to those decls.
861
862         * dom/StyledElement.h:
863         (WebCore::StyledElement::additionalAttributeStyle):
864         * html/HTMLTableCellElement.cpp:
865         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
866         * html/HTMLTableCellElement.h:
867         (HTMLTableCellElement):
868         * html/HTMLTableColElement.cpp:
869         (WebCore::HTMLTableColElement::additionalAttributeStyle):
870         * html/HTMLTableColElement.h:
871         (HTMLTableColElement):
872         * html/HTMLTableElement.cpp:
873         (WebCore::HTMLTableElement::parseMappedAttribute):
874         (WebCore::leakBorderStyle):
875         (WebCore::HTMLTableElement::additionalAttributeStyle):
876         (WebCore::HTMLTableElement::createSharedCellStyle):
877         (WebCore::HTMLTableElement::additionalCellStyle):
878         (WebCore::leakGroupBorderStyle):
879         (WebCore::HTMLTableElement::additionalGroupStyle):
880         * html/HTMLTableElement.h:
881         (HTMLTableElement):
882         * html/HTMLTableSectionElement.cpp:
883         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
884         * html/HTMLTableSectionElement.h:
885         (HTMLTableSectionElement):
886
887             Instead of collecting additional style decls into a vector, switch over to a
888             "PassRefPtr<CSSMutableStyleDeclaration> additionalAttributeStyle()".
889             All style declarations that can be reused for all elements are cached at the return
890             sites, leaving only the shared table cell style which we cache on HTMLTableElement.
891             Also removed the canHaveAdditionalAttributeStyleDecls() virtual since the default
892             additionalAttributeStyle() will just return 0.
893
894         * css/CSSStyleSelector.cpp:
895         (WebCore::CSSStyleSelector::matchAllRules):
896
897             Updated for the new additional style conventions.
898
899 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
900
901         Web Inspector: Scripts panel editor container should be based on UISourceCode objects, not SourceFrames.
902         https://bugs.webkit.org/show_bug.cgi?id=77098
903
904         Reviewed by Pavel Feldman.
905
906         * inspector/front-end/ScriptsNavigator.js:
907         * inspector/front-end/ScriptsPanel.js:
908         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
909         (WebInspector.ScriptsPanel.prototype.get visibleView):
910         (WebInspector.ScriptsPanel.prototype.viewForFile):
911         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
912         (WebInspector.EditorContainer):
913         (WebInspector.EditorContainer.prototype.get visibleView):
914         (WebInspector.EditorContainer.prototype.showFile):
915         (WebInspector.EditorContainer.prototype.setFileIsDirty):
916         (WebInspector.EditorContainer.prototype.replaceFiles):
917         (WebInspector.EditorContainer.prototype.reset):
918         (WebInspector.EditorContainerDelegate):
919         (WebInspector.EditorContainerDelegate.prototype.viewForFile):
920         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
921         (WebInspector.ScriptsPanel.SingleFileEditorContainer):
922         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get visibleView):
923         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
924         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setFileIsDirty):
925         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceFiles):
926         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
927         * inspector/front-end/TabbedEditorContainer.js:
928         (WebInspector.TabbedEditorContainer):
929         (WebInspector.TabbedEditorContainer.prototype.get visibleView):
930         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
931         (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
932         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
933         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
934         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
935         (WebInspector.TabbedEditorContainer.prototype.replaceFiles.get if):
936         (WebInspector.TabbedEditorContainer.prototype.replaceFiles):
937         (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty.get if):
938         (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty):
939         (WebInspector.TabbedEditorContainer.prototype.reset):
940
941 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
942
943         SVG + <object> tests are flakey
944         https://bugs.webkit.org/show_bug.cgi?id=77099
945
946         Reviewed by Andreas Kling.
947
948         Bug 76447 changed the way RenderSVGRoot figures out its size. Previously RenderSVGRoot directly called out to the
949         ownerRenderer (RenderEmbeddedObject) to compute its replaced size when embedded through eg. <object> element,
950         which was quite hacky. It now relies on the ownerRenderers availableLogicalWidth/Height to be correctly set,
951         which requires that the ownerRenderer is always laid out before the RenderSVGRoot and not the other way round.
952
953         This is the source of current flakiness bugs.
954
955         In trunk FrameView contains several special hacks, to layout the ownerRenderers view, after the RenderSVGRoots view
956         finished layout. This worked without flakiness as RenderSVGRoot used to directly call computeReplacedLogicalWidth/Height
957         on the ownerRenderer, which is now gone. Fortunately we can keep the new design, and can remove all hacks out of
958         RenderSVGRoot/FrameView, if we can guarantee that the ownerRenderer FrameView is laid out before the RenderSVGRoot FrameView.
959
960         This is a much less error-prone approach as the previous one. This lets us run nrwt --tolerance 0 -p svg -g again,
961         without 100% reproducable failing svg/wicd tests. (There's still one unrelated error, before guard malloc mode passes fully).
962
963         Test: svg/wicd/sizing-flakiness.html (Adjusted version of the rightsizing test, made to fail with trunk w/o this patch.)
964
965         * page/FrameView.cpp: Remove m_inLayoutParentView.
966         (WebCore::FrameView::FrameView): Remove no longer needed m_inLayoutParentView.
967         (WebCore::FrameView::forceLayoutParentViewIfNeeded): Simplify, no need to call updateWidgetPositions anymore, nor to clear/query flags in RenderSVGRoot.
968         (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() before laying out the embedded document, to guarantee the correct order.
969         * page/FrameView.h:
970         (FrameView): Remove m_inLayoutParentView.
971         * rendering/svg/RenderSVGRoot.cpp:
972         (WebCore::RenderSVGRoot::RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument.
973         (WebCore::resolveLengthAttributeForSVG): Remove outcommented code, that went in by accident.
974         (WebCore::RenderSVGRoot::layout): Remove m_needsSizeNegotiationWithHostDocument handling which is now incorrect and no longer needed.
975         * rendering/svg/RenderSVGRoot.h:
976         (RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument + accessors.
977
978 2012-01-23  Andreas Kling  <awesomekling@apple.com>
979
980         Make elements that don't have attributes smaller.
981         <http://webkit.org/b/76876>
982
983         Reviewed by Antti Koivisto.
984
985         Move the inline style declaration from StyledElement to NamedNodeMap, since having
986         an inline style declaration also implies having a style attribute on the element.
987         This saves one CPU word per element that has no attributes.
988
989         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
990         HTML5 spec at <http://whatwg.org/c>.
991
992         * dom/NamedNodeMap.cpp:
993         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
994         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
995         (WebCore::NamedNodeMap::createInlineStyleDecl):
996         * dom/NamedNodeMap.h:
997         (WebCore::NamedNodeMap::inlineStyleDecl):
998         * dom/StyledElement.cpp:
999         (WebCore::StyledElement::updateStyleAttribute):
1000         (WebCore::StyledElement::addSubresourceAttributeURLs):
1001         * dom/StyledElement.h:
1002         (WebCore::StyledElement::inlineStyleDecl):
1003         (WebCore::StyledElement::ensureInlineStyleDecl):
1004         (WebCore::StyledElement::destroyInlineStyleDecl):
1005
1006 2012-01-26  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1007
1008         [Qt] Use ICU if available
1009         https://bugs.webkit.org/show_bug.cgi?id=76821
1010
1011         Reviewed by Simon Hausmann.
1012
1013         Adding correct sources to a Qt 5 based build.
1014
1015         No new tests, it's just a build dependency change.
1016
1017         * Target.pri:
1018
1019 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1020
1021         Not reviewed. Fix mac build after r105988.
1022
1023         * WebCore.exp.in:
1024
1025 2012-01-26  NĂ¡ndor Huszka  <huszka.nandor@stud.u-szeged.hu>
1026
1027         [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
1028         https://bugs.webkit.org/show_bug.cgi?id=42545
1029
1030         Reviewed by Zoltan Herczeg.
1031
1032         No need for new tests, there is no behavior change.
1033
1034         Added a line to file which copies the forwarding headers.
1035
1036         * WebCore.vcproj/copyForwardingHeaders.cmd:
1037
1038 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1039
1040         Not reviewed. Fix Qt build after r105978.
1041
1042         * rendering/svg/RenderSVGResourceClipper.cpp: Add missing Frame/FrameView includes.
1043         * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
1044         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
1045         * rendering/svg/SVGRenderSupport.cpp: Ditto.
1046
1047 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1048
1049         Not reviewed. Fix non-AllInOne builds after r105978.
1050
1051         * rendering/svg/RenderSVGResource.cpp:
1052
1053 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
1054
1055         Unreviewed inspector closure compilation fix.
1056
1057         * inspector/front-end/externs.js:
1058         (WebInspector.closeDrawerView):
1059
1060 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1061
1062         Not reviewed. Fix release builds after r105978.
1063
1064         * rendering/svg/SVGInlineTextBox.cpp:
1065         (WebCore::SVGInlineTextBox::paintSelectionBackground): Remove unused variable.
1066
1067 2012-01-26  Kent Tamura  <tkent@chromium.org>
1068
1069         Unreviewed, rolling out r105968.
1070         http://trac.webkit.org/changeset/105968
1071         https://bugs.webkit.org/show_bug.cgi?id=76995
1072
1073         Incorrect behavior change
1074
1075         * html/HTMLInputElement.cpp:
1076         (WebCore::HTMLInputElement::setIndeterminate):
1077
1078 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1079
1080         crash in WebCore::RenderSVGContainer::paint
1081         https://bugs.webkit.org/show_bug.cgi?id=69714
1082
1083         Reviewed by Dirk Schulze.
1084
1085         When RenderSVGResourceClipper draws its children to a mask, it requires some special constraints:
1086         - fill-opacity/stroke-opacity/opacity forced to 1
1087         - masker/filter resources shouldn't be applied to the children
1088         - fill must be set to the initial fill paint server for all children (solid black)
1089         - stroke must be set to the initial stroke paint server for all children (none)
1090
1091         This was achieved before by mutating the style of the children, which made them need a relayout.
1092         SVGImageBufferTools:renderSubtreeToImageBuffer thus needed to layout the children, if needed, before painting.
1093
1094         This can be completly avoided, when changing RenderSVGResourceClipper to avoid style mutations.
1095         Introduce a new "PaintBehaviorRenderingSVGMask", and set the current FrameViews paintBehaviour to this
1096         state, before painting the subtree. This way we can detect that we're rendering a clip mask, without
1097         having to mutate the style of the children and without having to relayout.
1098
1099         We can now ASSERT(!item->needsLayout()) in renderSubtreeToImageBuffer.
1100
1101         Tests: svg/clip-path/clip-path-tspan-and-stroke.svg
1102                svg/custom/layout-loop.svg
1103
1104         * rendering/PaintPhase.h:
1105         * rendering/svg/RenderSVGResource.cpp:
1106         (WebCore::requestPaintingResource):
1107         * rendering/svg/RenderSVGResourceClipper.cpp:
1108         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
1109         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
1110         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1111         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1112         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1113         * rendering/svg/RenderSVGResourceClipper.h:
1114         * rendering/svg/RenderSVGResourceMasker.cpp:
1115         (WebCore::RenderSVGResourceMasker::applyResource):
1116         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
1117         * rendering/svg/RenderSVGResourceMasker.h:
1118         * rendering/svg/RenderSVGResourcePattern.cpp:
1119         (WebCore::RenderSVGResourcePattern::createTileImage):
1120         * rendering/svg/RenderSVGResourceSolidColor.cpp:
1121         (WebCore::RenderSVGResourceSolidColor::applyResource):
1122         * rendering/svg/SVGImageBufferTools.cpp:
1123         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
1124         * rendering/svg/SVGInlineTextBox.cpp:
1125         (WebCore::SVGInlineTextBox::paintSelectionBackground):
1126         (WebCore::SVGInlineTextBox::paint):
1127         * rendering/svg/SVGRenderSupport.cpp:
1128         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
1129
1130 2012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
1131
1132         Not reviewed. Try to fix Gtk build - JSShadowRoot.cpp can't be found, fix by looking for it in the derived sources.
1133
1134         * GNUmakefile.list.am:
1135
1136 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1137
1138         Web Inspector: Improve user experience of advanced search panel closing.
1139         https://bugs.webkit.org/show_bug.cgi?id=76983
1140
1141         Reviewed by Pavel Feldman.
1142
1143         Added close button to search panel.
1144         Esc now closes the panel even when search filed has focus.
1145
1146         * English.lproj/localizedStrings.js:
1147         * inspector/front-end/AdvancedSearchController.js:
1148         (WebInspector.AdvancedSearchController.prototype.close):
1149         (WebInspector.SearchView):
1150         (WebInspector.SearchView.prototype._onKeyDown):
1151         (WebInspector.SearchView.prototype._closeButtonPressed):
1152         * inspector/front-end/inspector.css:
1153         (.search-view .search-panel):
1154         (.search-view .search-panel button.search-close-button):
1155         * inspector/front-end/inspector.js:
1156         (WebInspector._escPressed):
1157         (WebInspector.closeDrawerView):
1158
1159 2012-01-26  Joe Thomas  <joethomas@motorola.com>
1160
1161         https://bugs.webkit.org/show_bug.cgi?id=76995.
1162         WebKit fails IETC :indeterminate and input type=radio test.
1163
1164         As per the HTML spec http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate,
1165         only checkbox input type should respect the indeterminate state.
1166         Removed the support for indeterminate state for radio input types.
1167
1168         Reviewed by Eric Seidel.
1169
1170         Modified the existing test cases.
1171
1172         * html/HTMLInputElement.cpp:
1173         (WebCore::HTMLInputElement::setIndeterminate): Indeterminate state is supported only for checkbox input type.
1174
1175 2012-01-25  Daniel Cheng  <dcheng@chromium.org>
1176
1177         [chromium] Fix ClipboardChromium::validateFilename to actually operate on extensions
1178         https://bugs.webkit.org/show_bug.cgi?id=76996
1179
1180         As it turns out, we were always calling validateFilename on a data object with an empty
1181         extension. Now we call it on an actual extension so that it's sanitized.
1182
1183         Reviewed by Tony Chang.
1184
1185         Unit test: webkit_unit_tests --gtest_filter=ClipboardChromium.*
1186
1187         * WebCore.gypi:
1188         * platform/chromium/ClipboardChromium.cpp:
1189         (WebCore::writeImageToDataObject):
1190         * platform/chromium/ClipboardChromium.h:
1191         (ClipboardChromium):
1192         * platform/chromium/ClipboardChromiumLinux.cpp: Removed.
1193         * platform/chromium/ClipboardChromiumPosix.cpp: Renamed from Source/WebCore/platform/chromium/ClipboardChromiumMac.cpp.
1194         (WebCore):
1195         (WebCore::isInvalidFileCharacter):
1196         (WebCore::ClipboardChromium::validateFilename):
1197         * platform/chromium/ClipboardChromiumWin.cpp:
1198         (WebCore):
1199         (WebCore::ClipboardChromium::validateFilename):
1200
1201 2012-01-25  James Robinson  <jamesr@chromium.org>
1202
1203         [chromium] Rollout r100751, this mechanism does not work and is very slow
1204         https://bugs.webkit.org/show_bug.cgi?id=77055
1205
1206         Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
1207         but it still triggers a very slow codepath and triggers races on some platforms.
1208
1209         * platform/PlatformScreen.h:
1210         (WebCore):
1211         * platform/chromium/PlatformScreenChromium.cpp:
1212         * platform/chromium/PlatformSupport.h:
1213         (PlatformSupport):
1214         ():
1215         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1216         (WebCore::CCSettings::CCSettings):
1217         (CCSettings):
1218         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1219         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1220
1221 2012-01-25  Mark Rowe  <mrowe@apple.com>
1222
1223         Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
1224         
1225         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105930>.
1226         (https://bugs.webkit.org/show_bug.cgi?id=75049)
1227
1228         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
1229         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
1230         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
1231
1232         * platform/KURL.h:
1233         (WebCore::KURL::innerURL):
1234
1235 2012-01-25  Eric Seidel  <eric@webkit.org>
1236
1237         Unreviewed, rolling out r105940.
1238         http://trac.webkit.org/changeset/105940
1239         https://bugs.webkit.org/show_bug.cgi?id=76095
1240
1241         Only half this change landed
1242
1243         * DerivedSources.cpp:
1244         * DerivedSources.make:
1245         * DerivedSources.pri:
1246
1247 2012-01-25  Mark Rowe  <mrowe@apple.com>
1248
1249         Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
1250
1251         <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
1252
1253         Reviewed by David Kilzer.
1254
1255         * Configurations/WebCore.xcconfig: Define NORMAL_WEBCORE_FRAMEWORKS_DIR, which contains
1256         the path where WebCore is normally installed. Update WEBCORE_FRAMEWORKS_DIR to point to
1257         the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
1258         NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
1259         are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
1260         directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
1261         based on the normal framework location. This prevents an incorrect install name from being
1262         used when installing in to the staged frameworks directory. Look for our other frameworks
1263         in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set.
1264
1265 2012-01-25  Eric Seidel  <eric@webkit.org>
1266
1267         "text" and "URL" legacy clipboard types should not be case sensitive
1268         https://bugs.webkit.org/show_bug.cgi?id=76947
1269
1270         Reviewed by Adam Barth.
1271
1272         This matches the HTML5 spec which says the first thing to do is to lowercase
1273         the type before comparing.
1274         I also removed the stripping of whitespace since that is not part of the modern spec (and no tests failed as a result of removal).
1275         Turns out we already had a test for case sensitivity, but it was disabled on Mac
1276         so I just re-enabled it and have added failing expectations for the parts
1277         of the test we still fail.
1278
1279         * platform/mac/ClipboardMac.mm:
1280         (WebCore::cocoaTypeFromHTMLClipboardType):
1281         (WebCore::ClipboardMac::getData):
1282
1283 2012-01-25  Eric Seidel  <eric@webkit.org>
1284
1285         HTMLIsIndexElement should not expose HTMLInputElement properties
1286         https://bugs.webkit.org/show_bug.cgi?id=76095
1287
1288         Reviewed by Adam Barth.
1289
1290         document.createElement("isindex") should produce an HTMLUnknownElement
1291         per the HTML5 spec.  The parser automagically translates <isindex> into
1292         a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
1293
1294         This patch just removes our support for HTMLIsIndexElement.  The parser
1295         support was already in.  Having support for HTMLIsIndexElement was causing
1296         one of the IE TestCenter tests to fail.
1297
1298         Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
1299
1300         * DerivedSources.cpp:
1301         * DerivedSources.make:
1302         * DerivedSources.pri:
1303         * GNUmakefile.list.am:
1304         * Target.pri:
1305         * WebCore.exp.in:
1306         * WebCore.gypi:
1307         * WebCore.order:
1308         * WebCore.vcproj/WebCore.vcproj:
1309         * WebCore.xcodeproj/project.pbxproj:
1310         * bindings/gobject/GNUmakefile.am:
1311         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
1312         (WebKit::createHTMLElementWrapper):
1313         * bindings/objc/DOM.mm:
1314         (WebCore::createElementClassMap):
1315         * bindings/objc/DOMHTML.h:
1316         * bindings/objc/PublicDOMInterfaces.h:
1317         * html/HTMLElementsAllInOne.cpp:
1318         * html/HTMLIsIndexElement.cpp: Removed.
1319         * html/HTMLIsIndexElement.h: Removed.
1320         * html/HTMLIsIndexElement.idl: Removed.
1321         * html/HTMLTagNames.in:
1322         * page/DOMWindow.idl:
1323
1324 2012-01-25  Eric Seidel  <eric@webkit.org>
1325
1326         HTMLEmbedObject should match HTMLObjectElement by stopping any load when it is removed from beforeload
1327         https://bugs.webkit.org/show_bug.cgi?id=74360
1328
1329         Reviewed by Adam Barth.
1330
1331         Neither of these !renderer() checks is strictly necessary since requestObject()
1332         makes the same check.  However requestObject() asserts before it makes that
1333         check, so it makes sense to add the check to HTMLEmebedObject instead of
1334         removing the check from HTMLObjectElement.
1335         I also moved the protect RefPtr to before the beforeload dispatch since
1336         beforeload can remove the whole DOM element (as this test does) and
1337         thus I beleive the renderer() check could be checking free'd memory.
1338
1339         Updated fast/dom/beforeload/remove-flash-in-beforeload-listener.html to test
1340         <embed> as well as <object>.
1341
1342         * html/HTMLEmbedElement.cpp:
1343         (WebCore::HTMLEmbedElement::updateWidget):
1344         * html/HTMLObjectElement.cpp:
1345         (WebCore::HTMLObjectElement::updateWidget):
1346
1347 2012-01-25  Kent Tamura  <tkent@chromium.org>
1348
1349         Move focus/blur handling code of HTMLInputElement to InputType
1350         https://bugs.webkit.org/show_bug.cgi?id=76984
1351
1352         Reviewed by Dimitri Glazkov.
1353
1354         No new tests. Just a refactoring.
1355
1356         * html/HTMLInputElement.cpp:
1357         (WebCore::HTMLInputElement::handleFocusEvent):
1358         Move the code to PasswordInputType::handleFocusEvent().
1359         (WebCore::HTMLInputElement::handleBlurEvent):
1360         Move the code to TextFieldInputType::handleBlurEvent() and
1361         PasswordInputType::handleBlurEvent().
1362         * html/InputType.cpp:
1363         (WebCore::InputType::handleFocusEvent):
1364         * html/InputType.h:
1365         (InputType): Add handleFocusEvent().
1366         * html/PasswordInputType.cpp:
1367         (WebCore::PasswordInputType::handleFocusEvent):
1368         Move the code for type=password from HTMLInputElement::handleFocusEvent().
1369         (WebCore::PasswordInputType::handleBlurEvent):
1370         Move the code for tyep=password from HTMLInputElement::handleBlurEvent().
1371         * html/PasswordInputType.h:
1372         (PasswordInputType): Add handleFocusEvent() and handleBlurEvent().
1373         * html/TextFieldInputType.cpp:
1374         (WebCore::TextFieldInputType::handleBlurEvent):
1375         Move the code for text field types from HTMLInputElement::handleBlurEvent().
1376         * html/TextFieldInputType.h:
1377         (TextFieldInputType): Add handleBlurEvent().
1378
1379 2012-01-25  Adam Barth  <abarth@webkit.org>
1380
1381         Node.cpp shouldn't duplicate QualifiedName parsing logic
1382         https://bugs.webkit.org/show_bug.cgi?id=76672
1383
1384         Reviewed by Eric Seidel.
1385
1386         I added this code out of ignorance that this logic already existed in
1387         Document.cpp.  In a future patch, we should consider moving it to
1388         QualifiedName.cpp.
1389
1390         * dom/Node.cpp:
1391         (WebCore):
1392         (WebCore::Node::checkSetPrefix):
1393
1394 2012-01-25  Eric Seidel  <eric@webkit.org>
1395
1396         Share more code between updateWidget implementations in HTMLEmbedElement and HTMLObjectElement
1397         https://bugs.webkit.org/show_bug.cgi?id=74340
1398
1399         Reviewed by Adam Barth.
1400
1401         I'm preparing to unify these two methods, and starting by sharing more code between them.
1402
1403         * html/HTMLEmbedElement.cpp:
1404         (WebCore::HTMLEmbedElement::updateWidget):
1405         * html/HTMLObjectElement.cpp:
1406         (WebCore::HTMLObjectElement::updateWidget):
1407         * html/HTMLPlugInElement.cpp:
1408         (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent):
1409         * html/HTMLPlugInElement.h:
1410
1411 2012-01-25  Eric Uhrhane  <ericu@chromium.org>
1412
1413         Add full support for filesystem URLs.
1414         https://bugs.webkit.org/show_bug.cgi?id=75049
1415
1416         Reviewed by Adam Barth.
1417
1418         No new tests; existing layout tests cover the basic functionality, and
1419         the new functionality won't be there until Chromium adds it.  This patch
1420         merely enables that, without changing behavior.
1421
1422         * fileapi/EntryBase.cpp:
1423         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
1424
1425         * page/SecurityOrigin.cpp:
1426         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
1427
1428         * platform/KURL.h:
1429         (WebCore::KURL::innerURL): Add innerURL member.
1430
1431         * platform/KURLGoogle.cpp:
1432         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
1433         (WebCore::KURLGooglePrivate::operator=):
1434         Add copy constructor and operator=, which are now needed since
1435         m_innerURL needs special handling.
1436         (WebCore::KURLGooglePrivate::setUtf8):
1437         (WebCore::KURLGooglePrivate::setAscii):
1438         Add calls to initInnerURL.
1439         (WebCore::KURLGooglePrivate::initInnerURL):
1440         Add method to init/copy m_innerURL.
1441         (WebCore::KURLGooglePrivate::copyTo):
1442         Handle m_innerURL during copies.
1443         (WebCore::encodeWithURLEscapeSequences):
1444         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
1445
1446         * platform/KURLGooglePrivate.h:
1447         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
1448
1449 2012-01-25  Daniel Cheng  <dcheng@chromium.org>
1450
1451         [chromium] Refactor Clipboard invalidate for DataTransferItem/DataTransferItemList into a wrapper
1452         https://bugs.webkit.org/show_bug.cgi?id=76993
1453
1454         We want to unify the backing data store for ClipboardChromium and DataTransferItems. For
1455         that, we want use a similar representation to DataTransferItem list inside
1456         ChromiumDataObject.  However, since ChromiumDataObject should be valid in scopes where
1457         Clipboard is not (e.g. default drag processing), we need to separate the clipboard
1458         invalidation logic into a wrapper class.
1459
1460         Reviewed by Tony Chang.
1461
1462         Covered by existing tests.
1463
1464         * platform/chromium/ClipboardChromium.cpp:
1465         ():
1466         (WebCore::ClipboardChromium::items):
1467         * platform/chromium/DataTransferItemChromium.cpp:
1468         (WebCore::DataTransferItemChromium::getAsString):
1469         * platform/chromium/DataTransferItemListChromium.cpp:
1470         (WebCore::DataTransferItemListChromium::length):
1471         (WebCore::DataTransferItemListChromium::item):
1472         (WebCore::DataTransferItemListChromium::deleteItem):
1473         (WebCore::DataTransferItemListChromium::clear):
1474         (WebCore::DataTransferItemListChromium::add):
1475
1476 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
1477
1478         [Texmap] Divide TextureMapperNode.cpp to 3 files.
1479         https://bugs.webkit.org/show_bug.cgi?id=76660
1480
1481          Reviewed by Kenneth Rohde Christiansen.
1482
1483          Split the animation part of TextureMapperNode out to a separate file, called
1484          TextureMapperAnimation.
1485          Provide a clean interface for that class, that allows separating the internals of the scene
1486          painting from the internals of the animation interpolation.
1487
1488          No new tests. Existing animation tests cover this.
1489
1490          * GNUmakefile.list.am:
1491         * Target.pri:
1492         * WebCore.gypi:
1493         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1494         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1495         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
1496         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
1497         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1498         (GraphicsLayerTextureMapper):
1499         * platform/graphics/texmap/TextureMapperNode.cpp:
1500         (WebCore::TextureMapperNode::syncCompositingStateSelf):
1501         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
1502         (WebCore::TextureMapperNode::syncAnimations):
1503         (WebCore::TextureMapperNode::syncAnimationsRecursively):
1504         (WebCore::TextureMapperNode::syncCompositingState):
1505         * platform/graphics/texmap/TextureMapperNode.h:
1506         (TextureMapperNode):
1507
1508 2012-01-25  Hajime Morita  <morrita@google.com>
1509
1510         ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
1511         https://bugs.webkit.org/show_bug.cgi?id=76863
1512
1513         Reviewed by Dimitri Glazkov.
1514
1515         Added a feature flag.
1516
1517         No tests, it's a behid flag configuration change.
1518
1519         * CMakeLists.txt:
1520         * Configurations/FeatureDefines.xcconfig:
1521         * DerivedSources.cpp:
1522         * DerivedSources.make:
1523         * DerivedSources.pri:
1524         * GNUmakefile.am:
1525         * GNUmakefile.list.am:
1526         * WebCore.vcproj/WebCore.vcproj:
1527         * WebCore.xcodeproj/project.pbxproj:
1528
1529 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1530
1531         Unreviewed, rolling out r105906.
1532         http://trac.webkit.org/changeset/105906
1533         https://bugs.webkit.org/show_bug.cgi?id=77038
1534
1535         Breaks compositing/visibility/layer-visible-content.html and
1536         compositing/visibility/visibility-image-layers-dynamic.html
1537         (Requested by leviw|gardening on #webkit).
1538
1539         * rendering/RenderLayerBacking.cpp:
1540         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1541
1542 2012-01-25  Mike Fenton  <mifenton@rim.com>
1543
1544         Page Up and Page Down mappings are backwards on BlackBerry port.
1545         https://bugs.webkit.org/show_bug.cgi?id=77021
1546
1547         Fix Page Up and Page Down mappings as they are reversed.
1548
1549         Reviewed by Antonio Gomes.
1550
1551         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1552         (WebCore::keyIdentifierForBlackBerryCharacter):
1553         (WebCore::windowsKeyCodeForBlackBerryCharacter):
1554
1555 2012-01-25  Hajime Morita  <morrita@google.com>
1556
1557         <content> should create HTMLContentElement object
1558         https://bugs.webkit.org/show_bug.cgi?id=76439
1559
1560         Reviewed by Dimitri Glazkov.
1561
1562         - Added HTMLContentElement.idl which has @select attribute.
1563         - Added "content" element.
1564
1565         Both are behind ENABLE_SHADOW_DOM.
1566
1567         Tests: fast/dom/shadow/content-element-api.html
1568                fast/dom/shadow/content-element-outside-shadow.html
1569
1570         * CMakeLists.txt:
1571         * DerivedSources.cpp:
1572         * DerivedSources.make:
1573         * DerivedSources.pri:
1574         * GNUmakefile.list.am:
1575         * WebCore.gypi:
1576         * WebCore.vcproj/WebCore.vcproj:
1577         * WebCore.xcodeproj/project.pbxproj:
1578         * html/HTMLTagNames.in:
1579         * html/shadow/HTMLContentElement.cpp:
1580         (WebCore::contentTagName):
1581         (WebCore):
1582         (WebCore::HTMLContentElement::create):
1583         * html/shadow/HTMLContentElement.h:
1584         (HTMLContentElement):
1585         * html/shadow/HTMLContentElement.idl: Added.
1586
1587 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1588
1589         Unreviewed, rolling out r105828.
1590         http://trac.webkit.org/changeset/105828
1591         https://bugs.webkit.org/show_bug.cgi?id=77036
1592
1593         Caused many crashes in ClusterFuzz and PerformanceTests
1594         (Requested by inferno-sec on #webkit).
1595
1596         * rendering/RenderBlock.cpp:
1597         (WebCore::RenderBlock::removeChild):
1598         * rendering/RenderBlock.h:
1599         (RenderBlock):
1600
1601 2012-01-25  Shawn Singh  <shawnsingh@chromium.org>
1602
1603         Fix the semantics of passing contentsVisible flag to GraphicsLayers
1604         https://bugs.webkit.org/show_bug.cgi?id=76975
1605
1606         Reviewed by Simon Fraser.
1607
1608         This patch is covered by existing tests, in particular
1609         compositing/visibility/layer-visible-content.html; its
1610         expectations are rebaselined.
1611
1612         * rendering/RenderLayerBacking.cpp:
1613         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1614
1615 2012-01-25  Tony Chang  <tony@chromium.org>
1616
1617         support overflow:auto and overflow:scroll in new flexbox
1618         https://bugs.webkit.org/show_bug.cgi?id=76953
1619
1620         Reviewed by David Hyatt.
1621
1622         Tests: css3/flexbox/flexbox-overflow-auto-expected.html
1623                css3/flexbox/flexbox-overflow-auto.html
1624
1625         * rendering/RenderBox.cpp:
1626         (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
1627         * rendering/RenderFlexibleBox.cpp:
1628         (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
1629         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
1630         (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
1631         * rendering/RenderFlexibleBox.h:
1632         (RenderFlexibleBox): Make isHorizontalFlow public.
1633         * rendering/style/RenderStyle.h:
1634         (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.
1635
1636 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1637
1638         Unreviewed, rolling out r105885.
1639         http://trac.webkit.org/changeset/105885
1640         https://bugs.webkit.org/show_bug.cgi?id=77027
1641
1642         Causes assertions in Position. (Requested by leviw|gardening
1643         on #webkit).
1644
1645         * dom/Position.cpp:
1646         (WebCore::Position::upstream):
1647         (WebCore::Position::downstream):
1648         * dom/PositionIterator.cpp:
1649         * dom/PositionIterator.h:
1650         (PositionIterator):
1651         * editing/htmlediting.cpp:
1652         (WebCore::nextCandidate):
1653         (WebCore::nextVisuallyDistinctCandidate):
1654         (WebCore::previousCandidate):
1655         (WebCore::previousVisuallyDistinctCandidate):
1656
1657 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
1658
1659         border-image should be implemented like a shorthand.
1660         https://bugs.webkit.org/show_bug.cgi?id=76697
1661
1662         Reviewed by Tony Chang.
1663
1664         Make sure that border-image is implemented like a shorthand : when we parse
1665         it we set the correct value to its longhands. The code was not doing it
1666         previously as we inherited the old implementation of -webkit-border-image which
1667         is not a shorthand but a regular property. It will then increase
1668         style.length for a given element as we now expand the longhands.
1669         The behavior stays the same for -webkit-border-image.
1670
1671         Test: fast/css/border-image-style-length.html
1672
1673         * css/CSSParser.cpp:
1674         (WebCore::CSSParser::parseValue):
1675         (WebCore::BorderImageParseContext::BorderImageParseContext):
1676         (WebCore::BorderImageParseContext::commitWebKitBorderImage):
1677         (WebCore::BorderImageParseContext::commitBorderImage):
1678         (BorderImageParseContext):
1679         (WebCore::BorderImageParseContext::commitBorderImageProperty):
1680         (WebCore::CSSParser::parseBorderImage):
1681         * css/CSSParser.h:
1682         ():
1683         * css/CSSPropertyLonghand.cpp:
1684         (WebCore::initShorthandMap):
1685         * css/CSSStyleApplyProperty.cpp:
1686         ():
1687         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1688         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1689         (WebCore::ApplyPropertyExpanding::applyValue):
1690         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
1691         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1692         * css/CSSStyleSelector.cpp:
1693         (WebCore::CSSStyleSelector::mapNinePieceImage):
1694         * page/animation/AnimationBase.cpp:
1695         (WebCore::AnimationBase::ensurePropertyMap):
1696         (WebCore::addShorthandProperties):
1697         * rendering/style/RenderStyle.h:
1698         (WebCore::RenderStyleBitfields::borderImageSlices):
1699         (WebCore::RenderStyleBitfields::borderImageWidth):
1700         (WebCore::RenderStyleBitfields::borderImageOutset):
1701         (RenderStyleBitfields):
1702         (WebCore::RenderStyleBitfields::setBorderImageSlices):
1703         (WebCore::RenderStyleBitfields::setBorderImageWidth):
1704         (WebCore::RenderStyleBitfields::setBorderImageOutset):
1705
1706 2012-01-23  MORITA Hajime  <morrita@google.com>
1707
1708         [Refactoring][Internals] Should have InternalSettings
1709         https://bugs.webkit.org/show_bug.cgi?id=76424
1710
1711         Reviewed by Kent Tamura.
1712
1713         This change extracted setting related method from window.internals
1714         to window.internals.settings object.
1715         - Invoked Internals::reset() in the constructor to employ Document object.
1716         - Moved setting and configuration related Internals methods to
1717           newly introduced InternalSettings object.
1718
1719         No new tests, covered by existing tests.
1720
1721         * DerivedSources.make:
1722         * DerivedSources.pri:
1723         * GNUmakefile.am:
1724         * GNUmakefile.list.am:
1725         * Target.pri:
1726         * WebCore.gyp/WebCore.gyp:
1727         * WebCore.gypi:
1728         * WebCore.vcproj/WebCoreTestSupport.vcproj:
1729         * WebCore.xcodeproj/project.pbxproj:
1730         * testing/InternalSettings.cpp: Added.
1731         (WebCore::InternalSettings::create):
1732         (WebCore::InternalSettings::~InternalSettings):
1733         (WebCore::InternalSettings::InternalSettings):
1734         (WebCore::InternalSettings::settings):
1735         (WebCore::InternalSettings::document):
1736         (WebCore::InternalSettings::page):
1737         (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
1738         (WebCore::InternalSettings::setForceCompositingMode):
1739         (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
1740         (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
1741         (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
1742         (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
1743         (WebCore::InternalSettings::setEnableScrollAnimator):
1744         (WebCore::InternalSettings::setZoomAnimatorTransform):
1745         (WebCore::InternalSettings::setZoomParameters):
1746         (WebCore::InternalSettings::setMockScrollbarsEnabled):
1747         (WebCore::InternalSettings::setPasswordEchoEnabled):
1748         (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
1749         (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
1750         (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
1751         (WebCore::InternalSettings::unifiedTextCheckingEnabled):
1752         (WebCore::InternalSettings::pageScaleFactor):
1753         (WebCore::InternalSettings::setPageScaleFactor):
1754         (WebCore::InternalSettings::setPerTileDrawingEnabled):
1755         * testing/InternalSettings.h: Added.
1756         * testing/InternalSettings.idl: Added.
1757         * testing/Internals.cpp:
1758         (WebCore::Internals::create):
1759         (WebCore::Internals::Internals):
1760         (WebCore::Internals::reset):
1761         * testing/Internals.h:
1762         (WebCore::Internals::settings):
1763         * testing/Internals.idl:
1764         * testing/js/WebCoreTestSupport.cpp:
1765         (WebCoreTestSupport::injectInternalsObject):
1766         * testing/v8/WebCoreTestSupport.cpp:
1767         (WebCoreTestSupport::injectInternalsObject):
1768
1769 2012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
1770
1771         border-image should not crash when the source is not specified.
1772         https://bugs.webkit.org/show_bug.cgi?id=77001
1773
1774         Reviewed by Andreas Kling.
1775
1776         This bug was introduced by r105502 but was exposed by r105738.
1777         The image-source of a border-image is not mandatory therefore it
1778         may happen that you have no value set for it. WebCore::createBorderImageValue
1779         was wrongly assuming that the image is always set. This problem also required a bit
1780         of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
1781         the image could be optional (just like other properties).
1782
1783         Test: fast/css/border-image-null-image-crash.html
1784
1785         * css/CSSBorderImage.cpp:
1786         (WebCore::createBorderImageValue):
1787         * css/CSSStyleSelector.cpp:
1788         (WebCore::CSSStyleSelector::mapNinePieceImage):
1789
1790 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1791
1792         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
1793         https://bugs.webkit.org/show_bug.cgi?id=76914
1794
1795         Reviewed by Simon Hausmann.
1796
1797         Implement highlighting of dom nodes with a rounded rect, respecting
1798         the color of -webkit-tap-highlight-color and any transform applied
1799         to the element.
1800
1801         Tested with manual test.
1802
1803         * Target.pri:
1804         * page/GestureTapHighlighter.cpp: Added.
1805         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
1806         * page/GestureTapHighlighter.h: Added.
1807
1808 2012-01-25  Joshua Bell  <jsbell@chromium.org>
1809
1810         IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
1811         https://bugs.webkit.org/show_bug.cgi?id=76487
1812
1813         Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
1814         if there is a key generator (autoIncrement) and the path yields a value and the value
1815         is not a valid key; raise an error if any of the index key paths yield a value which
1816         is not a valid key.
1817
1818         Reviewed by Tony Chang.
1819
1820         Tests: storage/indexeddb/keypath-edges.html
1821                storage/indexeddb/objectstore-basics.html
1822
1823         * storage/IDBObjectStoreBackendImpl.cpp:
1824         (WebCore::IDBObjectStoreBackendImpl::put):
1825
1826 2012-01-25  Yong Li  <yoli@rim.com>
1827
1828         https://bugs.webkit.org/show_bug.cgi?id=65377
1829         Skip the entire node when it is right to do so, instead of stepping
1830         through every character, so we save CPU time on checking every position
1831         unnecessarily.
1832
1833         Reviewed by Darin Adler.
1834
1835         Test: perf/selection-skip-hidden-node.html
1836
1837         * dom/Position.cpp:
1838         (WebCore::Position::upstream):
1839         (WebCore::Position::downstream):
1840         * dom/PositionIterator.cpp:
1841         (WebCore::PositionIterator::moveToLeafNodeStart):
1842         (WebCore::PositionIterator::moveToLeafNodeEnd):
1843         * dom/PositionIterator.h:
1844         * editing/htmlediting.cpp:
1845         (WebCore::nextCandidate):
1846         (WebCore::nextVisuallyDistinctCandidate):
1847         (WebCore::previousCandidate):
1848         (WebCore::previousVisuallyDistinctCandidate):
1849
1850 2012-01-25  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1851
1852         Remove unnecessary member variable from PluginView.
1853         https://bugs.webkit.org/show_bug.cgi?id=76909
1854
1855         Reviewed by Adam Roben.
1856
1857         No new tests needed.
1858
1859         * plugins/PluginView.cpp:
1860         (WebCore::PluginView::getURLNotify):
1861         (WebCore::PluginView::getURL):
1862         (WebCore::PluginView::PluginView):
1863         (WebCore::PluginView::handlePost):
1864         (WebCore::PluginView::getValueForURL):
1865         (WebCore::PluginView::setValueForURL):
1866         * plugins/PluginView.h:
1867
1868 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
1869
1870         [Qt] Build fix when using force_static_libs_as_shared
1871         https://bugs.webkit.org/show_bug.cgi?id=76832
1872
1873         Reviewed by Simon Hausmann.
1874
1875         Add a dependency on QtWidgets, when compiling against Qt5.
1876
1877         No new tests. This is a build fix.
1878
1879         * Target.pri:
1880
1881 2012-01-25  Sami Kyostila  <skyostil@chromium.org>
1882
1883         Clipping of render layer boundaries does not take page scale into account
1884         https://bugs.webkit.org/show_bug.cgi?id=76850
1885
1886         Reviewed by Simon Fraser.
1887
1888         When inserting render layers into the compositor's overlap map, the
1889         layer boundaries are clipped against any potential parent clip rects.
1890         The clip rects are given in CSS coordinates, while the render layer
1891         boundaries are in scaled CSS coordinates, so the result is incorrect.
1892         This patch scales the clip rects before calculating the intersection.
1893
1894         Test: compositing/overflow/overflow-scaled-descendant-overlapping.html
1895
1896         * rendering/RenderLayerCompositor.cpp:
1897         (WebCore::RenderLayerCompositor::addToOverlapMap):
1898
1899 2012-01-25  Stephen Chenney  <schenney@chromium.org>
1900
1901         Linecaps wrong for zero length lines
1902         https://bugs.webkit.org/show_bug.cgi?id=71820
1903
1904         Reviewed by Nikolas Zimmermann.
1905
1906         Total reworking of the method used to draw zero-length linecaps for
1907         SVG. This patch works for all zero length sub-paths.
1908
1909         Tests: svg/stroke/zero-length-path-linecap-rendering.svg
1910                svg/stroke/zero-length-subpaths-linecap-rendering.svg
1911
1912         * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
1913           new implementation and clarify code.
1914         (WebCore::RenderSVGShape::createShape):
1915         (WebCore::RenderSVGShape::strokeContains):
1916         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
1917         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
1918         (WebCore::RenderSVGShape::zeroLengthLinecapPath):
1919         (WebCore::RenderSVGShape::nonScalingStrokePath):
1920         (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
1921         (WebCore::RenderSVGShape::fillShape):
1922         (WebCore::RenderSVGShape::strokePath):
1923         (WebCore::RenderSVGShape::fillAndStrokePath):
1924         (WebCore::RenderSVGShape::updateCachedBoundaries):
1925         (WebCore::RenderSVGShape::processZeroLengthSubpaths):
1926         * rendering/svg/RenderSVGShape.h: Declarations for new methods.
1927         * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
1928         * svg/SVGPathBuilder.h: Fix typos
1929         * svg/SVGPathConsumer.h: Fix typos
1930         * svg/SVGPathSegListBuilder.h: Fix typos
1931         * svg/SVGPathTraversalStateBuilder.h: Fix typos
1932
1933 2012-01-23  Yury Semikhatsky  <yurys@chromium.org>
1934
1935         Web Inspector: show memory counter graphs in timeline panel
1936         https://bugs.webkit.org/show_bug.cgi?id=76843
1937
1938         Timeline panel is extended with several graphs depicting total node count,
1939         number of DOM groups and event listeners. This feature is hidden behind
1940         experimental setting.
1941
1942         Reviewed by Pavel Feldman.
1943
1944         * English.lproj/localizedStrings.js:
1945         * inspector/Inspector.json:
1946         * inspector/InspectorController.cpp:
1947         (WebCore::InspectorController::InspectorController):
1948         * inspector/InspectorTimelineAgent.cpp:
1949         (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
1950         (WebCore::InspectorTimelineAgent::didCallFunction):
1951         (WebCore::InspectorTimelineAgent::didDispatchEvent):
1952         (WebCore::InspectorTimelineAgent::didWriteHTML):
1953         (WebCore::InspectorTimelineAgent::didFireTimer):
1954         (WebCore::InspectorTimelineAgent::didEvaluateScript):
1955         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1956         (WebCore::InspectorTimelineAgent::collectDomCounters):
1957         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1958         * inspector/InspectorTimelineAgent.h:
1959         (WebCore::InspectorTimelineAgent::create):
1960         * inspector/TimelineRecordFactory.cpp:
1961         * inspector/front-end/Settings.js:
1962         (WebInspector.ExperimentsSettings):
1963         * inspector/front-end/TimelinePanel.js:
1964         (WebInspector.TimelinePanel):
1965         (WebInspector.MemoryStatistics):
1966         (WebInspector.MemoryStatistics.prototype.setTopPosition):
1967         (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
1968         (WebInspector.MemoryStatistics.prototype._sidebarResized):
1969         (WebInspector.MemoryStatistics.prototype._updateSize):
1970         (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
1971         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
1972         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1973         (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
1974         (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
1975         (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
1976         (WebInspector.MemoryStatistics.prototype._draw):
1977         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
1978         (WebInspector.MemoryStatistics.prototype._onMouseOver):
1979         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1980         (WebInspector.MemoryStatistics.prototype.visible):
1981         (WebInspector.MemoryStatistics.prototype.show):
1982         (WebInspector.MemoryStatistics.prototype.refresh):
1983         (WebInspector.MemoryStatistics.prototype.hide):
1984         (WebInspector.MemoryStatistics.prototype._setVerticalClip):
1985         (WebInspector.MemoryStatistics.prototype._calculateXValues):
1986         (WebInspector.MemoryStatistics.prototype._drawPolyline):
1987         (WebInspector.MemoryStatistics.prototype._drawBottomBound):
1988         (WebInspector.MemoryStatistics.prototype._clear):
1989         (WebInspector.TimelinePanel.prototype._startSplitterDragging):
1990         (WebInspector.TimelinePanel.prototype._splitterDragging):
1991         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
1992         (WebInspector.TimelinePanel.prototype._setSplitterPosition):
1993         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1994         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1995         (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
1996         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
1997         (WebInspector.TimelinePanel.prototype.sidebarResized):
1998         (WebInspector.TimelinePanel.prototype._refresh):
1999         * inspector/front-end/timelinePanel.css:
2000         (#timeline-memory-splitter):
2001         (#memory-counters-graph):
2002         (#memory-graphs-container):
2003         (#memory-graphs-container .split-view-contents):
2004         (.timeline-marker):
2005         (.memory-counter-sidebar-info):
2006         (.memory-counter-sidebar-info.bottom-border-visible):
2007
2008 2012-01-25  Joseph Pecoraro  <pecoraro@apple.com>
2009
2010         <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub
2011
2012         Reviewed by Pavel Feldman.
2013
2014         * inspector/front-end/InspectorFrontendHostStub.js:
2015
2016 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
2017
2018         Unreviewed inspector style fix.
2019
2020         * inspector/front-end/tabbedPane.css:
2021         (.tabbed-pane-header-tab-close-button):
2022         (select.tabbed-pane-header-tabs-drop-down-select):
2023
2024 2012-01-25  Pablo Flouret  <pablof@motorola.com>
2025
2026         Fix incorrect behavior in HTMLCollection.prototype.item().
2027         https://bugs.webkit.org/show_bug.cgi?id=74468
2028
2029         Reviewed by Adam Barth.
2030
2031         HTMLCollection.prototype.item("someString") was falling back to
2032         .namedItem("someString"), which is wrong per spec. Also align the
2033         handling of various other types of objects passed as the argument with
2034         the spec and the rest of the browsers.
2035
2036         Test: fast/dom/collection-item.html
2037
2038         * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
2039         * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
2040         * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.
2041
2042 2012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2043
2044         Unreviewed, rolling out r105858.
2045         http://trac.webkit.org/changeset/105858
2046         https://bugs.webkit.org/show_bug.cgi?id=77004
2047
2048         It made many tests crash on Qt (Requested by Ossy on #webkit).
2049
2050         * GNUmakefile.list.am:
2051         * Target.pri:
2052         * WebCore.gypi:
2053         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2054         (WebCore::GraphicsLayerTextureMapper::addAnimation):
2055         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
2056         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
2057         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2058         (GraphicsLayerTextureMapper):
2059         * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
2060         * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
2061         * platform/graphics/texmap/TextureMapperNode.cpp:
2062         (WebCore::TextureMapperNode::syncCompositingStateSelf):
2063         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
2064         (WebCore::normalizedAnimationValue):
2065         (WebCore):
2066         (WebCore::TextureMapperNode::applyOpacityAnimation):
2067         (WebCore::solveEpsilon):
2068         (WebCore::solveCubicBezierFunction):
2069         (WebCore::solveStepsFunction):
2070         (WebCore::applyTimingFunction):
2071         (WebCore::TextureMapperNode::applyTransformAnimation):
2072         (WebCore::TextureMapperNode::applyAnimationFrame):
2073         (WebCore::TextureMapperNode::applyAnimation):
2074         (WebCore::TextureMapperNode::hasOpacityAnimation):
2075         (WebCore::TextureMapperNode::hasTransformAnimation):
2076         (WebCore::TextureMapperNode::syncAnimations):
2077         (WebCore::TextureMapperNode::syncAnimationsRecursively):
2078         (WebCore::TextureMapperNode::syncCompositingState):
2079         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
2080         * platform/graphics/texmap/TextureMapperNode.h:
2081         (TextureMapperAnimation):
2082         (WebCore::TextureMapperAnimation::create):
2083         (WebCore):
2084         (TextureMapperNode):
2085
2086 2012-01-25  Kenichi Ishibashi  <bashi@chromium.org>
2087
2088         fast/text/unicode-variation-selector.html doesn't pass on Lion
2089         https://bugs.webkit.org/show_bug.cgi?id=76041
2090
2091         Reviewed by Dan Bernstein.
2092
2093         Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
2094         account Ideographic variation selectors (these are non-BMP marks).
2095
2096         No new tests. fast/text/unicode-variation-selector.html should pass on Lion.
2097
2098         * platform/graphics/mac/ComplexTextController.cpp:
2099         (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
2100         to iterate the loop which consumes marks.
2101
2102 2012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>
2103
2104         Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
2105         https://bugs.webkit.org/show_bug.cgi?id=76989
2106
2107         Reviewed by Pavel Feldman.
2108
2109         * English.lproj/localizedStrings.js:
2110         * inspector/front-end/DetailedHeapshotGridNodes.js:
2111         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2112         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2113         (WebInspector.HeapSnapshotObjectNode):
2114         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2115         (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
2116         * inspector/front-end/HeapSnapshot.js:
2117         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
2118
2119 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
2120
2121         Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
2122         https://bugs.webkit.org/show_bug.cgi?id=76711
2123
2124         Reviewed by Yury Semikhatsky.
2125
2126         * inspector/Inspector.json:
2127         * inspector/InspectorIndexedDBAgent.cpp:
2128         (WebCore):
2129         (WebCore::assertDocument):
2130         (WebCore::assertIDBFactory):
2131         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2132         (WebCore::InspectorIndexedDBAgent::requestDatabase):
2133         * inspector/InspectorIndexedDBAgent.h:
2134         (InspectorIndexedDBAgent):
2135         * inspector/front-end/IndexedDBModel.js:
2136         (WebInspector.IndexedDBModel):
2137         (WebInspector.IndexedDBModel.prototype._frameDetached):
2138         (WebInspector.IndexedDBModel.prototype._reset):
2139         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
2140         (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
2141         (WebInspector.IndexedDBModel.prototype._originRemoved):
2142         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
2143         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
2144         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
2145         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2146         (WebInspector.IndexedDBModel.Frame):
2147         (WebInspector.IndexedDBModel.Database):
2148         (WebInspector.IndexedDBModel.ObjectStore):
2149         (WebInspector.IndexedDBModel.ObjectStoreIndex):
2150         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
2151         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
2152         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
2153         (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
2154         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
2155         (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
2156         (WebInspector.IndexedDBRequestManager.prototype._reset):
2157         (WebInspector.IndexedDBRequestManager.DatabaseRequest):
2158         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
2159         (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
2160
2161 2012-01-25  Peter Rybin  <peter.rybin@gmail.com>
2162
2163         Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
2164         https://bugs.webkit.org/show_bug.cgi?id=76676
2165
2166         Reviewed by Yury Semikhatsky.
2167
2168         Generator algorithm is redone significantly.
2169
2170         * inspector/CodeGeneratorInspector.py:
2171         (RawTypes.BaseType):
2172         (RawTypes.BaseType.request_raw_internal_runtime_cast):
2173         (RawTypes.BaseType.generate_validate_method_impl):
2174         (RawTypes):
2175         (RawTypes.generate_validate_methods):
2176         (RawTypes.String):
2177         (RawTypes.String.generate_validate_method):
2178         (RawTypes.String.get_raw_validator_call_text):
2179         (RawTypes.Int):
2180         (RawTypes.Int.generate_validate_method):
2181         (RawTypes.Int.get_raw_validator_call_text):
2182         (RawTypes.Number):
2183         (RawTypes.Number.generate_validate_method):
2184         (RawTypes.Number.get_raw_validator_call_text):
2185         (RawTypes.Bool):
2186         (RawTypes.Bool.generate_validate_method):
2187         (RawTypes.Bool.get_raw_validator_call_text):
2188         (RawTypes.Object):
2189         (RawTypes.Object.generate_validate_method):
2190         (RawTypes.Object.get_raw_validator_call_text):
2191         (RawTypes.Any):
2192         (RawTypes.Any.generate_validate_method):
2193         (RawTypes.Any.get_raw_validator_call_text):
2194         (RawTypes.Array):
2195         (RawTypes.Array.generate_validate_method):
2196         (RawTypes.Array.get_raw_validator_call_text):
2197         (TypeBindings.create_named_type_declaration.Helper):
2198         (TypeBindings.create_ad_hoc_type_declaration.Helper):
2199         (TypeBindings.create_type_declaration_.EnumBinding):
2200         (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
2201         (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
2202         (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
2203         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
2204         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
2205         (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
2206         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
2207         (TypeBindings.create_type_declaration_.PlainString):
2208         (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
2209         (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
2210         (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
2211         (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
2212         (TypeBindings.create_type_declaration_.TypedefString):
2213         (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
2214         (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
2215         (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
2216         (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
2217         (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
2218         (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
2219         (TypeBindings.create_type_declaration_.ClassBinding):
2220         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
2221         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
2222         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
2223         (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
2224         (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
2225         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
2226         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
2227         (get_validator_call_text):
2228         (get_in_c_type_text):
2229         (AdHocTypeContextImpl):
2230         (AdHocTypeContextImpl.__init__):
2231         (AdHocTypeContextImpl.get_type_name_fix):
2232         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
2233         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
2234         (AdHocTypeContextImpl.add_type):
2235         (PlainObjectBinding):
2236         (PlainObjectBinding.resolve_inner):
2237         (PlainObjectBinding.request_user_runtime_cast):
2238         (PlainObjectBinding.request_internal_runtime_cast):
2239         (PlainObjectBinding.get_validator_call_text):
2240         (ArrayBinding):
2241         (ArrayBinding.resolve_inner):
2242         (ArrayBinding.resolve_inner.AdHocTypeContext):
2243         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
2244         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
2245         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
2246         (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
2247         (ArrayBinding.resolve_inner.ResolveData):
2248         (ArrayBinding.request_user_runtime_cast):
2249         (ArrayBinding.request_internal_runtime_cast):
2250         (ArrayBinding.get_code_generator):
2251         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
2252         (ArrayBinding.get_validator_call_text):
2253         (ArrayBinding.get_in_c_type_text):
2254         (RawTypeBinding.resolve_inner):
2255         (RawTypeBinding):
2256         (RawTypeBinding.request_user_runtime_cast):
2257         (RawTypeBinding.request_internal_runtime_cast):
2258         (RawTypeBinding.get_validator_call_text):
2259         (TypeData.get_name):
2260         (TypeData):
2261         (TypeData.get_domain_name):
2262         (resolve_param_type):
2263         (NeedRuntimeCastRequest):
2264         (NeedRuntimeCastRequest.__init__):
2265         (NeedRuntimeCastRequest.acknowledge):
2266         (NeedRuntimeCastRequest.is_acknowledged):
2267         (resolve_all_types):
2268         (resolve_all_types.ForwardListener):
2269         (resolve_all_types.ForwardListener.add_type_data):
2270         (resolve_all_types.ResolveContext):
2271         (Generator):
2272         (Generator.go):
2273         (Generator.process_event):
2274         (Generator.process_event.AdHocTypeContext):
2275         (Generator.process_event.AdHocTypeContext.add_type):
2276         (Generator.process_event.EventForwardListener):
2277         (Generator.process_event.EventForwardListener.add_type_data):
2278         (Generator.process_event.EventResolveContext):
2279         (Generator.process_event.EventGenerateContext):
2280         (Generator.process_types.GenerateContext):
2281         (Generator.process_types.create_type_builder_caller.call_type_builder):
2282         (Generator.process_types.generate_forward_callback):
2283         * inspector/InspectorValues.h:
2284         (WebCore::InspectorObject::size):
2285
2286 2012-01-25  Anton Muhin  <antonm@chromium.org>
2287
2288         Unreview manual revert of r105843.
2289
2290         * fileapi/EntryBase.cpp:
2291         (WebCore::EntryBase::toURL):
2292         * page/SecurityOrigin.cpp:
2293         (WebCore::extractInnerURL):
2294         * platform/KURL.h:
2295         (KURL):
2296         * platform/KURLGoogle.cpp:
2297         (WebCore):
2298         (WebCore::KURLGooglePrivate::setUtf8):
2299         (WebCore::KURLGooglePrivate::setAscii):
2300         (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
2301         (WebCore::KURLGooglePrivate::copyTo):
2302         (WebCore::encodeWithURLEscapeSequences):
2303         * platform/KURLGooglePrivate.h:
2304         (KURLGooglePrivate):
2305
2306 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
2307
2308         Use maximum image dimension definition from libwebp
2309         https://bugs.webkit.org/show_bug.cgi?id=76980
2310
2311         Reviewed by Kent Tamura.
2312
2313         No new tests, no change in behavior.
2314
2315         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
2316         (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
2317         * platform/image-encoders/skia/WEBPImageEncoder.h:
2318         (): Remove local definition of the maximum webp image dimension
2319
2320 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
2321
2322         JPEGDecoder should use imageDecoder colorProfile helpers
2323         https://bugs.webkit.org/show_bug.cgi?id=76968
2324         
2325         Reviewed by Adam Barth.
2326
2327         No new tests. Cover by existing tests, in particular:
2328           fast/images/ycbcr-with-cmyk-color-profile.html
2329           fast/images/gray-scale-jpeg-with-color-profile.html
2330           fast/images/cmyk-jpeg-with-color-profile.html
2331           fast/images/color-jpeg-with-color-profile.html
2332
2333         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
2334         (WebCore::readColorProfile):  Use ImageDecoder.h color profile helper routines.
2335         (WebCore::JPEGImageReader::JPEGImageReader):
2336         (WebCore::JPEGImageReader::decode):
2337
2338 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
2339
2340         [Texmap] Divide TextureMapperNode.cpp to 3 files.
2341         https://bugs.webkit.org/show_bug.cgi?id=76660
2342
2343         Reviewed by Kenneth Rohde Christiansen.
2344
2345         Split the animation part of TextureMapperNode out to a separate file, called
2346         TextureMapperAnimation.
2347         Provide a clean interface for that class, that allows separating the internals of the scene
2348         painting from the internals of the animation interpolation.
2349
2350         No new tests. Existing animation tests cover this.
2351
2352         * GNUmakefile.list.am: Added new TextureMapper-related files.
2353         * Target.pri: Added new TextureMapper-related files.
2354         * WebCore.gypi: Added new TextureMapper-related files.
2355         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2356         (WebCore::GraphicsLayerTextureMapper::addAnimation):
2357         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
2358         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
2359         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2360         * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
2361         * platform/graphics/texmap/TextureMapperAnimation.h: Added.
2362         * platform/graphics/texmap/TextureMapperNode.cpp:
2363         (WebCore::TextureMapperNode::syncCompositingStateSelf):
2364         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
2365         (WebCore::TextureMapperNode::syncAnimations):
2366         (WebCore::TextureMapperNode::syncAnimationsRecursively):
2367         (WebCore::TextureMapperNode::syncCompositingState):
2368         * platform/graphics/texmap/TextureMapperNode.h:
2369
2370 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
2371
2372         <style scoped>: Implement registering of <style scoped> with the scoping element
2373         https://bugs.webkit.org/show_bug.cgi?id=67790
2374
2375         Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
2376         Update the registration whenever the 'scoped' attribute is changed,
2377         or the <style> element eneters or leaves the tree.
2378
2379         Also, extend windows.internals to allow for testing of the registration ref-counting.
2380
2381         Reviewed by Dimitri Glazkov.
2382
2383         Test: fast/css/style-scoped/registering.html
2384
2385         * WebCore.exp.in:
2386         * dom/Element.cpp:
2387         (WebCore::Element::hasScopedHTMLStyleChild):
2388         (WebCore::Element::numberOfScopedHTMLStyleChildren):
2389         (WebCore::Element::registerScopedHTMLStyleChild):
2390         (WebCore::Element::unregisterScopedHTMLStyleChild):
2391         * dom/Element.h:
2392         * dom/ElementRareData.h:
2393         (WebCore::ElementRareData::ElementRareData):
2394         (WebCore::ElementRareData::registerScopedHTMLStyleChild):
2395         (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
2396         (WebCore::ElementRareData::hasScopedHTMLStyleChild):
2397         (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
2398         * html/HTMLStyleElement.cpp:
2399         (WebCore::HTMLStyleElement::HTMLStyleElement):
2400         (WebCore::HTMLStyleElement::~HTMLStyleElement):
2401         (WebCore::HTMLStyleElement::parseMappedAttribute):
2402         (WebCore::HTMLStyleElement::registerWithScopingNode):
2403         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
2404         (WebCore::HTMLStyleElement::insertedIntoDocument):
2405         (WebCore::HTMLStyleElement::removedFromDocument):
2406         (WebCore::HTMLStyleElement::willRemove):
2407         * html/HTMLStyleElement.h:
2408         * testing/Internals.cpp:
2409         (WebCore::Internals::numberOfScopedHTMLStyleChildren):
2410         * testing/Internals.h:
2411         * testing/Internals.idl:
2412
2413 2012-01-24  Daniel Bates  <dbates@webkit.org>
2414
2415         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
2416         (https://bugs.webkit.org/show_bug.cgi?id=75049)
2417
2418         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
2419         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
2420         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
2421
2422         * platform/KURL.h:
2423         (WebCore::KURL::innerURL):
2424
2425 2012-01-24  Vangelis Kokkevis  <vangelis@chromium.org>
2426
2427         [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
2428         https://bugs.webkit.org/show_bug.cgi?id=76735
2429
2430         This is to add skipped layers to their RenderSurface's layer list so that they
2431         are considered in the next update. Without this change, m_skipsDraw = false sticks
2432         with the layer for the remainder of its lifetime.
2433
2434         Reviewed by James Robinson.
2435
2436         Tests: Unit test (TiledLayerChromiumTest.cpp)
2437
2438         * platform/graphics/chromium/TiledLayerChromium.cpp:
2439         (WebCore::TiledLayerChromium::drawsContent):
2440         * platform/graphics/chromium/TiledLayerChromium.h:
2441         (WebCore::TiledLayerChromium::skipsDraw):
2442
2443 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2444
2445         Invalidate r105697, r105766, r105809 and r105805
2446         https://bugs.webkit.org/show_bug.cgi?id=76970
2447
2448         Reviewed by Adam Barth.
2449
2450         I've been trying to stop rebuilding .h/.cpp files generated by
2451         unchanged IDLs (bug 76836), but the approach was wrong.
2452         This patch invalidates patches committed in r105697, r105766,
2453         r105809 and r105805.
2454
2455         In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
2456         so that they overwrite .h/.cpp files only when the bytes differ.
2457         By this fix, we were able to stop rebuilding .h/.cpp files that are not
2458         changed. However, the fix has made generate-bindings.pl run for almost
2459         all IDLs every time. The reason is as follows:
2460
2461         (0) Assume that there are A.idl, B.idl and C.idl.
2462
2463         (1) Modify A.idl.
2464         (2) First build.
2465         (3) supplemental_dependency.tmp is updated.
2466         (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
2467         (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.
2468
2469         (6) Second build.
2470         (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
2471         (8) B.h, B.cpp, C.h and C.cpp are not updated.
2472
2473         (9) Third build.
2474         (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
2475         (11) B.h, B.cpp, C.h and C.cpp are not updated.
2476         ...
2477
2478         We should fix the bug somehow, but how to fix it is not obvious.
2479         For the time being, this patch invalidates r105697, r105766, r105809
2480         and r105805.
2481
2482         No tests. No change in behavior.
2483
2484         * bindings/scripts/CodeGenerator.pm:
2485         (UpdateFile):
2486         * bindings/scripts/CodeGeneratorCPP.pm:
2487         (WriteData):
2488         * bindings/scripts/CodeGeneratorJS.pm:
2489         (WriteData):
2490         * bindings/scripts/CodeGeneratorObjC.pm:
2491         (WriteData):
2492         * bindings/scripts/CodeGeneratorV8.pm:
2493         (WriteData):
2494
2495 2012-01-24  Eric Uhrhane  <ericu@chromium.org>
2496
2497         Add full support for filesystem URLs.
2498         https://bugs.webkit.org/show_bug.cgi?id=75049
2499
2500         Reviewed by Adam Barth.
2501
2502         No new tests; existing layout tests cover the basic functionality, and
2503         the new functionality won't be there until Chromium adds it.  This patch
2504         merely enables that, without changing behavior.
2505
2506         * fileapi/EntryBase.cpp:
2507         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
2508
2509         * page/SecurityOrigin.cpp:
2510         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
2511
2512         * platform/KURL.h:
2513         (WebCore::KURL::innerURL): Add innerURL member.
2514
2515         * platform/KURLGoogle.cpp:
2516         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
2517         (WebCore::KURLGooglePrivate::operator=):
2518         Add copy constructor and operator=, which are now needed since
2519         m_innerURL needs special handling.
2520         (WebCore::KURLGooglePrivate::setUtf8):
2521         (WebCore::KURLGooglePrivate::setAscii):
2522         Add calls to initInnerURL.
2523         (WebCore::KURLGooglePrivate::initInnerURL):
2524         Add method to init/copy m_innerURL.
2525         (WebCore::KURLGooglePrivate::copyTo):
2526         Handle m_innerURL during copies.
2527         (WebCore::encodeWithURLEscapeSequences):
2528         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
2529
2530         * platform/KURLGooglePrivate.h:
2531         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
2532
2533 2012-01-24  Ken Buchanan  <kenrb@chromium.org>
2534
2535         Crash in updateFirstLetter() from unnecessary anonymous block
2536         https://bugs.webkit.org/show_bug.cgi?id=72675
2537
2538         Reviewed by David Hyatt.
2539
2540         There was a problem with anonymous blocks not getting removed when
2541         their only block flow siblings are removed if they also have non-block
2542         flow first-letter siblings (i.e. floats). This patch modifies
2543         RenderBlock::removeChild() to look for this situation and strip out
2544         unnecessary anonymous container blocks if it occurs.
2545
2546         * rendering/RenderBlock.cpp:
2547         (WebCore::RenderBlock::removeChild):
2548         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
2549         * rendering/RenderBlock.h:
2550         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
2551
2552 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
2553
2554         [chromium] event.dataTransfer.types should not return "Text" or "URL"
2555         https://bugs.webkit.org/show_bug.cgi?id=76218
2556
2557         Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
2558         dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
2559         elsewhere.
2560
2561         Reviewed by Tony Chang.
2562
2563         Test: fast/events/dropzone-005.html
2564
2565         * platform/chromium/ChromiumDataObject.cpp:
2566         (WebCore::ChromiumDataObject::types):
2567         (WebCore::ChromiumDataObject::getData):
2568         * platform/chromium/DragDataChromium.cpp:
2569         (WebCore::DragData::containsURL):
2570         (WebCore::DragData::asURL):
2571         (WebCore::DragData::canSmartReplace):
2572
2573 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
2574
2575         Make DataTransferItemList::length() const.
2576         https://bugs.webkit.org/show_bug.cgi?id=76946
2577
2578         Just a const-correctness change.
2579
2580         Reviewed by Tony Chang.
2581
2582         No new tests since no functionality changed.
2583
2584         * dom/DataTransferItemList.h:
2585         (DataTransferItemList):
2586         * platform/chromium/DataTransferItemListChromium.cpp:
2587         (WebCore::DataTransferItemListChromium::length):
2588         * platform/chromium/DataTransferItemListChromium.h:
2589         (DataTransferItemListChromium):
2590         * platform/qt/DataTransferItemListQt.cpp:
2591         (WebCore::DataTransferItemListQt::length):
2592         * platform/qt/DataTransferItemListQt.h:
2593         (DataTransferItemListQt):
2594
2595 2012-01-24  Tony Chang  <tony@chromium.org>
2596
2597         REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
2598         https://bugs.webkit.org/show_bug.cgi?id=76317
2599
2600         Reviewed by Darin Adler.
2601
2602         Test: scrollbars/scroll-rtl-or-bt-layer.html
2603
2604         * rendering/RenderLayer.cpp:
2605         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
2606         scrolling to the just computed offset.
2607
2608 2012-01-24  Mark Rowe  <mrowe@apple.com>
2609
2610         Fix all of the builds after r105812.
2611
2612         * loader/EmptyClients.h: Move the #include in to the correct #if.
2613
2614 2012-01-24  Dmitry Lomov  <dslomov@google.com>
2615
2616         [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
2617         https://bugs.webkit.org/show_bug.cgi?id=76944.
2618
2619         Reviewed by David Levin.
2620
2621         * bindings/v8/V8Proxy.cpp:
2622         (WebCore::V8Proxy::retrieveWindowForCallingContext):
2623         * bindings/v8/V8Proxy.h:
2624         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2625         (WebCore::handlePostMessageCallback):
2626
2627 2012-01-24  Geoffrey Garen  <ggaren@apple.com>
2628
2629         Updated bindings test expectations after my last patch.
2630
2631         Not reviewed.
2632
2633         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2634         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2635         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2636         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
2637         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2638         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2639         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2640         * bindings/scripts/test/JS/JSTestInterface.cpp:
2641         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2642         (WebCore::setJSTestInterfaceSupplementalStr2):
2643         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2644         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2645         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2646         * bindings/scripts/test/JS/JSTestObj.cpp:
2647         (WebCore::setJSTestObjStringAttr):
2648         (WebCore::setJSTestObjStringAttrWithGetterException):
2649         (WebCore::setJSTestObjStringAttrWithSetterException):
2650         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2651         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2652         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2653         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2654         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2655         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2656         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2657         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2658         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
2659         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2660         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
2661         (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
2662         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2663         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2664
2665 2012-01-24  Greg Billock  <gbillock@google.com>
2666
2667         Change dispatchIntent API to pure virtual in FrameLoaderClient.
2668
2669         The Windows compiler needs this to deal with the forward declaration
2670         of WebCore::IntentRequest.
2671         https://bugs.webkit.org/show_bug.cgi?id=76940
2672
2673         Reviewed by Adam Barth.
2674
2675         * loader/EmptyClients.h:
2676         (WebCore::EmptyFrameLoaderClient::dispatchIntent):
2677         * loader/FrameLoaderClient.h:
2678
2679 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2680
2681         CodeGeneratorJS.pm should overwrite the output .h/.cpp
2682         only if the bytes differ
2683         https://bugs.webkit.org/show_bug.cgi?id=76922
2684
2685         Reviewed by Darin Adler.
2686
2687         This is one of steps to stop rebuilding .h/.cpp files
2688         generated by unchanged IDLs (bug 76836).
2689         This patch makes a change on CodeGeneratorJS.pm so that
2690         it overwrites the output .h/.cpp only if the bytes differ.
2691
2692         No tests. No change in behavior.
2693         I manually confirmed that when I add a new attribute to Element.idl,
2694         the time-stamps of unrelated JS*.h and JS*.cpp do not change.
2695
2696         * bindings/scripts/CodeGeneratorJS.pm:
2697         (WriteData): Used UpdateFileIfChanged().
2698
2699 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2700
2701         CodeGeneratorCPP.pm should overwrite the output .h/.cpp
2702         only if the bytes differ
2703         https://bugs.webkit.org/show_bug.cgi?id=76926
2704
2705         Reviewed by Adam Barth.
2706
2707         This is one of steps to stop rebuilding .h/.cpp files
2708         generated by unchanged IDLs (bug 76836).
2709         This patch makes a change on CodeGeneratorCPP.pm so that
2710         it overwrites the output .h/.cpp only if the bytes differ.
2711
2712         No tests. No change in behavior.
2713         Manually confirm that when you add a new attribute to Element.idl,
2714         the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.
2715
2716         * bindings/scripts/CodeGeneratorCPP.pm:
2717         (WriteData): Used UpdateFileIfChanged().
2718
2719 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
2720
2721         Unreviewed, rolling out r105238.
2722         http://trac.webkit.org/changeset/105238
2723         https://bugs.webkit.org/show_bug.cgi?id=76943
2724
2725         Remove the assert text hack as it served its purpose.
2726         (Requested by dave_levin on #webkit).
2727
2728         * dom/ActiveDOMObject.cpp:
2729         (WebCore::ContextDestructionObserver::ContextDestructionObserver):
2730         (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
2731         (WebCore::ActiveDOMObject::ActiveDOMObject):
2732         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2733         * storage/DatabaseSync.cpp:
2734         (WebCore::DatabaseSync::openDatabaseSync):
2735         (WebCore::DatabaseSync::~DatabaseSync):
2736         (WebCore::DatabaseSync::changeVersion):
2737         (WebCore::DatabaseSync::runTransaction):
2738
2739 2012-01-24  Kentaro Hara  <haraken@chromium.org>
2740
2741         [Refactoring] In CodeGeneratorGObject.pm, merge
2742         GeneratePrivateHeader() into WriteData()
2743         https://bugs.webkit.org/show_bug.cgi?id=76923
2744
2745         Reviewed by Adam Barth.
2746
2747         This patch merges GeneratePrivateHeader() into WriteData(),
2748         so that all code to output .h/.cpp is managed by WriteData(),
2749         just like other CodeGenerator*.pm does.
2750
2751         No tests. No change in behavior.
2752         Confirm that GTK/GObject build passes.
2753
2754         * bindings/scripts/CodeGeneratorGObject.pm:
2755         (Generate):
2756         (WriteData): Copied GeneratePrivateHeader() to here.
2757         Removed $hasLegacyParen, $hasRealParent and $hasParent
2758         since they are not used.
2759         (GenerateInterface):
2760
2761 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
2762
2763         dropzone does not normalize type strings
2764         https://bugs.webkit.org/show_bug.cgi?id=76925
2765
2766         Per the HTML spec, we are supposed to normalize types during dropzone processing by
2767         lowercasing them.
2768
2769         Reviewed by Tony Chang.
2770
2771         Tests: fast/events/dropzone-002.html
2772
2773         * dom/Clipboard.cpp:
2774         (WebCore::Clipboard::hasDropZoneType):
2775
2776 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
2777
2778         [GTK] Refactor GTK's accessibilitity code to be more modular
2779         https://bugs.webkit.org/show_bug.cgi?id=76783
2780
2781         Reviewed by Martin Robinson.
2782
2783         Don't expose functions for the ATK interfaces in header files.
2784
2785         Expose only the initialization function for each interface, and
2786         use the generic functions from ATK interfaces where needed.
2787
2788         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
2789         (webkitAccessibleActionDoAction): Made this function static.
2790         (webkitAccessibleActionGetNActions): Ditto.
2791         (webkitAccessibleActionGetDescription): Ditto.
2792         (webkitAccessibleActionGetKeybinding): Ditto.
2793         (webkitAccessibleActionGetName): Ditto.
2794         (webkitAccessibleActionInterfaceInit): Moved to the bottom.
2795         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
2796         functions but the one for initializing the interface from here.
2797
2798         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
2799         (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
2800         (webkitAccessibleComponentGetExtents): Ditto.
2801         (webkitAccessibleComponentGrabFocus): Ditto.
2802         (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
2803         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
2804         functions but the one for initializing the interface from here.
2805
2806         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
2807         (webkitAccessibleDocumentGetAttributeValue): Made this function static.
2808         (webkitAccessibleDocumentGetAttributes): Ditto.
2809         (webkitAccessibleDocumentGetLocale): Ditto.
2810         (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
2811         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
2812         functions but the one for initializing the interface from here.
2813
2814         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
2815         (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
2816         (webkitAccessibleEditableTextSetTextContents): Ditto.
2817         (webkitAccessibleEditableTextInsertText): Ditto.
2818         (webkitAccessibleEditableTextCopyText): Ditto.
2819         (webkitAccessibleEditableTextCutText): Ditto.
2820         (webkitAccessibleEditableTextDeleteText): Ditto.
2821         (webkitAccessibleEditableTextPasteText): Ditto.
2822         (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
2823         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
2824         functions but the one for initializing the interface from here.
2825
2826         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
2827         (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
2828         (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
2829         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
2830         functions but the one for initializing the interface from here.
2831
2832         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
2833         (webkitAccessibleHypertextGetLink): Made this function static.
2834         (webkitAccessibleHypertextGetNLinks): Ditto.
2835         (webkitAccessibleHypertextGetLinkIndex): Ditto.
2836         (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
2837         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
2838         functions but the one for initializing the interface from here.
2839
2840         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
2841         (webkitAccessibleImageGetImagePosition): Made this function static.
2842         (webkitAccessibleImageGetImageDescription): Ditto.
2843         (webkitAccessibleImageGetImageSize): Ditto.
2844         (webkitAccessibleImageInterfaceInit): Moved to the bottom.
2845         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
2846         functions but the one for initializing the interface from here.
2847
2848         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
2849         (webkitAccessibleSelectionAddSelection): Made this function static.
2850         (webkitAccessibleSelectionClearSelection): Ditto.
2851         (webkitAccessibleSelectionRefSelection): Ditto.
2852         (webkitAccessibleSelectionGetSelectionCount): Ditto.
2853         (webkitAccessibleSelectionIsChildSelected): Ditto.
2854         (webkitAccessibleSelectionRemoveSelection): Ditto.
2855         (webkitAccessibleSelectionSelectAllSelection): Ditto.
2856         (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
2857         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
2858         functions but the one for initializing the interface from here.
2859
2860         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
2861         (webkitAccessibleTableRefAt): Made this function static.
2862         (webkitAccessibleTableGetIndexAt): Ditto.
2863         (webkitAccessibleTableGetColumnAtIndex): Ditto.
2864         (webkitAccessibleTableGetRowAtIndex): Ditto.
2865         (webkitAccessibleTableGetNColumns): Ditto.
2866         (webkitAccessibleTableGetNRows): Ditto.
2867         (webkitAccessibleTableGetColumnExtentAt): Ditto.
2868         (webkitAccessibleTableGetRowExtentAt): Ditto.
2869         (webkitAccessibleTableGetColumnHeader): Ditto.
2870         (webkitAccessibleTableGetRowHeader): Ditto.
2871         (webkitAccessibleTableGetCaption): Ditto.
2872         (webkitAccessibleTableGetColumnDescription): Ditto.
2873         (webkitAccessibleTableGetRowDescription): Ditto.
2874         (webkitAccessibleTableInterfaceInit): Moved to the bottom.
2875         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
2876         functions but the one for initializing the interface from here.
2877
2878         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2879         (textForRenderer): Made this function static.
2880         (textForObject): Ditto.
2881         (webkitAccessibleTextGetText): Ditto.
2882         (webkitAccessibleTextGetTextAfterOffset): Ditto.
2883         (webkitAccessibleTextGetTextAtOffset): Ditto.
2884         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
2885         (webkitAccessibleTextGetCharacterAtOffset): Ditto.
2886         (webkitAccessibleTextGetCaretOffset): Ditto.
2887         (webkitAccessibleTextGetRunAttributes): Ditto.
2888         (webkitAccessibleTextGetDefaultAttributes): Ditto.
2889         (webkitAccessibleTextGetCharacterExtents): Ditto.
2890         (webkitAccessibleTextGetRangeExtents): Ditto.
2891         (webkitAccessibleTextGetCharacterCount): Ditto.
2892         (webkitAccessibleTextGetOffsetAtPoint): Ditto.
2893         (webkitAccessibleTextGetNSelections): Ditto.
2894         (webkitAccessibleTextGetSelection): Ditto.
2895         (webkitAccessibleTextAddSelection): Ditto.
2896         (webkitAccessibleTextSetSelection): Ditto.
2897         (webkitAccessibleTextRemoveSelection): Ditto.
2898         (webkitAccessibleTextSetCaretOffset): Ditto.
2899         (webkitAccessibleTextInterfaceInit): Moved to the bottom.
2900         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
2901         functions but the one for initializing the interface from here.
2902
2903         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
2904         (webkitAccessibleValueGetCurrentValue): Made this function static.
2905         (webkitAccessibleValueGetMaximumValue): Ditto.
2906         (webkitAccessibleValueGetMinimumValue): Ditto.
2907         (webkitAccessibleValueSetCurrentValue): Ditto.
2908         (webkitAccessibleValueGetMinimumIncrement): Ditto.
2909         (webkitAccessibleValueInterfaceInit): Moved to the bottom.
2910         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
2911         functions but the one for initializing the interface from here.
2912
2913         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2914         (webkitAccessibleGetName): Replace call to
2915         webkitAccessibleTextGetText with atk_text_get_text.
2916
2917 2012-01-24  James Robinson  <jamesr@chromium.org>
2918
2919         [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
2920         https://bugs.webkit.org/show_bug.cgi?id=76887
2921
2922         Reviewed by Dimitri Glazkov.
2923
2924         A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
2925         It's possible in some circumstances for this to happen during painting. The null check for this pointer was
2926         erroneously removed from the base class TiledLayerChromium in r105460.
2927
2928         No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
2929         trying!). Fix based on crash reports from the field.
2930
2931         * platform/graphics/chromium/ContentLayerChromium.cpp:
2932         (WebCore::ContentLayerChromium::drawsContent):
2933         * platform/graphics/chromium/ContentLayerChromium.h:
2934
2935 2012-01-16  Robert Hogan  <robert@webkit.org>
2936
2937         REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
2938         https://bugs.webkit.org/show_bug.cgi?id=74874
2939
2940         Reviewed by Julien Chaffraix.
2941
2942         Tests: fast/css/min-width-with-spanned-cell-fixed.html
2943                fast/css/min-width-with-spanned-cell.html
2944
2945         A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
2946         columns are all percent and the width of the span cell is wider than the cells it spans in any other 
2947         row then it will squeeze those cells beyond the width required to display their contents.
2948
2949         To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
2950         their contents. The squeezing remains for fixed layout tables as per FF and Opera.
2951
2952         * rendering/AutoTableLayout.cpp:
2953         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2954
2955 2012-01-24  Tommy Widenflycht  <tommyw@google.com>
2956
2957         MediaStream API: Split the MediaStream track list into audio/video specific ones.
2958         https://bugs.webkit.org/show_bug.cgi?id=76614
2959
2960         The latest draft of the WebRTC standard have split the MediaStream combined track list
2961         into audio/video specific ones.
2962
2963         Reviewed by Darin Fisher.
2964
2965         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
2966
2967         * mediastream/LocalMediaStream.cpp:
2968         (WebCore::LocalMediaStream::create):
2969         (WebCore::LocalMediaStream::LocalMediaStream):
2970         * mediastream/LocalMediaStream.h:
2971         * mediastream/MediaStream.cpp:
2972         (WebCore::processTrackList):
2973         (WebCore::MediaStream::create):
2974         (WebCore::MediaStream::MediaStream):
2975         * mediastream/MediaStream.h:
2976         (WebCore::MediaStream::audioTracks):
2977         (WebCore::MediaStream::videoTracks):
2978         * mediastream/MediaStream.idl:
2979         * mediastream/MediaStreamTrack.cpp:
2980         (WebCore::MediaStreamTrack::create):
2981         (WebCore::MediaStreamTrack::MediaStreamTrack):
2982         (WebCore::MediaStreamTrack::kind):
2983         (WebCore::MediaStreamTrack::label):
2984         (WebCore::MediaStreamTrack::enabled):
2985         (WebCore::MediaStreamTrack::setEnabled):
2986         (WebCore::MediaStreamTrack::component):
2987         * mediastream/MediaStreamTrack.h:
2988         * mediastream/UserMediaClient.h:
2989         * mediastream/UserMediaRequest.cpp:
2990         (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
2991         (WebCore::UserMediaRequest::succeed):
2992         * mediastream/UserMediaRequest.h:
2993         * platform/mediastream/MediaStreamCenter.cpp:
2994         (WebCore::MediaStreamCenter::queryMediaStreamSources):
2995         (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
2996         * platform/mediastream/MediaStreamCenter.h:
2997         * platform/mediastream/MediaStreamDescriptor.h:
2998         (WebCore::MediaStreamDescriptor::create):
2999         (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
3000         (WebCore::MediaStreamDescriptor::audioComponent):
3001         (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
3002         (WebCore::MediaStreamDescriptor::videoComponent):
3003         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
3004
3005 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3006
3007         Unreviewed, rolling out r105738.
3008         http://trac.webkit.org/changeset/105738
3009         https://bugs.webkit.org/show_bug.cgi?id=76930
3010
3011         caused fast/css/getComputedStyle/computed-style-border-
3012         image.html to crash (Requested by kling on #webkit).
3013
3014         * dom/NamedNodeMap.cpp:
3015         * dom/NamedNodeMap.h:
3016         * dom/StyledElement.cpp:
3017         (WebCore::StyledElement::updateStyleAttribute):
3018         (WebCore::StyledElement::createInlineStyleDecl):
3019         (WebCore::StyledElement::destroyInlineStyleDecl):
3020         (WebCore::StyledElement::ensureInlineStyleDecl):
3021         (WebCore::StyledElement::style):
3022         (WebCore::StyledElement::addSubresourceAttributeURLs):
3023         * dom/StyledElement.h:
3024         (WebCore::StyledElement::inlineStyleDecl):
3025
3026 2012-01-24  Parag Radke  <nrqv63@motorola.com>
3027
3028         REGRESSION (r73385): Marquee with behavior="alternate" is not working
3029         https://bugs.webkit.org/show_bug.cgi?id=64230
3030
3031         Reviewed by Simon Fraser.
3032
3033         This patch gives correct content width for marquee, which computes
3034         correct start position to scroll marquee.
3035
3036         Test: fast/html/marquee-alternate.html
3037
3038         * rendering/RenderBlock.cpp:
3039         (WebCore::RenderBlock::computePreferredLogicalWidths):
3040         We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's 
3041         actual content width to compute the initial/end position in case of 'MALTERNATE'.
3042         So we need to calculate the logical width in Alternate case even if fixed width is specified
3043         as content has to animate between renderBox().right().x() - contentWidth() and 
3044         renderBox().left().x() + contentWidth().
3045         
3046         * rendering/RenderMarquee.cpp:
3047         (WebCore::RenderMarquee::computePosition):
3048         Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.
3049
3050 2012-01-24  Andreas Kling  <awesomekling@apple.com>
3051
3052         RenderInline: Skip caching the computed line height.
3053         <http://webkit.org/b/76929>
3054
3055         Reviewed by David Hyatt.
3056
3057         Stop caching the computed line height on RenderInline and make retrieving it from
3058         RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
3059         This appears to be mostly performance neutral, I don't get more than the occasional
3060         sample hit when instrumenting heavier web pages.
3061
3062         This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
3063         HTML5 spec at <http://whatwg.org/c>.
3064
3065         * rendering/RenderInline.cpp:
3066         (WebCore::RenderInline::RenderInline):
3067         (WebCore::RenderInline::styleDidChange):
3068         (WebCore::RenderInline::lineHeight):
3069         * rendering/RenderInline.h:
3070         * rendering/style/RenderStyle.h:
3071         (WebCore::RenderStyle::computedLineHeight):
3072
3073             Optimize computedLineHeight() to mitigate some of the damage of calling
3074             it more often.
3075
3076 2012-01-24  Abhishek Arya  <inferno@chromium.org>
3077
3078         Crash when rendering -webkit-column-span.
3079         https://bugs.webkit.org/show_bug.cgi?id=73265
3080
3081         Reviewed by David Hyatt.
3082
3083         This patch addresses 2 problems causing crashes in multi-column layout
3084         1. Trying to render -webkit-column-span for :before, :after caused
3085            re-entrancy in updateBeforeAfterContent while working on splitFlow.
3086         2. Cloning a block which has its :before, :after content not added yet,
3087            caused issues because cloneBlock will definitely have its :before,
3088            :after content created when setStyle() is called. So, we would
3089            overwrite cloneBlock with a wrong childrenInline value.
3090
3091         Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
3092                fast/multicol/span/generated-child-split-flow-crash.html
3093
3094         * rendering/RenderBlock.cpp:
3095         (WebCore::RenderBlock::clone):
3096         (WebCore::RenderBlock::columnsBlockForSpanningElement):
3097
3098 2012-01-22  Robert Hogan  <robert@webkit.org>
3099
3100         Incorrect positioning of floating pseudo-elements in table captions
3101         https://bugs.webkit.org/show_bug.cgi?id=76664
3102
3103         Reviewed by Julien Chaffraix.
3104
3105         Tests: fast/table/caption-encloses-overhanging-float-expected.html
3106                fast/table/caption-encloses-overhanging-float.html
3107
3108         Allow table captions to expand and enclose overhanging floats. When performing
3109         layout on a caption ensure that its logical top is set so that it does not mistakenly
3110         conclude that floats in a previous sibling are intruding into it when they're not.
3111
3112         Mostly diagnosed by Abhishek Arya.
3113
3114         * rendering/RenderBlock.cpp:
3115         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
3116          that can enclosed overhanging floats.
3117         * rendering/RenderTable.cpp:
3118         (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
3119          top offset before laying it out.
3120         (WebCore::RenderTable::layout):
3121         * rendering/RenderTable.h:
3122
3123 2012-01-24  Kentaro Hara  <haraken@chromium.org>
3124
3125         In CodeGeneratorV8.pm, overwrite the output .h/.cpp
3126         only if the bytes differ
3127         https://bugs.webkit.org/show_bug.cgi?id=76920
3128
3129         Reviewed by Darin Adler.
3130
3131         This is one of steps to stop rebuilding .h/.cpp files
3132         generated by unchanged IDLs (bug 76836).
3133         This patch makes a change on CodeGeneratorV8.pm so that
3134         it overwrites the output .h/.cpp only if the bytes differ.
3135
3136         No tests. No change in behavior.
3137         I manually confirmed that when I add a new attribute to Element.idl,
3138         the time-stamps of unrelated V8*.h and V8*.cpp do not change.
3139
3140         * bindings/scripts/CodeGeneratorV8.pm:
3141         (WriteData): Used UpdateFileIfChanged().
3142
3143 2012-01-24  Kentaro Hara  <haraken@chromium.org>
3144
3145         [Refactoring] Remove finish() from all CodeGenerator*.pm
3146         https://bugs.webkit.org/show_bug.cgi?id=76918
3147
3148         Reviewed by Darin Adler.
3149
3150         Now finish() is empty in all CodeGenerator*.pm. This patch removes them.
3151
3152         No tests. No change in behavior.
3153
3154         * bindings/scripts/CodeGenerator.pm:
3155         (ProcessDocument):
3156         * bindings/scripts/CodeGeneratorCPP.pm:
3157         * bindings/scripts/CodeGeneratorGObject.pm:
3158         * bindings/scripts/CodeGeneratorJS.pm:
3159         * bindings/scripts/CodeGeneratorObjC.pm:
3160         * bindings/scripts/CodeGeneratorV8.pm:
3161
3162 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
3163
3164         Web Inspector: incorrect highlight position when searching in console
3165         https://bugs.webkit.org/show_bug.cgi?id=76837
3166
3167         Reviewed by Yury Semikhatsky.
3168
3169         * inspector/front-end/ConsoleMessage.js:
3170         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
3171         (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
3172         (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
3173         (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
3174         (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):
3175
3176 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
3177
3178         Show layer borders for scrollbar layers
3179         https://bugs.webkit.org/show_bug.cgi?id=76888
3180
3181         Reviewed by Beth Dakin.
3182         
3183         When compositing layer borders are showing, show the borders
3184         for scrollbars layers. This reduces confusion about whether scrollbars
3185         are rendering into their own layers.
3186         
3187         Requires a new parameter to two GraphicsLayerClient methods.
3188
3189         * platform/graphics/GraphicsLayer.h:
3190         (WebCore::GraphicsLayer::showDebugBorders):
3191         (WebCore::GraphicsLayer::showRepaintCounter):
3192         * platform/graphics/GraphicsLayerClient.h:
3193         * rendering/RenderLayerBacking.cpp:
3194         (WebCore::RenderLayerBacking::showDebugBorders):
3195         (WebCore::RenderLayerBacking::showRepaintCounter):
3196         * rendering/RenderLayerBacking.h:
3197         * rendering/RenderLayerCompositor.cpp:
3198         (WebCore::RenderLayerCompositor::showDebugBorders):
3199         (WebCore::RenderLayerCompositor::showRepaintCounter):
3200         * rendering/RenderLayerCompositor.h:
3201
3202 2012-01-24  David Levin  <levin@chromium.org>
3203
3204         [windows] Convert usage of GetDC to HWndDC Part 3.
3205         https://bugs.webkit.org/show_bug.cgi?id=76889
3206
3207         Reviewed by Adam Roben.
3208
3209         No new functionality so no new tests.
3210
3211         * platform/graphics/win/UniscribeController.cpp:
3212         (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
3213         (WebCore::UniscribeController::shape): Use the delayed allocation.
3214         * platform/win/PopupMenuWin.cpp:
3215         (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.
3216
3217 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3218
3219         [GTK] Refactor GTK's accessibilitity code to be more modular
3220         https://bugs.webkit.org/show_bug.cgi?id=76783
3221
3222         Reviewed by Martin Robinson.
3223
3224         Fix coding style in the ATK AccessibilityObject wrapper.
3225
3226         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
3227         (webkitAccessibleGetName):
3228         (webkitAccessibleGetDescription):
3229         (webkitAccessibleGetParent):
3230         (webkitAccessibleGetNChildren):
3231         (webkitAccessibleRefChild):
3232         (webkitAccessibleGetIndexInParent):
3233         (webkitAccessibleGetAttributes):
3234         (atkRole):
3235         (webkitAccessibleGetRole):
3236         (setAtkStateSetFromCoreObject):
3237         (webkitAccessibleRefStateSet):
3238         (webkitAccessibleRefRelationSet):
3239         (webkitAccessibleInit):
3240         (webkitAccessibleFinalize):
3241         (webkit_accessible_class_init):
3242
3243 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3244
3245         [GTK] Refactor GTK's accessibilitity code to be more modular
3246         https://bugs.webkit.org/show_bug.cgi?id=76783
3247
3248         Reviewed by Martin Robinson.
3249
3250         Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.
3251
3252         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
3253         'include' lines that are no longer needed after the refactor.
3254
3255 2012-01-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
3256
3257         [EFL] Remove CookieJarEfl.cpp
3258         https://bugs.webkit.org/show_bug.cgi?id=76916
3259
3260         Reviewed by Gustavo Noronha Silva.
3261
3262         CookieJarEfl.cpp has not been used for years -- we either need
3263         CookieJarCurl or CookieJarSoup depending on the chosen network
3264         backend.
3265
3266         No new tests, just an unused file being removed.
3267
3268         * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
3269         * platform/efl/CookieJarEfl.cpp: Removed.
3270
3271 2012-01-24  Abhishek Arya  <inferno@chromium.org>
3272
3273         Crash when accessing removed parent in InlineTextBox.
3274         https://bugs.webkit.org/show_bug.cgi?id=72982
3275
3276         Reviewed by James Robinson.
3277
3278         The crash happens because:
3279         1. We add heading element(h1) before the span element(span1),
3280            causing splitflow on the anonymous block containing BeforeText,
3281            span1(and SpanText) and AfterText.
3282         2. span1 moves to the cloneBlock (continuation).
3283         3. Our anonymous block and cloneBlock are both marked for layout,
3284            however we still have a copy of our lineboxes with its childs
3285            as the textboxes belonging to SpanText.
3286         4. Our anonymous block only child BeforeText is getting removed,
3287            so we dont have any children anymore and we delete our lineboxes,
3288            leaving behind the children textboxes belonging to SpanText.
3289         5. SpanText is getting destroyed, so it tries to inform removed
3290            parent lineboxes causing the crash.
3291
3292         Test: fast/block/block-remove-child-delete-line-box-crash.html
3293
3294         * rendering/RenderBlock.cpp:
3295         (WebCore::RenderBlock::removeChild):
3296
3297 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3298
3299         [GTK] Refactor GTK's accessibilitity code to be more modular
3300         https://bugs.webkit.org/show_bug.cgi?id=76783
3301
3302         Reviewed by Martin Robinson.
3303
3304         New files for the implementation of the AtkTable interface,
3305         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3306
3307         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
3308         (core):
3309         (cell):
3310         (cellIndex):
3311         (cellAtIndex):
3312         (webkitAccessibleTableInterfaceInit):
3313         (webkitAccessibleTableRefAt):
3314         (webkitAccessibleTableGetIndexAt):
3315         (webkitAccessibleTableGetColumnAtIndex):
3316         (webkitAccessibleTableGetRowAtIndex):
3317         (webkitAccessibleTableGetNColumns):
3318         (webkitAccessibleTableGetNRows):
3319         (webkitAccessibleTableGetColumnExtentAt):
3320         (webkitAccessibleTableGetRowExtentAt):
3321         (webkitAccessibleTableGetColumnHeader):
3322         (webkitAccessibleTableGetRowHeader):
3323         (webkitAccessibleTableGetCaption):
3324         (webkitAccessibleTableGetColumnDescription):
3325         (webkitAccessibleTableGetRowDescription):
3326         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
3327         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3328         related to the implementation of the AtkTable interface.
3329
3330         Add new files to build files.
3331
3332         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
3333         * WebCore.gypi: Ditto.
3334
3335 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
3336
3337         Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
3338         https://bugs.webkit.org/show_bug.cgi?id=76903
3339
3340         Reviewed by Yury Semikhatsky.
3341
3342         * inspector/front-end/TabbedPane.js:
3343         (WebInspector.TabbedPane.prototype._updateTabElements):
3344         * inspector/front-end/tabbedPane.css:
3345         (.tabbed-pane-content.has-no-tabs):
3346
3347 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
3348
3349         Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
3350         https://bugs.webkit.org/show_bug.cgi?id=76907
3351
3352         Reviewed by Yury Semikhatsky.
3353
3354         * inspector/front-end/FilteredItemSelectionDialog.js:
3355         (WebInspector.OpenResourceDialog.install):
3356         * inspector/front-end/ScriptsPanel.js:
3357
3358 2012-01-24  Peter Rybin  <peter.rybin@gmail.com>
3359
3360         Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
3361         https://bugs.webkit.org/show_bug.cgi?id=76868
3362
3363         Reviewed by Yury Semikhatsky.
3364
3365         Configurations of (hopefully) all build systems are fixed.
3366
3367         * CMakeLists.txt:
3368         * DerivedSources.make:
3369         * DerivedSources.pri:
3370         * GNUmakefile.am:
3371         * GNUmakefile.list.am:
3372         * WebCore.gyp/WebCore.gyp:
3373         * WebCore.gypi:
3374         * WebCore.vcproj/WebCore.vcproj:
3375         * WebCore.xcodeproj/project.pbxproj:
3376         * inspector/CodeGeneratorInspector.py:
3377         (dash_to_camelcase):
3378         (InspectorFrontend_h):
3379         (InspectorBackendDispatcher_h):
3380
3381 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3382
3383         [GTK] Refactor GTK's accessibilitity code to be more modular
3384         https://bugs.webkit.org/show_bug.cgi?id=76783
3385
3386         Reviewed by Martin Robinson.
3387
3388         New files for the implementation of the AtkText interface,
3389         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3390
3391         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
3392         (core):
3393         (textForRenderer):
3394         (textForObject):
3395         (getGailTextUtilForAtk):
3396         (getPangoLayoutForAtk):
3397         (baselinePositionForRenderObject):
3398         (getAttributeSetForAccessibilityObject):
3399         (compareAttribute):
3400         (attributeSetDifference):
3401         (accessibilityObjectLength):
3402         (getAccessibilityObjectForOffset):
3403         (getRunAttributesFromAccesibilityObject):
3404         (textExtents):
3405         (getSelectionOffsetsForObject):
3406         (webkitAccessibleTextInterfaceInit):
3407         (webkitAccessibleTextGetText):
3408         (webkitAccessibleTextGetTextAfterOffset):
3409         (webkitAccessibleTextGetTextAtOffset):
3410         (webkitAccessibleTextGetTextBeforeOffset):
3411         (webkitAccessibleTextGetCharacterAtOffset):
3412         (webkitAccessibleTextGetCaretOffset):
3413         (webkitAccessibleTextGetRunAttributes):
3414         (webkitAccessibleTextGetDefaultAttributes):
3415         (webkitAccessibleTextGetCharacterExtents):
3416         (webkitAccessibleTextGetRangeExtents):
3417         (webkitAccessibleTextGetCharacterCount):
3418         (webkitAccessibleTextGetOffsetAtPoint):
3419         (webkitAccessibleTextGetNSelections):
3420         (webkitAccessibleTextGetSelection):
3421         (webkitAccessibleTextAddSelection):
3422         (webkitAccessibleTextRemoveSelection):
3423         (webkitAccessibleTextSetSelection):
3424         (webkitAccessibleTextSetCaretOffset):
3425         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.
3426
3427         Move common function selectionBelongsToObject out from the wrapper
3428         to the utility file, used from WebKitAccessibleInterfaceText.cpp.
3429
3430         * accessibility/gtk/WebKitAccessibleUtil.cpp:
3431         (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
3432         * accessibility/gtk/WebKitAccessibleUtil.h:
3433         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
3434         implementation of selectionBelongsToObject, and the code related
3435         to the implementation of the AtkText interface.
3436         (webkit_accessible_get_name): Update call to the former function
3437         webkit_accessible_text_get_text and use the new function name.
3438         (webkit_accessible_table_get_column_description): Ditto.
3439         (webkit_accessible_table_get_row_description): Ditto.
3440
3441         Add new files to build files.
3442
3443         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
3444         * WebCore.gypi: Ditto.
3445
3446 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
3447
3448         [GTK] Refactor GTK's accessibilitity code to be more modular
3449         https://bugs.webkit.org/show_bug.cgi?id=76783
3450
3451         Reviewed by Martin Robinson.
3452
3453         New files for the implementation of the AtkValue interface,
3454         containing the related code from WebKitAccessibleWrapperAtk.cpp.
3455
3456         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
3457         (core):
3458         (webkitAccessibleValueInterfaceInit):
3459         (webkitAccessibleValueGetCurrentValue):
3460         (webkitAccessibleValueGetMaximumValue):
3461         (webkitAccessibleValueGetMinimumValue):
3462         (webkitAccessibleValueSetCurrentValue):
3463         (webkitAccessibleValueGetMinimumIncrement):
3464         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
3465         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
3466         related to the implementation of the AtkValue interface.