2010-11-08 Ryosuke Niwa <rniwa@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-08  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Reviewed by Darin Adler.
4
5         Remove the remaining editing-style functions from ApplyStyleCommand
6         https://bugs.webkit.org/show_bug.cgi?id=49155
7
8         Replaced removeNonEditingProperties, editingStyleAtPosition, prepareEditingStyleToApplyAt,
9         and removeStylesAddedByNode in ApplyStyleCommand.cpp by removeNonEditingProperties, EditingStyle::create,
10         prepareToApplyAt, and removeStyleAddedByNode in EditingStyle.cpp.
11
12         Also removed unnecessary header includes from various cpp files.
13
14         No tests are added since this is a cleanup.
15
16         * editing/ApplyStyleCommand.cpp: Removed removeNonEditingProperties, editingStyleAtPosition,
17         prepareEditingStyleToApplyAt, and removeStylesAddedByNode.
18         * editing/ApplyStyleCommand.h: Ditto.
19         * editing/DeleteSelectionCommand.cpp: Removed removeEnclosingAnchorStyle.
20         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Calls removeStylesAddedByNode instead.
21         * editing/EditingStyle.cpp:
22         (WebCore::copyEditingProperties): Moved and renamed ApplyStyleCommand::removeNonEditingProperties.
23         (WebCore::editingStyleFromComputedStyle): Calls copyEditingProperties. Changed the argument to PassRefPtr
24         as supposed to a raw pointer for convenience.
25         (WebCore::EditingStyle::init): Calls editingStyleFromComputedStyle.
26         (WebCore::EditingStyle::removeStyleAddedByNode): Added.
27         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode): Added.
28         (WebCore::EditingStyle::removeNonEditingProperties): Added.
29         (WebCore::editingStyleIncludingTypingStyle): Calls copyEditingProperties.
30         * editing/EditingStyle.h: Added prototypes.
31         * editing/Editor.cpp:
32         (WebCore::Editor::selectionComputedStyle): Uses EditingStyle.
33         * editing/InsertParagraphSeparatorCommand.cpp:
34         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Ditto.
35         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
36         * editing/InsertParagraphSeparatorCommand.h:
37         * editing/RemoveFormatCommand.cpp:
38         (WebCore::RemoveFormatCommand::doApply): Ditto.
39         * editing/ReplaceSelectionCommand.cpp:
40         (WebCore::handleStyleSpansBeforeInsertion): Ditto.
41         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Ditto.
42         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
43         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
44         * editing/ReplaceSelectionCommand.h:
45         * editing/markup.cpp: Removed removeEnclosingMailBlockquoteStyle and removeDefaultStyles.
46         (WebCore::createMarkup): Uses EditingStyle.
47
48 2010-11-08  Simon Fraser  <simon.fraser@apple.com>
49
50         Reviewed by Dan Bernstein.
51
52         Media objects in nested iframes showing above everything else in TinyMCE
53         https://bugs.webkit.org/show_bug.cgi?id=44877
54
55         Tests: compositing/iframes/become-composited-nested-iframes.html
56                compositing/iframes/overlapped-nested-iframes.html
57         
58         The overlap testing logic that connects compositing across iframe boundaries
59         needed to be educated about nestd iframes, for platforms (i.e. Mac) where iframes
60         are allowed to be independently composited.
61         
62         Also fix a bug that could cause iframes (and possibly other elements) that share
63         style to fail to become composited.
64
65         * css/CSSStyleSelector.cpp:
66         (WebCore::CSSStyleSelector::canShareStyleWithElement): Disable style sharing for elements
67         that force synethetic style updates in order to gain RenderLayers, so they can become
68         composited. This is tested by become-composited-nested-iframes.html, though it is very
69         timing-dependent.
70         
71         * page/FrameView.h:
72         * page/FrameView.cpp:
73         (WebCore::FrameView::hasCompositedContentIncludingDescendants): New method that
74         is a "deep" version of hasCompositedContent() on platforms where that is necessary to ask.
75         
76         (WebCore::FrameView::hasCompositingAncestor): New method.
77         (WebCore::FrameView::setIsOverlapped): If we can have independently composited iframes,
78         we need to force all descendant iframes to update so that compositing gets hooked up across
79         nested iframes.
80         
81         (WebCore::FrameView::isOverlappedIncludingAncestors): New method, only called on platforms
82         where allowsIndependentlyCompositedIFrames() is true.
83
84         * rendering/RenderLayerCompositor.h:
85         * rendering/RenderLayerCompositor.cpp:
86         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedIFrames): Utility method that
87         returns true if an iframe can be a compositing root.
88         
89         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Make use of
90         allowsIndependentlyCompositedIFrames().
91         
92         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): We need to notify all
93         descendant frames, not just children.
94         
95         * rendering/RenderObject.cpp:
96         (WebCore::RenderObject::setStyle): Add assert to ensure that we don't do style sharing
97         for elements that play tricks with synthetic style changes.
98
99         * rendering/RenderWidget.cpp:
100         (WebCore::RenderWidget::paint): Run overlap testing if a frame has any composited
101         descendants.
102
103 2010-11-08  Darin Adler  <darin@apple.com>
104
105         Reviewed by Alexey Proskuryakov.
106
107         Incorrect image map used when multiple maps have the same name
108         https://bugs.webkit.org/show_bug.cgi?id=49086
109
110         Tests: fast/images/image-map-multiple.html
111                fast/images/image-map-multiple-xhtml.xhtml
112
113         Factored out the code used to look up elements by id and reused it
114         to look up maps by name. It handles multiple elements efficiently.
115
116         * dom/Document.cpp:
117         (WebCore::Document::DocumentOrderedMap::clear): Added.
118         (WebCore::Document::DocumentOrderedMap::add): Added. Has code that
119         was formerly in addElementById.
120         (WebCore::Document::DocumentOrderedMap::remove): Added. Has code that
121         was formerly in removeElementById.
122         (WebCore::Document::DocumentOrderedMap::get): Added. Has code that
123         was formerly in getElementById.
124         (WebCore::keyMatchesId): Added.
125         (WebCore::Document::getElementById): Use DocumentOrderedMap::get.
126         (WebCore::Document::addElementById): Use DocumentOrderedMap::add.
127         (WebCore::Document::removeElementById): Use DocumentOrderedMap::remove.
128         (WebCore::Document::addImageMap): Use DocumentOrderedMap::add.
129         (WebCore::Document::removeImageMap): Use DocumentOrderedMap::remove.
130         (WebCore::keyMatchesMapName): Added.
131         (WebCore::keyMatchesLowercasedMapName): Added.
132         (WebCore::Document::getImageMap): Use DocumentOrderedMap::get.
133
134         * dom/Document.h: Added DocumentOrderedMap class, used inside the
135         Document class. Changed m_imageMapsByName to be a DocumentOrderedMap.
136         Changed m_elementsById to be a DocumentOrderedMap. Eliminated
137         m_duplicateIds, since DocumentOrderedMap now has that internally.
138
139 2010-11-08  Alexey Proskuryakov  <ap@apple.com>
140
141         Reviewed by Darin Adler.
142
143         https://bugs.webkit.org/show_bug.cgi?id=48685
144         Notify UI process about focused frame
145
146         * WebCore.xcodeproj/project.pbxproj: Adding developmentRegion back.
147
148         * loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedFrameChanged):
149         * page/Chrome.cpp: (WebCore::Chrome::focusedFrameChanged):
150         * page/Chrome.h:
151         * page/ChromeClient.h:
152         Added a new Chrome client notification.
153
154         * page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame): Notify chrome.
155
156 2010-11-08  Anders Carlsson  <andersca@apple.com>
157
158         Reviewed by Adam Roben.
159
160         Remove use of HIGetScaleFactor
161         https://bugs.webkit.org/show_bug.cgi?id=49186
162         <rdar://problem/8618410>
163
164         Scale factors can vary on a display-by-display basis and it doesn't make sense
165         to compute scale factor event coordinates like this.
166
167         * plugins/mac/PluginViewMac.mm:
168         (WebCore::PluginView::globalMousePosForPlugin):
169
170 2010-11-08  Noam Rosenthal  <noam.rosenthal@nokia.com>
171
172         Reviewed by Kenneth Rohde Christiansen.
173
174         [Texmap] [Qt] Texture mapper initial implementation
175         https://bugs.webkit.org/show_bug.cgi?id=47070
176
177         Make the necessary changes in TextureMapperNode in preparation of making it possible to paint it
178         from a different thread.
179         The main problematic part was the cache, which made it so that textures can become invalid and have to
180         be rerendered from content during paint. This is solved here by creating a pack/unpack function for
181         textures, which lets a texture archive its data away from video memory, or do whatever the platform
182         thinks is right for freeing memory without needing to re-render again from content (which cannot be
183         made thread safe).
184
185         After this change, TextureMapperNode moved to its own file, and has 2 entry points: paint and syncCompositingState.
186         The idea is that syncCompositingState has to be called in the UI thread, paint can be called from a different
187         thread, and they should block each other.
188
189         The new test tests the cache code-path, to show that the pack/unpack technique works for cases where it
190         kicks in.
191
192         Test: compositing/layer-creation/many-layers.html
193
194         * WebCore.pro:
195         * platform/graphics/opengl/TextureMapperGL.cpp:
196         (WebCore::BitmapTextureGL::~BitmapTextureGL):
197         (WebCore::BitmapTextureGL::BitmapTextureGL):
198         (WebCore::TextureMapperGL::TextureMapperGL):
199         (WebCore::TextureMapperGL::drawTexture):
200         * platform/graphics/opengl/TextureMapperGL.h:
201         (WebCore::TextureMapperGL::create):
202         * platform/graphics/qt/TextureMapperQt.cpp:
203         (WebCore::BitmapTextureQt::pack):
204         (WebCore::BitmapTextureQt::unpack):
205         (WebCore::TextureMapper::create):
206         (WebCore::BitmapTextureQt::BitmapTextureQt):
207         * platform/graphics/qt/TextureMapperQt.h: Added.
208
209 2010-11-08  Simon Fraser  <simon.fraser@apple.com>
210
211         Reviewed by Sam Weinig.
212
213         Allow applets to participate in accelerated compositing
214         https://bugs.webkit.org/show_bug.cgi?id=49117
215         <rdar://problem/8625819>
216         
217         Add RenderApplet to the list of renderers that can optionally get RenderLayers,
218         and be composited for some reason.
219
220         Not currently testable.
221
222         * rendering/RenderApplet.h: Outdented the class declaration.
223
224         * rendering/RenderApplet.cpp:
225         (WebCore::RenderApplet::requiresLayer): Return true if the underlying widget
226         has a platform layer.
227         (WebCore::RenderApplet::allowsAcceleratedCompositing): Check the widget to see
228         if it has a platform layer.
229
230         * rendering/RenderLayer.cpp:
231         (WebCore::RenderLayer::shouldBeNormalFlowOnly): Reformat, and add isApplet().
232         (WebCore::RenderLayer::isSelfPaintingLayer): Reformat, and add isApplet().
233         * rendering/RenderLayerBacking.cpp:
234         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use 'renderer' local variable
235         for efficiency. Now check for embedded objects and applets.
236         * rendering/RenderLayerCompositor.cpp:
237         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Check for embedded objects and applets.
238
239 2010-11-08  Xan Lopez  <xlopez@igalia.com>
240
241         Reviewed by Martin Robinson.
242
243         * GNUmakefile.am: add missing files to fix distcheck.
244
245 2010-11-08  Alexander Pavlov  <apavlov@chromium.org>
246
247         Reviewed by David Hyatt.
248
249         getPropertyValue("background") causes crash
250         https://bugs.webkit.org/show_bug.cgi?id=49055
251
252         Test: fast/css/background-norepeat-crash.html
253
254         * css/CSSMutableStyleDeclaration.cpp:
255         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
256
257 2010-11-08  Martin Robinson  <mrobinson@igalia.com>
258
259         Reviewed by Xan Lopez.
260
261         [GTK] Wrapped DOM bindings GObjects do not disconnect event listeners when they die
262         https://bugs.webkit.org/show_bug.cgi?id=49136
263
264         When GObjects are finalized and freed, disconnect their event listeners, so that
265         WebCore does not try to fire signals on dead GObjects. We do this by holding a weak
266         reference to the GObject in the signal listener. When the weak reference notification
267         callback is executed, we disconnect the event listener.
268
269         No new tests; this fix is proved by prevention of crashes in soon to be
270         landed editing delegate signals, which are covered by the layout tests.
271
272         * bindings/gobject/GObjectEventListener.cpp:
273         (WebCore::GObjectEventListener::GObjectEventListener): Updated the constructor.
274         (WebCore::GObjectEventListener::~GObjectEventListener): Disconnect the weak reference
275         if the GObject is still alive.
276         (WebCore::GObjectEventListener::gobjectDestroyed): When the GObject is destroyed,
277         disconnect the appropriate event listener.
278         (WebCore::GObjectEventListener::handleEvent): Changes to reflect use of CString
279         instead of WebCore string.
280         * bindings/gobject/GObjectEventListener.h:
281         (WebCore::GObjectEventListener::addEventListener): Changed create to addEventListener,
282         so that the connection and disconnection is an internal contract to the class.
283         (WebCore::GObjectEventListener::gobjectDestroyedCallback): Added.
284         * bindings/scripts/CodeGeneratorGObject.pm: Modified the code generate to use
285         GObjectEventListener::addEventListener and no longer call addEventListener on
286         its own.
287
288 2010-11-08  Adam Roben  <aroben@apple.com>
289
290         Windows Release build fix after r71514
291
292         The build was failing due to an alignment error. Strangely, depending
293         on the order of SVGStaticPropertyTearOff's members, the build will
294         either fail in Release (as it does before this change), or Debug (as it
295         did before r71514), but not both.
296
297         * svg/properties/SVGStaticPropertyTearOff.h:
298         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff): Copied
299         the #pragma pack trick from JSSVGPODTypeWrapper.h, which has similar
300         issues.
301
302 2010-11-08  Yury Semikhatsky  <yurys@chromium.org>
303
304         Reviewed by Pavel Feldman.
305
306         Web Inspector: decouple ScriptArguments from ScriptCallStack
307         https://bugs.webkit.org/show_bug.cgi?id=48058
308
309         ScriptCallFrame and ScriptCallStack are now the same for both JSC and V8.
310         The factory functions that allow to create ScriptCallStack from VM-specific
311         objects are defined in ScriptCallStackFactory.cpp.
312
313         ScriptArguments class is used for passing arguments from JS code to the native
314         part.
315
316         No new tests. This refactoring is covered with existing Console tests.
317
318         * Android.jscbindings.mk:
319         * Android.v8bindings.mk:
320         * CMakeLists.txt:
321         * GNUmakefile.am:
322         * WebCore.gypi:
323         * WebCore.pro:
324         * WebCore.vcproj/WebCore.vcproj:
325         * WebCore.xcodeproj/project.pbxproj:
326         * bindings/js/JSBindingsAllInOne.cpp:
327         * bindings/js/JSConsoleCustom.cpp:
328         (WebCore::JSConsole::profile):
329         (WebCore::JSConsole::profileEnd):
330         * bindings/js/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/js/ScriptCallStack.cpp.
331         (WebCore::createScriptCallStack):
332         (WebCore::createScriptArguments):
333         (WebCore::ScriptCallStack::stackTrace):
334         * bindings/js/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
335         * bindings/js/ScriptState.cpp:
336         (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
337         (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
338         (WebCore::ScriptStateProtectedPtr::get):
339         * bindings/js/ScriptState.h:
340         * bindings/scripts/CodeGeneratorJS.pm:
341         * bindings/scripts/CodeGeneratorV8.pm:
342         * bindings/scripts/test/JS/JSTestObj.cpp:
343         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
344         * bindings/scripts/test/V8/V8TestObj.cpp:
345         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
346         * bindings/v8/ScriptCallFrame.h: Removed.
347         * bindings/v8/ScriptCallStack.h: Removed.
348         * bindings/v8/ScriptCallStackFactory.cpp: Renamed from WebCore/bindings/v8/ScriptCallStack.cpp.
349         (WebCore::toScriptCallFrame):
350         (WebCore::toScriptCallFramesVector):
351         (WebCore::createScriptCallStack):
352         (WebCore::createScriptArguments):
353         (WebCore::ScriptCallStack::stackTrace):
354         * bindings/v8/ScriptCallStackFactory.h: Copied from WebCore/bindings/js/ScriptCallFrame.cpp.
355         * bindings/v8/ScriptController.cpp:
356         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
357         * bindings/v8/ScriptState.h:
358         (WebCore::ScriptStateProtectedPtr::get):
359         * bindings/v8/V8ConsoleMessage.cpp:
360         (WebCore::V8ConsoleMessage::handler):
361         (WebCore::V8ConsoleMessage::dispatchNow):
362         * bindings/v8/V8ConsoleMessage.h:
363         * bindings/v8/custom/V8ConsoleCustom.cpp:
364         (WebCore::V8Console::traceCallback):
365         (WebCore::V8Console::assertCallback):
366         (WebCore::V8Console::profileCallback):
367         (WebCore::V8Console::profileEndCallback):
368         * dom/NodeFilter.h:
369         * inspector/ConsoleMessage.cpp:
370         (WebCore::ConsoleMessage::ConsoleMessage):
371         (WebCore::ConsoleMessage::addToFrontend):
372         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
373         (WebCore::ConsoleMessage::isEqual):
374         * inspector/ConsoleMessage.h:
375         * inspector/InspectorController.cpp:
376         (WebCore::InspectorController::addMessageToConsole):
377         (WebCore::InspectorController::startGroup):
378         * inspector/InspectorController.h:
379         * inspector/ScriptArguments.cpp: Copied from WebCore/bindings/v8/ScriptCallFrame.cpp.
380         (WebCore::ScriptArguments::ScriptArguments):
381         (WebCore::ScriptArguments::~ScriptArguments):
382         (WebCore::ScriptArguments::argumentAt):
383         (WebCore::ScriptArguments::globalState):
384         (WebCore::ScriptArguments::getFirstArgumentAsString):
385         (WebCore::ScriptArguments::isEqual):
386         * inspector/ScriptArguments.h: Copied from WebCore/bindings/js/ScriptCallFrame.h.
387         (WebCore::ScriptArguments::argumentCount):
388         * inspector/ScriptCallFrame.cpp: Renamed from WebCore/bindings/v8/ScriptCallFrame.cpp.
389         (WebCore::ScriptCallFrame::ScriptCallFrame):
390         (WebCore::ScriptCallFrame::~ScriptCallFrame):
391         (WebCore::ScriptCallFrame::isEqual):
392         (WebCore::ScriptCallFrame::buildInspectorObject):
393         * inspector/ScriptCallFrame.h: Renamed from WebCore/bindings/js/ScriptCallFrame.h.
394         (WebCore::ScriptCallFrame::functionName):
395         (WebCore::ScriptCallFrame::sourceURL):
396         (WebCore::ScriptCallFrame::lineNumber):
397         * inspector/ScriptCallStack.cpp: Renamed from WebCore/bindings/js/ScriptCallFrame.cpp.
398         (WebCore::ScriptCallStack::ScriptCallStack):
399         (WebCore::ScriptCallStack::~ScriptCallStack):
400         (WebCore::ScriptCallStack::at):
401         (WebCore::ScriptCallStack::size):
402         (WebCore::ScriptCallStack::isEqual):
403         (WebCore::ScriptCallStack::buildInspectorObject):
404         * inspector/ScriptCallStack.h: Renamed from WebCore/bindings/js/ScriptCallStack.h.
405         * page/Console.cpp:
406         (WebCore::Console::addMessage):
407         (WebCore::Console::debug):
408         (WebCore::Console::error):
409         (WebCore::Console::info):
410         (WebCore::Console::log):
411         (WebCore::Console::dir):
412         (WebCore::Console::dirxml):
413         (WebCore::Console::trace):
414         (WebCore::Console::assertCondition):
415         (WebCore::Console::count):
416         (WebCore::Console::markTimeline):
417         (WebCore::Console::profile):
418         (WebCore::Console::profileEnd):
419         (WebCore::Console::timeEnd):
420         (WebCore::Console::group):
421         (WebCore::Console::groupCollapsed):
422         (WebCore::Console::shouldCaptureFullStackTrace):
423         (WebCore::Console::warn):
424         * page/Console.h:
425         (WebCore::Console::profiles):
426         * page/Console.idl:
427
428 2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
429
430         Not reviewed. Build fix.
431         
432         Attempt to fix windows builds after r71512. Swap order of members to avoid warning C4121.
433
434         * svg/properties/SVGStaticPropertyTearOff.h:
435         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
436
437 2010-11-08  Mikhail Naganov  <mnaganov@chromium.org>
438
439         Unreviewed. Fix Qt build after r71511.
440
441         * inspector/InspectorController.cpp:
442         (WebCore::InspectorController::restoreInspectorStateFromCookie):
443
444 2010-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
445
446         Reviewed by Dirk Schulze.
447
448         Convert SVGPoint/SVGPointList to the new SVGPropertyTearOff concept
449         https://bugs.webkit.org/show_bug.cgi?id=49067
450
451         Remove SVGAnimatedPoints interface, not reachable through bindings anyway, it was just another MI interface, that
452         now has been integrated into SVGPolylineElement/SVGPolygonElement, simplfying the generation and avoiding virtual
453         calls in SVGPolylineElement/SVGPolygonElement.
454
455         Remove the need to use manual XML <-> SVG DOM synchronization. The points/animatedPoints methods now create
456         SVGListPropertyTearOffs, thus using the same synchronization/expose-to-bindings concept like all other
457         animated properties.
458
459         Convert SVGPoint/SVGPointList to use the new SVGPropertyTearOff concept, adapted all code, as SVGPointList
460         is now a plain Vector<FloatPoint>. Enable StrictTypeChecking for SVGPoint.
461
462         Test: svg/dom/SVGPoint.html
463
464         * Android.derived.v8bindings.mk: Remove SVGAnimatedPoints (and IDL generation).
465         * Android.mk: Ditto.
466         * CMakeLists.txt: Ditto.
467         * DerivedSources.make: Ditto.
468         * GNUmakefile.am: Ditto. Add SVGStaticPropertyTearOff.h to build.
469         * WebCore.gypi: Ditto.
470         * WebCore.order: Remove SVGAnimatedPoints symbols.
471         * WebCore.pro: Remove SVGAnimatedPoints (and IDL generation). Add SVGStaticPropertyTearOff.h to build.
472         * WebCore.vcproj/WebCore.vcproj: Ditto.
473         * WebCore.xcodeproj/project.pbxproj: Ditto.
474         * bindings/objc/DOMSVG.h: Remove DOMSVGAnimatedPoints include.
475         * bindings/scripts/CodeGenerator.pm: Adapt code converting SVGPoint/SVGPointList to use the new SVGPropertyTearOff concepts.
476         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
477         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
478         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
479         * rendering/SVGRenderTreeAsText.cpp: Adapt for SVGPolyElement API change, use pointList() instead of points() (which is only used for bindings now).
480         (WebCore::operator<<):
481         * svg/SVGAllInOne.cpp: Remove SVGAnimatedPoints.cpp.
482         * svg/SVGAnimateElement.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
483         (WebCore::SVGAnimateElement::calculateAnimatedValue):
484         (WebCore::SVGAnimateElement::calculateFromAndToValues):
485         (WebCore::SVGAnimateElement::applyResultsToTarget):
486         * svg/SVGAnimateElement.h:  Ditto.
487         * svg/SVGAnimatedPoints.cpp: Removed.
488         * svg/SVGAnimatedPoints.h: Removed.
489         * svg/SVGAnimatedPoints.idl: Removed.
490         * svg/SVGParserUtilities.cpp: Adapt for SVGPointList API change, it's not refcounted anymore.
491         (WebCore::pointsListFromSVGData):
492         * svg/SVGParserUtilities.h: Ditto.
493         * svg/SVGPoint.idl: Remove PODType marker, and add StrictTypeChecking for x/y attributes.
494         * svg/SVGPointList.cpp: SVGPointList is now a plain Vector<FloatPoint>, rewrite.
495         (WebCore::SVGPointList::valueAsString):
496         (WebCore::SVGPointList::createAnimated):
497         * svg/SVGPointList.h: Ditto.
498         (WebCore::SVGPointList::SVGPointList):
499         * svg/SVGPolyElement.cpp: Remove manual SVG <-> XML DOM synchronization. Now handles through the SVGAnimatedPropertyTearOff concept.
500         (WebCore::SVGPolyElement::parseMappedAttribute):
501         (WebCore::SVGPolyElement::svgAttributeChanged):
502         (WebCore::SVGPolyElement::synchronizeProperty):
503         (WebCore::SVGPolyElement::synchronizePoints):
504         (WebCore::SVGPolyElement::points):
505         (WebCore::SVGPolyElement::animatedPoints):
506         * svg/SVGPolyElement.h: Reindented.
507         (WebCore::SVGPolyElement::pointList):
508         (WebCore::SVGPolyElement::isValid):
509         (WebCore::SVGPolyElement::supportsMarkers):
510         * svg/SVGPolygonElement.cpp: Adapt for SVGPointList API change.
511         (WebCore::SVGPolygonElement::toPathData):
512         * svg/SVGPolygonElement.idl: Remove SVGAnimatedPoints inheritance.
513         * svg/SVGPolylineElement.cpp: Adapt for SVGPointList API change.
514         (WebCore::SVGPolylineElement::toPathData):
515         * svg/SVGPolylineElement.idl: Remove SVGAnimatedPoints inheritance.
516         * svg/SVGSVGElement.cpp:
517         (WebCore::SVGSVGElement::setCurrentTranslate): Use updateCurrentTranslate().
518         (WebCore::SVGSVGElement::updateCurrentTranslate): Added, only used by the bindings, after changing a value of SVGStaticPropertyTearOff object.
519         * svg/SVGSVGElement.h:
520         (WebCore::SVGSVGElement::currentTranslate): Return reference to m_translation.
521         * svg/properties/SVGPropertyTearOff.h: Made constructors protected, as SVGStaticPropertyTearOff inherits from it.
522         (WebCore::SVGPropertyTearOff::commitChange):
523         * svg/properties/SVGPropertyTraits.h: Add SVGPointList handing.
524         * svg/properties/SVGStaticPropertyTearOff.h: Added. Used for SVGProperty types returned by attributes, that are not associated with a SVGAnimatedProperty. (SVGSVGElement::currentTranslate).
525         (WebCore::SVGStaticPropertyTearOff::create):
526         (WebCore::SVGStaticPropertyTearOff::commitChange):
527         (WebCore::SVGStaticPropertyTearOff::SVGStaticPropertyTearOff):
528
529 2010-11-08  Mikhail Naganov  <mnaganov@chromium.org>
530
531         Reviewed by Adam Barth.
532
533         Web Inspector [Chromium]: Make CPU profiling to survive navigation.
534
535         https://bugs.webkit.org/show_bug.cgi?id=48843
536
537         * inspector/Inspector.idl:
538         * inspector/InspectorController.cpp:
539         (WebCore::InspectorController::restoreInspectorStateFromCookie):
540         (WebCore::InspectorController::reuseFrontend):
541         (WebCore::InspectorController::disconnectFrontend):
542         (WebCore::InspectorController::populateScriptObjects):
543         (WebCore::InspectorController::restoreProfiler):
544         (WebCore::InspectorController::didCommitLoad):
545         (WebCore::InspectorController::startUserInitiatedProfiling):
546         (WebCore::InspectorController::stopUserInitiatedProfiling):
547         * inspector/InspectorController.h:
548         (WebCore::InspectorController::startProfiling):
549         (WebCore::InspectorController::stopProfiling):
550         * inspector/InspectorProfilerAgent.cpp:
551         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
552         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
553         * inspector/InspectorProfilerAgent.h:
554         * inspector/InspectorState.cpp:
555         (WebCore::InspectorState::InspectorState):
556         * inspector/InspectorState.h:
557         * inspector/front-end/ProfilesPanel.js:
558         (WebInspector.ProfilesPanel.prototype.hasTemporaryProfile):
559         (WebInspector.ProfilesPanel.prototype.hasProfile):
560         * inspector/front-end/inspector.js:
561         (WebInspector.setRecordingProfile):
562
563 2010-11-08  Renata Hodovan  <reni@webkit.org>
564
565         Reviewed by Nikolas Zimmermann.
566
567         SVGFEConvolveMatrixElement doesn't support dynamic invalidation
568         https://bugs.webkit.org/show_bug.cgi?id=47660
569
570         Wrap orderX and orderY into the common order property according to the w3 standard and remove them from svnattrs.in.
571         The patch implements the orderXIdentifier and orderYIdentifier getter functions to reach
572         properly the orderX and orderY components of order property from SVG DOM.
573
574         Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html
575                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html
576                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html
577                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html
578                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html
579                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html
580                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html
581                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html
582                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html
583                svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html
584
585         * svg/SVGFEConvolveMatrixElement.cpp:
586         (WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
587         (WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
588         * svg/SVGFEConvolveMatrixElement.h:
589         * svg/svgattrs.in:
590
591 2010-11-08  Adam Barth  <abarth@webkit.org>
592
593         Reviewed by Antti Koivisto.
594
595         Rename CachedResourceLoader::m_doc to CachedResourceLoader::m_document
596         https://bugs.webkit.org/show_bug.cgi?id=49163
597
598         The usual convention is to use "document", not "doc" to refer to the
599         document.
600
601         * css/CSSCursorImageValue.cpp:
602         (WebCore::CSSCursorImageValue::cachedImage):
603         * dom/XMLDocumentParserLibxml2.cpp:
604         (WebCore::shouldAllowExternalLoad):
605         * loader/cache/CachedResourceLoader.cpp:
606         (WebCore::CachedResourceLoader::CachedResourceLoader):
607         (WebCore::CachedResourceLoader::frame):
608         (WebCore::CachedResourceLoader::requestImage):
609         (WebCore::CachedResourceLoader::canRequest):
610         (WebCore::CachedResourceLoader::requestResource):
611         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
612         (WebCore::CachedResourceLoader::preload):
613         (WebCore::CachedResourceLoader::checkForPendingPreloads):
614         (WebCore::CachedResourceLoader::requestPreload):
615         * loader/cache/CachedResourceLoader.h:
616         (WebCore::CachedResourceLoader::document):
617         * loader/cache/MemoryCache.cpp:
618         (WebCore::MemoryCache::requestResource):
619         * loader/loader.cpp:
620         (WebCore::Loader::load):
621         (WebCore::Loader::Host::servePendingRequests):
622         (WebCore::Loader::Host::didFinishLoading):
623         (WebCore::Loader::Host::didFail):
624         * xml/XSLTProcessorLibxslt.cpp:
625         (WebCore::docLoaderFunc):
626
627 2010-11-07  Adam Barth  <abarth@webkit.org>
628
629         Unreviewed.  Remove some unneeded includes.
630
631         * loader/FrameLoader.cpp:
632         * loader/PlaceholderDocument.cpp:
633
634 2010-11-07  Adam Barth  <abarth@webkit.org>
635
636         Reviewed by Eric Seidel.
637
638         Rename Cache to MemoryCache
639         https://bugs.webkit.org/show_bug.cgi?id=49159
640
641         So sayeth the diagram.
642
643         * Android.mk:
644         * CMakeLists.txt:
645         * GNUmakefile.am:
646         * WebCore.gypi:
647         * WebCore.pro:
648         * WebCore.vcproj/WebCore.vcproj:
649         * WebCore.xcodeproj/project.pbxproj:
650         * css/CSSImageValue.cpp:
651         * dom/ContainerNode.cpp:
652         * history/PageCache.cpp:
653         * inspector/InspectorCSSStore.h:
654         * inspector/InspectorResourceAgent.cpp:
655         * loader/FrameLoader.cpp:
656         * loader/archive/cf/LegacyWebArchive.cpp:
657         * loader/cache/Cache.cpp: Removed.
658         * loader/cache/Cache.h: Removed.
659         * loader/cache/CachedCSSStyleSheet.cpp:
660         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
661         * loader/cache/CachedFont.cpp:
662         * loader/cache/CachedFont.h:
663         * loader/cache/CachedImage.cpp:
664         (WebCore::CachedImage::destroyDecodedData):
665         * loader/cache/CachedImage.h:
666         * loader/cache/CachedResource.cpp:
667         * loader/cache/CachedResource.h:
668         * loader/cache/CachedResourceLoader.cpp:
669         * loader/cache/CachedResourceLoader.h:
670         * loader/cache/CachedScript.cpp:
671         (WebCore::CachedScript::destroyDecodedData):
672         * loader/cache/MemoryCache.cpp: Copied from WebCore/loader/cache/Cache.cpp.
673         (WebCore::cache):
674         (WebCore::MemoryCache::MemoryCache):
675         (WebCore::MemoryCache::requestResource):
676         (WebCore::MemoryCache::requestUserCSSStyleSheet):
677         (WebCore::MemoryCache::revalidateResource):
678         (WebCore::MemoryCache::revalidationSucceeded):
679         (WebCore::MemoryCache::revalidationFailed):
680         (WebCore::MemoryCache::resourceForURL):
681         (WebCore::MemoryCache::deadCapacity):
682         (WebCore::MemoryCache::liveCapacity):
683         (WebCore::MemoryCache::pruneLiveResources):
684         (WebCore::MemoryCache::pruneDeadResources):
685         (WebCore::MemoryCache::setCapacities):
686         (WebCore::MemoryCache::makeResourcePurgeable):
687         (WebCore::MemoryCache::evict):
688         (WebCore::MemoryCache::addCachedResourceLoader):
689         (WebCore::MemoryCache::removeCachedResourceLoader):
690         (WebCore::MemoryCache::lruListFor):
691         (WebCore::MemoryCache::removeFromLRUList):
692         (WebCore::MemoryCache::insertInLRUList):
693         (WebCore::MemoryCache::resourceAccessed):
694         (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
695         (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
696         (WebCore::MemoryCache::addToLiveResourcesSize):
697         (WebCore::MemoryCache::removeFromLiveResourcesSize):
698         (WebCore::MemoryCache::adjustSize):
699         (WebCore::MemoryCache::TypeStatistic::addResource):
700         (WebCore::MemoryCache::getStatistics):
701         (WebCore::MemoryCache::setDisabled):
702         (WebCore::MemoryCache::dumpStats):
703         (WebCore::MemoryCache::dumpLRULists):
704         * loader/cache/MemoryCache.h: Copied from WebCore/loader/cache/Cache.h.
705         (WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction):
706         * loader/loader.cpp:
707         * page/EventSource.cpp:
708         * page/Settings.h:
709         * xml/XMLHttpRequest.cpp:
710         (WebCore::XMLHttpRequest::createRequest):
711
712 2010-11-07  Eric Seidel  <eric@webkit.org>
713
714         Unreviewed.  Attempt to fix the windows build.
715
716         Move the rest of the cache-related files into loader/cache
717         https://bugs.webkit.org/show_bug.cgi?id=49156
718
719         * WebCore.vcproj/WebCoreCommon.vsprops:
720         * WebCore.vcproj/copyForwardingHeaders.cmd:
721
722 2010-11-07  Eric Seidel  <eric@webkit.org>
723
724         Reviewed by Adam Barth.
725
726         Move the rest of the cache-related files into loader/cache
727         https://bugs.webkit.org/show_bug.cgi?id=49156
728
729         * GNUmakefile.am:
730         * WebCore.gypi:
731         * WebCore.vcproj/WebCore.vcproj:
732         * WebCore.xcodeproj/project.pbxproj:
733         * loader/CachePolicy.h: Removed.
734         * loader/CachedCSSStyleSheet.cpp: Removed.
735         * loader/CachedCSSStyleSheet.h: Removed.
736         * loader/CachedFont.cpp: Removed.
737         * loader/CachedFont.h: Removed.
738         * loader/CachedImage.cpp: Removed.
739         * loader/CachedImage.h: Removed.
740         * loader/CachedResource.cpp: Removed.
741         * loader/CachedResource.h: Removed.
742         * loader/CachedResourceClient.h: Removed.
743         * loader/CachedResourceClientWalker.cpp: Removed.
744         * loader/CachedResourceClientWalker.h: Removed.
745         * loader/CachedResourceHandle.cpp: Removed.
746         * loader/CachedResourceHandle.h: Removed.
747         * loader/CachedResourceLoader.cpp: Removed.
748         * loader/CachedResourceLoader.h: Removed.
749         * loader/CachedScript.cpp: Removed.
750         * loader/CachedScript.h: Removed.
751         * loader/CachedXSLStyleSheet.cpp: Removed.
752         * loader/CachedXSLStyleSheet.h: Removed.
753         * loader/cache/CachePolicy.h: Copied from WebCore/loader/CachePolicy.h.
754         * loader/cache/CachedCSSStyleSheet.cpp: Copied from WebCore/loader/CachedCSSStyleSheet.cpp.
755         * loader/cache/CachedCSSStyleSheet.h: Copied from WebCore/loader/CachedCSSStyleSheet.h.
756         * loader/cache/CachedFont.cpp: Copied from WebCore/loader/CachedFont.cpp.
757         * loader/cache/CachedFont.h: Copied from WebCore/loader/CachedFont.h.
758         * loader/cache/CachedImage.cpp: Copied from WebCore/loader/CachedImage.cpp.
759         * loader/cache/CachedImage.h: Copied from WebCore/loader/CachedImage.h.
760         * loader/cache/CachedResource.cpp: Copied from WebCore/loader/CachedResource.cpp.
761         * loader/cache/CachedResource.h: Copied from WebCore/loader/CachedResource.h.
762         * loader/cache/CachedResourceClient.h: Copied from WebCore/loader/CachedResourceClient.h.
763         * loader/cache/CachedResourceClientWalker.cpp: Copied from WebCore/loader/CachedResourceClientWalker.cpp.
764         * loader/cache/CachedResourceClientWalker.h: Copied from WebCore/loader/CachedResourceClientWalker.h.
765         * loader/cache/CachedResourceHandle.cpp: Copied from WebCore/loader/CachedResourceHandle.cpp.
766         * loader/cache/CachedResourceHandle.h: Copied from WebCore/loader/CachedResourceHandle.h.
767         * loader/cache/CachedResourceLoader.cpp: Copied from WebCore/loader/CachedResourceLoader.cpp.
768         * loader/cache/CachedResourceLoader.h: Copied from WebCore/loader/CachedResourceLoader.h.
769         * loader/cache/CachedScript.cpp: Copied from WebCore/loader/CachedScript.cpp.
770         * loader/cache/CachedScript.h: Copied from WebCore/loader/CachedScript.h.
771         * loader/cache/CachedXSLStyleSheet.cpp: Copied from WebCore/loader/CachedXSLStyleSheet.cpp.
772         * loader/cache/CachedXSLStyleSheet.h: Copied from WebCore/loader/CachedXSLStyleSheet.h.
773
774 2010-11-07  Adam Barth  <abarth@webkit.org>
775
776         Reviewed by Eric Seidel.
777
778         Rename X-Purpose to Purpose
779         https://bugs.webkit.org/show_bug.cgi?id=47802
780
781         As requested by IETF HTTP WG.  This patch is part of a larger movement
782         in the HTTP community to move away from X- headers.  Various senior
783         folks at the IETF believe they're a failed experiment:
784
785         http://tools.ietf.org/html/draft-saintandre-xdash-considered-harmful
786
787         * loader/loader.cpp:
788         (WebCore::Loader::Host::servePendingRequests):
789
790 2010-11-07  Daniel Bates  <dbates@rim.com>
791
792         Reviewed by Adam Barth.
793
794         Assert that a non-null PassRefPtr<Document> has a non-null frame in Frame::setDocument()
795         https://bugs.webkit.org/show_bug.cgi?id=49152
796
797         Add an ASSERT to ensure that a non-null Document has a non-null Frame
798         in Frame::setDocument().
799
800         Currently, whenever Frame::setDocument() is called with a non-null
801         Document the Document has a non-null Frame. We should assert this
802         invariant.
803
804         * page/Frame.cpp:
805         (WebCore::Frame::setDocument):
806
807 2010-11-07  Eric Seidel  <eric@webkit.org>
808
809         Reviewed by Adam Barth.
810
811         Move Cache.* into loader/cache in as a start to cleaning up loader/
812         https://bugs.webkit.org/show_bug.cgi?id=49153
813
814         * Android.mk:
815         * CMakeLists.txt:
816         * GNUmakefile.am:
817         * WebCore.gypi:
818         * WebCore.pro:
819         * WebCore.vcproj/WebCore.vcproj:
820         * WebCore.xcodeproj/project.pbxproj:
821         * loader/cache/Cache.cpp: Renamed from WebCore/loader/Cache.cpp.
822         (WebCore::cache):
823         (WebCore::Cache::Cache):
824         (WebCore::createResource):
825         (WebCore::Cache::requestResource):
826         (WebCore::Cache::requestUserCSSStyleSheet):
827         (WebCore::Cache::revalidateResource):
828         (WebCore::Cache::revalidationSucceeded):
829         (WebCore::Cache::revalidationFailed):
830         (WebCore::Cache::resourceForURL):
831         (WebCore::Cache::deadCapacity):
832         (WebCore::Cache::liveCapacity):
833         (WebCore::Cache::pruneLiveResources):
834         (WebCore::Cache::pruneDeadResources):
835         (WebCore::Cache::setCapacities):
836         (WebCore::Cache::makeResourcePurgeable):
837         (WebCore::Cache::evict):
838         (WebCore::Cache::addCachedResourceLoader):
839         (WebCore::Cache::removeCachedResourceLoader):
840         (WebCore::fastLog2):
841         (WebCore::Cache::lruListFor):
842         (WebCore::Cache::removeFromLRUList):
843         (WebCore::Cache::insertInLRUList):
844         (WebCore::Cache::resourceAccessed):
845         (WebCore::Cache::removeFromLiveDecodedResourcesList):
846         (WebCore::Cache::insertInLiveDecodedResourcesList):
847         (WebCore::Cache::addToLiveResourcesSize):
848         (WebCore::Cache::removeFromLiveResourcesSize):
849         (WebCore::Cache::adjustSize):
850         (WebCore::Cache::TypeStatistic::addResource):
851         (WebCore::Cache::getStatistics):
852         (WebCore::Cache::setDisabled):
853         (WebCore::Cache::dumpStats):
854         (WebCore::Cache::dumpLRULists):
855         * loader/cache/Cache.h: Renamed from WebCore/loader/Cache.h.
856         (WebCore::Cache::LRUList::LRUList):
857         (WebCore::Cache::TypeStatistic::TypeStatistic):
858         (WebCore::Cache::loader):
859         (WebCore::Cache::disabled):
860         (WebCore::Cache::setPruneEnabled):
861         (WebCore::Cache::prune):
862         (WebCore::Cache::setDeadDecodedDataDeletionInterval):
863         (WebCore::Cache::deadDecodedDataDeletionInterval):
864         (WebCore::Cache::remove):
865         (WebCore::Cache::shouldMakeResourcePurgeableOnEviction):
866
867 2010-11-05  Helder Correia  <helder@sencha.com>
868
869         Reviewed by Andreas Kling.
870
871         [Qt] box-shadow does not blur (is solid) when using border-radius
872         https://bugs.webkit.org/show_bug.cgi?id=46327
873
874         Implement blurred box-shadow when styling with border-radius.
875         This change is related to https://bugs.webkit.org/show_bug.cgi?id=44488
876
877         * platform/graphics/qt/GraphicsContextQt.cpp:
878         (WebCore::GraphicsContext::fillRoundedRect):
879
880 2010-11-07  John Reck  <jreck@google.com>
881
882         Reviewed by Steve Block.
883
884         Implements navigator.language for Android
885         https://bugs.webkit.org/show_bug.cgi?id=49099
886         
887         Android was previously hardcoding the value for WebCore::platformDefaultLanguage().
888         This patch removes the hardcoding and calls into the PlatformBridge to get the
889         correct language based off of the user's settings.
890
891         No new tests needed, this is already covered
892
893         * Android.mk:
894         * platform/android/LanguageAndroid.cpp: Added.
895         (WebCore::platformDefaultLanguage):
896         * platform/android/PlatformBridge.h:
897         * platform/android/TemporaryLinkStubs.cpp:
898
899 2010-11-07  Robert Hogan  <robert@webkit.org>
900
901         Reviewed by Andreas Kling.
902
903         [qt] screenDepthPerComponent returns the wrong value
904
905         Return best estimate of the number of bits per color
906         rather than screen depth.
907
908         Add a layout test to sanity check screenDepthPerComponent.
909
910         https://bugs.webkit.org/show_bug.cgi?id=20289
911
912         Test: fast/css/media-rule-screenDepthPerComponent.html
913
914         * platform/qt/PlatformScreenQt.cpp:
915         (WebCore::screenDepthPerComponent):
916
917 2010-11-07  Chang Shu  <chang.shu@nokia.com>
918
919         Reviewed by Antonio Gomes.
920
921         Add a helper function to avoid duplicated code.
922         https://bugs.webkit.org/show_bug.cgi?id=49085
923
924         * dom/SelectElement.cpp:
925         * editing/SelectionController.cpp:
926         (WebCore::SelectionController::modify):
927         * html/HTMLInputElement.cpp:
928         (WebCore::HTMLInputElement::isKeyboardFocusable):
929         * page/EventHandler.cpp:
930         (WebCore::EventHandler::defaultArrowEventHandler):
931         * page/SpatialNavigation.cpp:
932         (WebCore::isSpatialNavigationEnabled):
933         * page/SpatialNavigation.h:
934
935 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
936
937         Reviewed by Simon Fraser.
938
939         Web Inspector: Some image resources don't display the image when selected in the Resources panel.
940         https://bugs.webkit.org/show_bug.cgi?id=48935
941
942         Marked resources loaded from memory cache as finished.
943
944         * inspector/front-end/ResourceManager.js:
945         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
946
947 2010-11-06  Pavel Feldman  <pfeldman@chromium.org>
948
949         Reviewed by Timothy Hatcher.
950
951         Web Inspector: XHR logging is not checked in context menu after browser restart.
952         https://bugs.webkit.org/show_bug.cgi?id=49133
953
954         * inspector/InspectorState.cpp:
955         (WebCore::InspectorState::InspectorState):
956
957 2010-11-06  Ryosuke Niwa  <rniwa@webkit.org>
958
959         Unreviewed Windows build fix.
960
961         * editing/EditingAllInOne.cpp: Added EditingStyle.cpp
962
963 2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
964
965         Reviewed by Darin Adler.
966
967         Bug 46335 - Add EditingStyle
968         https://bugs.webkit.org/show_bug.cgi?id=46335
969
970         Added EditingStyle to WebCore/editing.  This class is intended to encapsulate getPropertiesNotIn, removeNonEditingProperties,
971         editingStyleAtPosition, and prepareEditingStyleToApplyAt in ApplyStyleCommand.cpp once deployed everywhere.
972         Deployed it in typing styles.
973
974         No new tests are added since this is a refactoring in progress.
975
976         * CMakeLists.txt: Added EditingStyle.cpp
977         * GNUmakefile.am: Added EditingStyle.cpp and EditingStyle.h
978         * WebCore.gypi: Ditto.
979         * WebCore.pro: Ditto.
980         * WebCore.xcodeproj/project.pbxproj: Ditto.
981         * editing/CompositeEditCommand.cpp:
982         (WebCore::CompositeEditCommand::moveParagraphs): Calls editingStyleIncludingTypingStyle.
983         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses EditingStyle.
984         * editing/DeleteSelectionCommand.cpp:
985         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
986         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
987         * editing/DeleteSelectionCommand.h:
988         * editing/EditingStyle.cpp: Added.
989         (WebCore::editingStyleFromComputedStyle): Added.
990         (WebCore::EditingStyle::EditingStyle): Added.
991         (WebCore::EditingStyle::init): Added; a clone of ApplyStyleCommand::editingStyleAtPosition.
992         (WebCore::EditingStyle::removeTextFillAndStrokeColorsIfNeeded): Extracted from init.
993         (WebCore::EditingStyle::replaceFontSizeByKeywordIfPossible): Extracted from init.
994         (WebCore::EditingStyle::isEmpty): Added.
995         (WebCore::EditingStyle::setStyle): Added.
996         (WebCore::EditingStyle::clear): Added.
997         (WebCore::EditingStyle::removeBlockProperties): Added.
998         (WebCore::EditingStyle::prepareToApplyAt): Added.
999         (WebCore::editingStyleIncludingTypingStyle): Added.
1000         * editing/EditingStyle.h: Added.
1001         (WebCore::EditingStyle::create): Added.
1002         (WebCore::EditingStyle::style): Added.
1003         * editing/RemoveFormatCommand.cpp:
1004         (WebCore::RemoveFormatCommand::doApply): Uses EditingStyle.
1005         * editing/SelectionController.h:
1006         (WebCore::SelectionController::typingStyle): Uses EditingStyle.
1007         (WebCore::SelectionController::clearTypingStyle): Uses EditingStyle.
1008         (WebCore::SelectionController::setTypingStyle): Uses EditingStyle.
1009         * rendering/style/RenderStyle.h: Added EditingStyle as a friend.
1010
1011 2010-11-05  David Hyatt  <hyatt@apple.com>
1012
1013         Reviewed by Dan Bernstein and Simon Fraser.
1014
1015         https://bugs.webkit.org/show_bug.cgi?id=47237
1016         
1017         Make selection work with vertical text.  This patch fixes a bug in the computation of lineTop.  For lines
1018         with positive leading, lineTop was incorrectly including the top leading.  Since the flipping of lines
1019         for "lr" and "bt" writing modes involved flipping using lineTop and lineBottom, an incorrect lineTop meant
1020         that those modes were mis-rendering.  This is why the Japanese "lr" text examples have the first line smushed
1021         too far against the border.
1022         
1023         Fixing lineTop to no longer incorrectly include top leading has implications for editing.  I ended up
1024         rewriting positionForPoint to exactly match selection, since that seemed to be the most intuitive
1025         behavior.  I got rid of the verticalClickFudgeFactor and now just use selectionTop and selectionBottom
1026         instead of lineTop and lineBottom.  I am pretty sure the code used selectionTop in a previous incarnation
1027         anyway and that I moved away from it when I implemented lineTop and lineBottom.  The code then grew
1028         more complicated from people trying to work with lineTop and lineBottom, but going back to selectionTop
1029         and selectionBottom is the right behavior I think.  One editing test has been updated after this change
1030         (editing/selection/after-line-break.html), and one DOM test has been changed to not hit test past the
1031         bottom of a line (fast/dom/Document/CaretRangeFromPoint/basic.html).
1032         
1033         I patched selection painting of InlineTextBoxes so that the leading going up to the next line box is used
1034         for "lr" and "bt" modes instead of the previous box.  This makes sense for English text, but we may want
1035         a different policy for Japanese text eventually (possibly just splitting the difference instead).  Leaving it
1036         this way for now, and we can collect feedback on the design.
1037         
1038         I rewrote all of the selection gap painting code to be writing-mode aware.  During the course of rewriting this
1039         code I noticed a bug in the logicalLeftSelectionOffset and logicalRightSelectionOffset functions where there
1040         was a coordinate space mismatch on a comparison.  Fixing this improves the repaint/selection-clear.html test.
1041
1042         Added new tests in fast/blockflow/.
1043
1044         * rendering/InlineFlowBox.cpp:
1045         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1046         * rendering/InlineFlowBox.h:
1047         * rendering/InlineTextBox.cpp:
1048         (WebCore::InlineTextBox::selectionBottom):
1049         (WebCore::InlineTextBox::paintSelection):
1050         (WebCore::InlineTextBox::paintCompositionBackground):
1051         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1052         (WebCore::InlineTextBox::paintTextMatchMarker):
1053         * rendering/InlineTextBox.h:
1054         * rendering/RenderBlock.cpp:
1055         (WebCore::RenderBlock::selectionGapRectsForRepaint):
1056         (WebCore::RenderBlock::paintSelection):
1057         (WebCore::clipOutPositionedObjects):
1058         (WebCore::blockDirectionOffset):
1059         (WebCore::inlineDirectionOffset):
1060         (WebCore::RenderBlock::logicalRectToPhysicalRect):
1061         (WebCore::RenderBlock::selectionGaps):
1062         (WebCore::RenderBlock::inlineSelectionGaps):
1063         (WebCore::RenderBlock::blockSelectionGaps):
1064         (WebCore::RenderBlock::blockSelectionGap):
1065         (WebCore::RenderBlock::logicalLeftSelectionGap):
1066         (WebCore::RenderBlock::logicalRightSelectionGap):
1067         (WebCore::RenderBlock::logicalLeftSelectionOffset):
1068         (WebCore::RenderBlock::logicalRightSelectionOffset):
1069         * rendering/RenderBlock.h:
1070         * rendering/RenderBox.cpp:
1071         (WebCore::RenderBox::flipForWritingMode):
1072         * rendering/RenderBox.h:
1073         (WebCore::RenderBox::logicalBottom):
1074         * rendering/RootInlineBox.cpp:
1075         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1076         (WebCore::RootInlineBox::lineSelectionGap):
1077         (WebCore::RootInlineBox::selectionTop):
1078         (WebCore::RootInlineBox::selectionBottom):
1079         * rendering/RootInlineBox.h:
1080
1081 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
1082
1083         Just put things back the way they were. Too many mysterious linker errors.
1084
1085 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
1086
1087         Undo most of the previous commit since the compiler seems to have trouble
1088         with an inlined operator++ in debug builds.
1089
1090         * platform/DeprecatedPtrListImpl.cpp:
1091         (WebCore::DeprecatedPtrListImplIterator::operator++):
1092         * platform/DeprecatedPtrListImpl.h:
1093
1094 2010-11-05  Simon Fraser  <simon.fraser@apple.com>
1095
1096         Reviewed by Dave Hyatt.
1097
1098         Inline some DeprecatedPtrListImplIterator methods for performance
1099         https://bugs.webkit.org/show_bug.cgi?id=49124
1100
1101         This is a ~4% performance improvement on some Peacekeepr "Community" tests.
1102
1103         * platform/DeprecatedPtrListImpl.cpp:
1104         * platform/DeprecatedPtrListImpl.h:
1105         (WebCore::DeprecatedListNode::DeprecatedListNode):
1106         (WebCore::DeprecatedPtrListImplIterator::current):
1107         (WebCore::DeprecatedPtrListImplIterator::operator++):
1108
1109 2010-11-05  Adam Barth  <abarth@webkit.org>
1110
1111         Reviewed by Eric Seidel.
1112
1113         Gray-scale PNGs with color profiles don't decode properly on Chromium Mac
1114         https://bugs.webkit.org/show_bug.cgi?id=49110
1115
1116         Applying the color profile from this PNG was causing the image to
1117         triple in width.  This seems to be because both the PNG decoder and
1118         CoreGraphics were trying to expand the gray-scale image to RGB.  To fix
1119         this issue, I've disabled color profile support for gray-scale PNGs.
1120
1121         Test: fast/images/gray-scale-png-with-color-profile.html
1122
1123         * platform/image-decoders/png/PNGImageDecoder.cpp:
1124         (WebCore::PNGImageDecoder::headerAvailable):
1125
1126 2010-11-05  Jian Li  <jianli@chromium.org>
1127
1128         Reviewed by Dmitry Titov.
1129
1130         Need to check if page is detached in Frame::transferChildFrameToNewDocument to avoid occasional crash
1131         https://bugs.webkit.org/show_bug.cgi?id=49116
1132
1133         The fix is to add the check.
1134
1135         * page/Frame.cpp:
1136         (WebCore::Frame::transferChildFrameToNewDocument):
1137
1138 2010-11-04  Enrica Casucci  <enrica@apple.com>
1139
1140         Reviewed by Adele Peterson.
1141
1142         Pasting large amounts of plain text in a text area is very slow
1143         https://bugs.webkit.org/show_bug.cgi?id=49040
1144         <rdar://problem/7640912>
1145         
1146         The optimization consists in skipping the ApplyStyle command when
1147         pasting into a text area or into an element that has -webkit-user-modify: read-write-plaintext-only.
1148         The biggest performance hit comes from iterating through
1149         a large number of paragraph when no style change is needed.
1150         A further step will be to improve the paragraph iteration when it
1151         can't be avoided.
1152         
1153         * editing/ReplaceSelectionCommand.cpp:
1154         (WebCore::ReplaceSelectionCommand::doApply): Check if the selection
1155         is in a text form control or in an element that has -webkit-user-modify: read-write-plaintext-only
1156         and force no style matching.
1157
1158 2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
1159
1160         Reviewed by David Levin.
1161
1162         JSCallbackData::invokeCallback triggers layout from a worker thread
1163         https://bugs.webkit.org/show_bug.cgi?id=49096
1164
1165         Fixed the bug by only calling updateStyleForAllDocuments when the context is document in
1166         JSCallbackData::invokeCallback.
1167
1168         No new tests are added since many of existing workers tests hit the added assertion in debug builds.
1169
1170         * bindings/js/JSCallbackData.cpp:
1171         (WebCore::JSCallbackData::invokeCallback): No longer calls updateStyleForAllDocuments unconditionally.
1172         * dom/Document.cpp:
1173         (WebCore::Document::updateStyleIfNeeded): Added ASSERT(isMainThread()).
1174         (WebCore::Document::updateStyleForAllDocuments): Ditto.
1175         (WebCore::Document::updateLayout): Ditto.
1176
1177 2010-11-05  Ilya Sherman  <isherman@chromium.org>
1178
1179         Reviewed by Simon Fraser.
1180
1181         Querying selection start and end should be const
1182         https://bugs.webkit.org/show_bug.cgi?id=48786
1183
1184         * rendering/RenderTextControl.cpp:
1185         (WebCore::RenderTextControl::selectionStart):
1186         (WebCore::RenderTextControl::selectionEnd):
1187         (WebCore::RenderTextControl::visiblePositionForIndex):
1188         (WebCore::RenderTextControl::indexForVisiblePosition):
1189         * rendering/RenderTextControl.h:
1190
1191 2010-11-05  Chris Marrin  <cmarrin@apple.com>
1192
1193         Reviewed by Simon Fraser.
1194
1195         Move resumeAnimations/suspendAnimations from Frame to AnimationController.
1196         https://bugs.webkit.org/show_bug.cgi?id=49073
1197
1198         Changed the name of suspendAnimations/resumeAnimations to
1199         suspendAnimationsInDocument/resumeAnimationsInDocument. These are no
1200         longer exported, but have the same functionality as before. I then
1201         added new suspendAnimations/resumeAnimations function which take
1202         no params and suspend/resume on the frame owning the animation
1203         controller and all its child frames. These are the functions that
1204         are now exported. I then changed all the platform specific WebKit
1205         code to use these functions.
1206
1207         * WebCore.exp.in:
1208         * page/Frame.cpp:
1209         * page/Frame.h:
1210         * page/animation/AnimationController.cpp:
1211         (WebCore::AnimationControllerPrivate::suspendAnimations):
1212         (WebCore::AnimationControllerPrivate::resumeAnimations):
1213
1214 2010-11-04  Zhenyao Mo  <zmo@google.com>
1215
1216         Reviewed by Kenneth Russell.
1217
1218         Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
1219         https://bugs.webkit.org/show_bug.cgi?id=49020
1220
1221         * html/canvas/WebGLFramebuffer.cpp:
1222         (WebCore::WebGLFramebuffer::getAttachment): Return the attached renderbuffer/texture.
1223         (WebCore::WebGLFramebuffer::isIncomplete): Add an extra parameter deciding whether we should check internal format matching the attachment point or not.
1224         (WebCore::WebGLFramebuffer::onAccess): Pass extra parameter in isIncomplete.
1225         * html/canvas/WebGLFramebuffer.h:
1226         * html/canvas/WebGLRenderingContext.cpp:
1227         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Pass extra parameter in isIncomplete.
1228         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Emulate DEPTH_STENCIL_ATTACHMENT; re-attach previously conflicted buffers upon detachment.
1229         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Throw an error when conflicted attachments exist.
1230         (WebCore::WebGLRenderingContext::renderbufferStorage): Map DEPTH_STENCIL to DEPTH24_STENCIL8.
1231         * platform/graphics/Extensions3D.h: Add DEPTH24_STENCIL8 enum and update the documentation.
1232         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1233         (WebCore::GraphicsContext3D::framebufferRenderbuffer): Remove emulation code at this level.
1234
1235 2010-11-05  Chris Guillory  <chris.guillory@google.com>
1236
1237         Reviewed by Chris Fleizach.
1238
1239         Keep a reference to the scrollbar in accessibility scrollbar.
1240         https://bugs.webkit.org/show_bug.cgi?id=48896
1241
1242         * accessibility/AccessibilityScrollbar.h:
1243         (WebCore::AccessibilityScrollbar::scrollbar):
1244
1245 2010-11-05  Chang Shu  <chang.shu@nokia.com>
1246
1247         Reviewed by Antonio Gomes.
1248
1249         Add support for <select> element in single selection mode. We use space to
1250         trigger arrow key handling for selection change or spatial navigation.
1251         https://bugs.webkit.org/show_bug.cgi?id=48937
1252
1253         * dom/SelectElement.cpp:
1254         (WebCore::isSpatialNavigationEnabled):
1255         (WebCore::SelectElement::menuListDefaultEventHandler):
1256         (WebCore::SelectElement::listBoxDefaultEventHandler):
1257
1258 2010-11-05  Charlie Reis  <creis@chromium.org>
1259
1260         Reviewed by Darin Fisher.
1261
1262         Need to expose HistoryController::previousItem() for Chromium WebKit API.
1263         https://bugs.webkit.org/show_bug.cgi?id=48809
1264
1265         * loader/HistoryController.h:
1266
1267 2010-11-05  Ryosuke Niwa  <rniwa@webkit.org>
1268
1269         Reviewed by Darin Adler.
1270
1271         Crash in ApplyStyleCommand::surroundNodeRangeWithElement
1272         https://bugs.webkit.org/show_bug.cgi?id=48581
1273
1274         The crash was caused by a false assertion that we can always recover selection in
1275         ApplyStyleCommand::removeInlineStyle.  Fixed the crash by removing the assertion
1276         and adding an early exit to the call site.  Also converted raw pointers to RefPtr
1277         in surroundNodeRangeWithElement and addInlineStyleIfNeeded.
1278
1279         Test (non-Mac platforms): editing/style/iframe-onload-crash.html
1280
1281         * editing/ApplyStyleCommand.cpp:
1282         (WebCore::ApplyStyleCommand::applyInlineStyle):
1283         (WebCore::ApplyStyleCommand::removeInlineStyle):
1284         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
1285         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1286         * editing/ApplyStyleCommand.h:
1287
1288 2010-11-04  Alexey Proskuryakov  <ap@apple.com>
1289
1290         Reviewed by Darin Adler.
1291
1292         https://bugs.webkit.org/show_bug.cgi?id=49008
1293         <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
1294
1295         Instance::m_runtimeObject used to be zeroed out by RuntimeObject destructor. But the
1296         destructor may not be called immediately - GC first marks an object as dead, and only 
1297         destroys it when its cell is overwritten. So, m_runtimeObject would keep pointing to a dead
1298         object.
1299
1300         Functions in JSPluginElementFunctions.cpp put the RuntimeObject on stack for later use,
1301         but if it's already dead, it can be overwritten before use.
1302
1303         The solution is of course to use WeakGCPtr, which returns 0 for dead objects.
1304
1305         * bridge/jsc/BridgeJSC.cpp:
1306         (JSC::Bindings::Instance::Instance):
1307         (JSC::Bindings::Instance::~Instance):
1308         (JSC::Bindings::Instance::createRuntimeObject):
1309         (JSC::Bindings::Instance::willDestroyRuntimeObject):
1310         (JSC::Bindings::Instance::willInvalidateRuntimeObject):
1311         * bridge/jsc/BridgeJSC.h:
1312         * bridge/runtime_object.cpp:
1313         (JSC::Bindings::RuntimeObject::~RuntimeObject):
1314         (JSC::Bindings::RuntimeObject::invalidate):
1315
1316 2010-11-05  Chris Marrin  <cmarrin@apple.com>
1317
1318         Reviewed by Simon Fraser.
1319
1320         Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
1321         https://bugs.webkit.org/show_bug.cgi?id=46945
1322
1323         Add new funtions to suspend and resume animations. The go through all subframes and suspend or resume them
1324         recursively.
1325
1326         Test: animations/stop-animation-on-suspend.html
1327
1328         * WebCore.exp.in:
1329         * page/Frame.cpp:
1330         (WebCore::Frame::suspendAnimations):
1331         (WebCore::Frame::resumeAnimations):
1332         * page/Frame.h:
1333
1334 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
1335
1336         Reviewed by Timothy Hatcher.
1337
1338         Web Inspector: Crash in InspectorDOMAgent::innerParentNode.
1339         https://bugs.webkit.org/show_bug.cgi?id=49054
1340
1341         * inspector/InspectorDOMAgent.cpp:
1342         (WebCore::InspectorDOMAgent::setOuterHTML):
1343
1344 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
1345
1346         Reviewed by Timothy Hatcher.
1347
1348         Web Inspector: XHR logging in console should give complete view of resource.
1349         https://bugs.webkit.org/show_bug.cgi?id=48998
1350
1351         Drive-by fixes: linkify line number to scripts panel, fall back to resources;
1352         enable multiline console entry on shift modifier as well.
1353         
1354         * inspector/front-end/NetworkPanel.js:
1355         (WebInspector.NetworkPanel):
1356         (WebInspector.NetworkPanel.prototype._reset):
1357         (WebInspector.NetworkPanel.prototype.refreshResource):
1358         (WebInspector.NetworkPanel.prototype.canShowSourceLine):
1359         (WebInspector.NetworkPanel.prototype.showSourceLine):
1360         * inspector/front-end/StoragePanel.js:
1361         (WebInspector.StoragePanel.prototype.show):
1362         (WebInspector.StoragePanel.prototype.showSourceLine):
1363         * inspector/front-end/inspector.js:
1364         (WebInspector.showPanel):
1365         (WebInspector.linkifyStringAsFragment):
1366
1367 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
1368
1369         Reviewed by Steve Block.
1370
1371         Clean up IDBTransactionBackend/Coordinator
1372         https://bugs.webkit.org/show_bug.cgi?id=48425
1373
1374         Get rid of obsolete id and thus we don't need the factory method
1375         on IDBTransactionCoordinator that creates IDBTransactionBackends.
1376
1377         Add an assert to IDBTransactionBackend to make sure we're not in
1378         the coordinator and then remove the coordinators ref counting link
1379         to the transaction.
1380
1381         Have the transaction backend zero out refs to the database when its
1382         done using it.
1383
1384         Existing tests provide coverage for this refactoring.
1385
1386         * storage/IDBDatabaseBackendImpl.cpp:
1387         (WebCore::IDBDatabaseBackendImpl::setVersion):
1388         (WebCore::IDBDatabaseBackendImpl::transaction):
1389         * storage/IDBTransactionBackendImpl.cpp:
1390         (WebCore::IDBTransactionBackendImpl::create):
1391         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1392         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
1393         (WebCore::IDBTransactionBackendImpl::abort):
1394         (WebCore::IDBTransactionBackendImpl::commit):
1395         * storage/IDBTransactionBackendImpl.h:
1396         * storage/IDBTransactionBackendInterface.h:
1397         * storage/IDBTransactionCoordinator.cpp:
1398         (WebCore::IDBTransactionCoordinator::didStartTransaction):
1399         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
1400         (WebCore::IDBTransactionCoordinator::isActive):
1401         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
1402         * storage/IDBTransactionCoordinator.h:
1403
1404 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
1405
1406         Reviewed by Steve Block.
1407
1408         IDBFactoryBackend's reference to IDBDatabaseBackend should be weak
1409         https://bugs.webkit.org/show_bug.cgi?id=48416
1410
1411         The factory's lifetime is that of the application, so without making
1412         this weak, IDBDatabaseBackend's will never be closed until the app
1413         terminates.
1414
1415         * storage/IDBDatabaseBackendImpl.cpp:
1416         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1417         (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
1418         * storage/IDBDatabaseBackendImpl.h:
1419         (WebCore::IDBDatabaseBackendImpl::create):
1420         * storage/IDBFactoryBackendImpl.cpp:
1421         (WebCore::IDBFactoryBackendImpl::removeIDBDatabaseBackend):
1422         (WebCore::IDBFactoryBackendImpl::removeSQLiteDatabase):
1423         (WebCore::IDBFactoryBackendImpl::open):
1424         * storage/IDBFactoryBackendImpl.h:
1425
1426 2010-10-27  Jeremy Orlow  <jorlow@chromium.org>
1427
1428         Reviewed by Steve Block.
1429
1430         IDBObjectStoreBackend and IDBIndexBackend should not depend on IDBDatabaseBackend
1431         https://bugs.webkit.org/show_bug.cgi?id=48410
1432
1433         Break dependency cyles between IDBDatabaseBackend and the other classes listed.
1434         This was causing memory leaks.
1435
1436         * storage/IDBCursorBackendImpl.cpp:
1437         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1438         (WebCore::IDBCursorBackendImpl::updateInternal):
1439         (WebCore::IDBCursorBackendImpl::removeInternal):
1440         (WebCore::IDBCursorBackendImpl::database):
1441         * storage/IDBCursorBackendImpl.h:
1442         (WebCore::IDBCursorBackendImpl::create):
1443         * storage/IDBDatabaseBackendImpl.cpp:
1444         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1445         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1446         * storage/IDBIndexBackendImpl.cpp:
1447         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1448         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1449         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
1450         * storage/IDBIndexBackendImpl.h:
1451         (WebCore::IDBIndexBackendImpl::create):
1452         (WebCore::IDBIndexBackendImpl::storeName):
1453         * storage/IDBObjectStoreBackendImpl.cpp:
1454         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1455         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1456         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1457         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1458         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
1459         * storage/IDBObjectStoreBackendImpl.h:
1460         (WebCore::IDBObjectStoreBackendImpl::create):
1461
1462 2010-11-05  Pavel Feldman  <pfeldman@chromium.org>
1463
1464         Reviewed by Timothy Hatcher.
1465
1466         Web Inspector: inspector lags on large resources with numerous <script> tags.
1467         https://bugs.webkit.org/show_bug.cgi?id=49060
1468
1469         * inspector/front-end/ScriptsPanel.js:
1470         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1471
1472 2010-11-05  Patrick Gansterer  <paroga@webkit.org>
1473
1474         Reviewed by David Kilzer.
1475
1476         Replace ARRAYSIZE with WTF_ARRAY_LENGTH
1477         https://bugs.webkit.org/show_bug.cgi?id=48903
1478
1479         * platform/UUID.cpp:
1480         (WebCore::createCanonicalUUIDString):
1481         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1482         (WebCore::FontCache::getFontDataForCharacters):
1483         * platform/graphics/win/FontCacheWin.cpp:
1484         (WebCore::FontCache::getLastResortFallbackFont):
1485         * platform/graphics/win/IconWin.cpp:
1486         (WebCore::Icon::createIconForFiles):
1487         * platform/win/ClipboardUtilitiesWin.cpp:
1488         (WebCore::getWebLocData):
1489         * platform/win/ClipboardWin.cpp:
1490         (WebCore::createGlobalHDropContent):
1491         (WebCore::createGlobalImageFileDescriptor):
1492         (WebCore::ClipboardWin::files):
1493         (WebCore::ClipboardWin::writeURL):
1494         * platform/win/DragDataWin.cpp:
1495         (WebCore::DragData::asFilenames):
1496         * platform/win/FileSystemWin.cpp:
1497         (WebCore::safeCreateFile):
1498
1499 2010-11-05  Roland Steiner  <rolandsteiner@chromium.org>
1500
1501         Reviewed by Dirk Schulze.
1502
1503         Bug 48979 - [Chromium] SVGListPropertyTearOff.h: function commitChange ASSERTs on Win & Mac
1504         https://bugs.webkit.org/show_bug.cgi?id=48979
1505
1506         Function removeItemValuesAndWrappers(): Move code out of 'if' statement so that
1507         'wrappers' and 'values' stay synced.
1508
1509         test: svg/dom/baseVal-animVal-crash.html doesn't ASSERT
1510
1511         * svg/properties/SVGListProperty.h:
1512         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
1513
1514 2010-11-05  John Reck  <jreck@google.com>
1515
1516         Reviewed by Nikolas Zimmermann.
1517
1518         The change to SVGPropertyTearOff by CodeGeneratorV8.pm caused two build failures
1519         for Android. One was a missing SVGPropertyTearOff.h include, the other was a 
1520         missing forward declaration of FloatRect. Seems to be the result of:
1521         https://bugs.webkit.org/show_bug.cgi?id=48204
1522
1523         Bug: https://bugs.webkit.org/show_bug.cgi?id=49025
1524
1525         No tests needed, fixes build issue.
1526
1527         * bindings/scripts/CodeGeneratorV8.pm:
1528
1529 2010-11-05  Rob Buis  <rwlbuis@gmail.com>
1530
1531         Reviewed by David Hyatt.
1532
1533         CSSRule#parentRule always null
1534         https://bugs.webkit.org/show_bug.cgi?id=46228
1535
1536         Ensure MediaList child rules have the MediaList set as parent
1537         in order to correct their parentRule correctness.
1538
1539         Test: fast/dom/css-mediarule-parentRule.html
1540
1541         * css/CSSMediaRule.cpp:
1542         (WebCore::CSSMediaRule::CSSMediaRule):
1543
1544 2010-11-04  Xan Lopez  <xlopez@igalia.com>
1545
1546         Fix the GTK+ build.
1547
1548         * GNUmakefile.am:
1549
1550 2010-10-20  Chang Shu  <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>
1551
1552         Reviewed by Simon Fraser.
1553
1554         [Qt] Makes <input type=text> and <textarea> functional with
1555         Spatial Navigation enabled. Before this patch, the focus cannot
1556         move away from input box once it is in. This patch allows focus
1557         move to neighbor nodes when the caret reaches the edge of the texts.
1558         This patch does not support yet cases where the focused <input>
1559         has a JS handler for the arrow keys.
1560         https://bugs.webkit.org/show_bug.cgi?id=37153
1561
1562         Tests: fast/events/spatial-navigation/snav-input.html
1563                fast/events/spatial-navigation/snav-textarea.html
1564
1565         * editing/EditorCommand.cpp:
1566         (WebCore::executeMoveDown):
1567         (WebCore::executeMoveLeft):
1568         (WebCore::executeMoveRight):
1569         (WebCore::executeMoveUp):
1570         * editing/SelectionController.cpp:
1571         (WebCore::SelectionController::modify):
1572
1573 2010-11-04  Dan Bernstein  <mitz@apple.com>
1574
1575         Build fix.
1576
1577         * editing/Editor.cpp:
1578         (WebCore::Editor::dismissCorrectionPanel):
1579
1580 2010-11-04  Jia Pu  <jpu@apple.com>
1581
1582         Reviewed by Dan Bernstein.
1583
1584         reversion bubble in WebViews
1585         https://bugs.webkit.org/show_bug.cgi?id=47630
1586         <rdar://problem/8530960>
1587
1588         Added manual test:
1589         manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html
1590         manual-tests/autocorrection/delete-to-dismiss-reversion.html
1591         manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
1592         manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html
1593         manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html
1594
1595         We can only manully test this feature for two reasons:
1596         1. On Mac OS X, the result of spell checking is partly determined by past user usage. We can't
1597            realiably generating test cases until we can disable user custom data during spell checking.
1598         2. To exerciese this feature, we need a minimum of 0.3 second delay using WebCore timer.
1599
1600         This patch is to add reversion to correction panel. It consists of following major code changes:
1601         1. Collected all autocorrection related member variables in Editor into a CorrectionPanelInfo
1602            class to improve readability.
1603         2. Changed signature of Editor::startCorrectionPanelTimer() to allow caller to specify the
1604            type of correction panel--regular correction or reversion.
1605         3. Made necessary changes to adopt reversion API in AppKit.
1606         4. Use SUPPORT_CORRECTION_PANEL macro to improve readability.
1607
1608         * GNUmakefile.am: Added CorrectionPanelInfo.h.
1609         * WebCore.gypi: Ditto.
1610         * WebCore.pro: Ditto.
1611         * WebCore.vcproj/WebCore.vcproj: Ditto.
1612         * WebCore.xcodeproj/project.pbxproj:
1613         * editing/CorrectionPanelInfo.h: Added.
1614         * editing/Editor.cpp:
1615         (WebCore::Editor::respondToChangedSelection): Start correction panel timer for reversion when
1616           the new selection is a caret selection at end of a previously corrected word.
1617         (WebCore::Editor::appliedEditing): Stop timer at the beginning of the method instead of at the end.
1618         (WebCore::Editor::~Editor): Adopted new method dismissCorrectionPanel().
1619         (WebCore::Editor::markMisspellingsAfterTypingToPosition): Adopted new method applyCorrectionPanelInfo().
1620         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Code change for new m_correctionPanelInfo
1621           member variable.
1622         (WebCore::Editor::correctionPanelTimerFired): Change to handle reversion panel type.
1623         (WebCore::Editor::handleRejectedCorrection): Ditto.
1624         (WebCore::Editor::startCorrectionPanelTimer): Changed signature to allow passing in panel type.
1625         (WebCore::Editor::stopCorrectionPanelTimer): Adopted macro SUPPORT_CORRECTION_PANEL.
1626         (WebCore::Editor::handleCancelOperation): Ditto.
1627         (WebCore::Editor::isShowingCorrectionPanel): Ditto.
1628         (WebCore::Editor::dismissCorrectionPanel): Update m_correctionPanelInfo when correction panel
1629           is dismissed.
1630         (WebCore::Editor::applyCorrectionPanelInfo): Factored out code that applies autocorrection.
1631         (WebCore::Editor::changeSelectionAfterCommand): Adopt macro SUPPORT_CORRECTION_PANEL.
1632         * editing/Editor.h: Adopted CorrectionPanelInfo and add new member methods.
1633         * editing/EditorCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL
1634         (WebCore::createCommandMap):
1635         * editing/TypingCommand.cpp: Adopted macro SUPPORT_CORRECTION_PANEL and new signature of
1636           startCorrectionPanelTimer().
1637         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1638         * loader/EmptyClients.h:
1639         (WebCore::EmptyEditorClient::showCorrectionPanel): Adopted new signature of base class method.
1640         (WebCore::EmptyEditorClient::dismissCorrectionPanel):  Ditto.
1641         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Added.
1642         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Added.
1643         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Added.
1644         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Added.
1645         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Added.
1646         * page/EditorClient.h: Changed signature of showCorrectionPanel() and dismissCorrectionPanel().
1647         * platform/graphics/mac/GraphicsContextMac.mm: Added comment to improve readability.
1648         (WebCore::GraphicsContext::drawLineForTextChecking):
1649
1650 2010-11-04  Dan Bernstein  <mitz@apple.com>
1651
1652         Reviewed by Dave Hyatt.
1653
1654         Made table layout and painting work with all writing modes. Hit-testing, repainting, tables
1655         where some elements have their own layers, and cells whose writing mode differs from the
1656         table’s are not supported yet.
1657
1658         Make tables work with vertical text
1659         https://bugs.webkit.org/show_bug.cgi?id=46417
1660
1661         Tests: fast/table/027-vertical.html
1662                fast/table/028-vertical.html
1663                fast/table/035-vertical.html
1664                fast/table/038-vertical.html
1665                fast/table/040-vertical.html
1666                fast/table/auto-with-percent-height-vertical.html
1667                fast/table/border-collapsing/001-vertical.html
1668                fast/table/border-collapsing/002-vertical.html
1669                fast/table/border-collapsing/003-vertical.html
1670                fast/table/border-collapsing/004-vertical.html
1671                fast/table/border-collapsing/border-collapsing-head-foot-vertical.html
1672                fast/table/border-collapsing/equal-precedence-resolution-vertical.html
1673                fast/table/border-collapsing/rtl-border-collapsing-vertical.html
1674                fast/table/colspanMinWidth-vertical.html
1675                fast/table/fixed-with-auto-with-colspan-vertical.html
1676                fast/table/growCellForImageQuirk-vertical.html
1677                fast/table/height-percent-test-vertical.html
1678                fast/table/percent-widths-stretch-vertical.html
1679                fast/table/rowspan-paint-order-vertical.html
1680                fast/table/table-display-types-vertical.html
1681
1682         * css/CSSStyleSelector.cpp:
1683         (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables,
1684         make row groups, rows, column groups and columns inherit the table’s writing mode. For now,
1685         make cells do this too.
1686         * html/HTMLTableElement.cpp:
1687         (WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties.
1688         * rendering/RenderTable.cpp:
1689         (WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd.
1690         (WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look
1691         at the logical width instead of the width.
1692         (WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular
1693         containing blocks.
1694         (WebCore::RenderTable::layout): Use logical lengths.
1695         (WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for
1696         the renaming of RenderTableSection::setCellWidths().
1697         (WebCore::RenderTable::paintObject): Account for flipped modes.
1698         (WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes.
1699         (WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect().
1700         (WebCore::RenderTable::paintMask): Ditto.
1701         (WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of
1702         recalcHorizontalBorders().
1703         (WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use
1704         borderStart(). Splits odd number of pixels based on the physical side.
1705         (WebCore::RenderTable::calcBorderEnd): Similar.
1706         (WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this
1707         and updated for other renames.
1708         (WebCore::RenderTable::borderBefore): Replaced borderTop() with this.
1709         (WebCore::RenderTable::borderAfter): Similar.
1710         (WebCore::RenderTable::outerBorderBefore): Similar.
1711         (WebCore::RenderTable::outerBorderAfter): Similar.
1712         (WebCore::RenderTable::outerBorderStart): Similar.
1713         (WebCore::RenderTable::outerBorderEnd): Similar.
1714         (WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights.
1715         (WebCore::RenderTable::overflowClipRect): Account for writing modes.
1716         * rendering/RenderTable.h:
1717         (WebCore::RenderTable::borderStart):
1718         (WebCore::RenderTable::borderEnd):
1719         (WebCore::RenderTable::borderLeft):
1720         (WebCore::RenderTable::borderRight):
1721         (WebCore::RenderTable::borderTop):
1722         (WebCore::RenderTable::borderBottom):
1723         (WebCore::RenderTable::outerBorderLeft):
1724         (WebCore::RenderTable::outerBorderRight):
1725         (WebCore::RenderTable::outerBorderTop):
1726         (WebCore::RenderTable::outerBorderBottom):
1727         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name.
1728         * rendering/RenderTableRow.cpp:
1729         (WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height.
1730         * rendering/RenderTableSection.cpp:
1731         (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use
1732         logical heights.
1733         (WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables.
1734         (WebCore::RenderTableSection::addChild): Updated for rename.
1735         (WebCore::RenderTableSection::ensureRows): Ditto.
1736         (WebCore::RenderTableSection::addCell): Ditto. Also use logical heights.
1737         (WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed
1738         to use logical widths.
1739         (WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with
1740         logical heights.
1741         (WebCore::RenderTableSection::layoutRows):
1742         (WebCore::RenderTableSection::calcOuterBorderBefore):
1743         (WebCore::RenderTableSection::calcOuterBorderAfter):
1744         (WebCore::RenderTableSection::calcOuterBorderStart):
1745         (WebCore::RenderTableSection::calcOuterBorderEnd):
1746         (WebCore::RenderTableSection::recalcOuterBorder):
1747         (WebCore::RenderTableSection::firstLineBoxBaseline):
1748         (WebCore::RenderTableSection::paintCell):
1749         (WebCore::RenderTableSection::recalcCells):
1750         * rendering/RenderTableSection.h:
1751         (WebCore::RenderTableSection::outerBorderBefore):
1752         (WebCore::RenderTableSection::outerBorderAfter):
1753         (WebCore::RenderTableSection::outerBorderStart):
1754         (WebCore::RenderTableSection::outerBorderEnd):
1755
1756 2010-11-04  Kent Tamura  <tkent@chromium.org>
1757
1758         Unreviewed, trivial test fix.
1759
1760         Fix GTK build for http://trac.webkit.org/changeset/71373 .
1761
1762         * GNUmakefile.am: Add HTMLOutputElement.{cpp,h}
1763
1764 2010-11-04  MORITA Hajime  <morrita@google.com>
1765
1766         Reviewed by Kent Tamura.
1767
1768         Stale reference to RenderObject held as FrameView layoutRoot
1769         https://bugs.webkit.org/show_bug.cgi?id=48019
1770         
1771         <progress> and <meter> shouldn't have children of its RenderObject,
1772         which caused unexpected result.
1773         This change suppresses child creation to prevent it.
1774
1775         Tests: fast/dom/HTMLMeterElement/meter-element-with-child-crash.html
1776                fast/dom/HTMLProgressElement/progress-element-with-child-crash.html
1777
1778         * rendering/RenderIndicator.h:
1779         (WebCore::RenderIndicator::canHaveChildren):
1780
1781 2010-11-04  Kenichi Ishibashi  <bashi@google.com>
1782
1783         Reviewed by Kent Tamura.
1784
1785         [HTML5][Forms] Support for <output> element
1786         https://bugs.webkit.org/show_bug.cgi?id=29363
1787
1788         Support for <output> element.
1789
1790         Tests: fast/dom/HTMLOutputElement/dom-settable-token-list.html
1791                fast/dom/HTMLOutputElement/htmloutputelement-reset-event.html
1792                fast/dom/HTMLOutputElement/htmloutputelement-validity.html
1793                fast/dom/HTMLOutputElement/htmloutputelement-value.html
1794                fast/dom/HTMLOutputElement/htmloutputelement.html
1795
1796         * Android.derived.jscbindings.mk: Added JSHTMLOutputElement.h.
1797         * Android.derived.v8bindings.mk: Added V8HTMLOutputElement.h.
1798         * Android.jscbindings.mk: Added JSHTMLOutputElementCustom.cpp.
1799         * Android.mk: Added HTMLOutputElement.cpp.
1800         * Android.v8bindings.mk: Added V8HTMLOutputElementCustom.cpp.
1801         * CMakeLists.txt: Added HTMLOutputElement.{idl,cpp} and JSHTMLOutputElementCustom.cpp.
1802         * DerivedSources.cpp: Added JSHTMLOutputElement.cpp.
1803         * DerivedSources.make: Added HTMLOutputElement entry.
1804         * GNUmakefile.am: Added JSHTMLOutputElement.{cpp,h}
1805         * WebCore.gypi: Added HTMLOutputElement.{idl,cpp,h}, JSHTMLOutputElementCustom.cpp and V8HTMLOutputElementCustom.cpp
1806         * WebCore.pri: Added HTMLOutputElement.idl.
1807         * WebCore.pro: Added V8HTMLOutputElementCustom.cpp, JSHTMLOutputElementCustom.cpp and HTMLOutputElement.cpp.
1808         * WebCore.vcproj/WebCore.vcproj: Added entries for JSHTMLOutputElement.{cpp,h} and JSHTMLOutputElementCustom.cpp.
1809         * WebCore.xcodeproj/project.pbxproj: Added entries for JSHTMLOutputElementCustom.cpp, HTMLOutputElement.{cpp,h,idl}, JSHTMLOutputElement.{cpp,h}
1810         * bindings/js/JSBindingsAllInOne.cpp: Added JSHTMLOutputElementCustom.cpp.
1811         * bindings/js/JSHTMLOutputElementCustom.cpp: Added.
1812         (WebCore::JSHTMLOutputElement::htmlFor):
1813         (WebCore::JSHTMLOutputElement::setHtmlFor):
1814         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Modified.
1815         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Returns null if the index is out of range.
1816         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp: Added.
1817         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
1818         (WebCore::V8HTMLOutputElement::htmlForAccessorSetter):
1819         * css/html.css: Added a default style of output element.
1820         (output):
1821         * html/DOMSettableTokenList.cpp: Fix bugs.
1822         (WebCore::DOMSettableTokenList::item): Returns null string if the index is out of range.
1823         (WebCore::DOMSettableTokenList::addInternal): Added check m_tokens.isNull().
1824         (WebCore::DOMSettableTokenList::setValue): Set the value case sensitive.
1825         * html/HTMLOutputElement.cpp: Added.
1826         (WebCore::HTMLOutputElement::HTMLOutputElement):
1827         (WebCore::HTMLOutputElement::create):
1828         (WebCore::HTMLOutputElement::formControlType):
1829         (WebCore::HTMLOutputElement::parseMappedAttribute):
1830         (WebCore::HTMLOutputElement::htmlFor):
1831         (WebCore::HTMLOutputElement::setFor):
1832         (WebCore::HTMLOutputElement::setForm):
1833         (WebCore::HTMLOutputElement::childrenChanged):
1834         (WebCore::HTMLOutputElement::reset):
1835         (WebCore::HTMLOutputElement::value):
1836         (WebCore::HTMLOutputElement::setValue):
1837         (WebCore::HTMLOutputElement::defaultValue):
1838         (WebCore::HTMLOutputElement::setDefaultValue):
1839         (WebCore::HTMLOutputElement::setTextContentInternal):
1840         * html/HTMLOutputElement.h: Added.
1841         (WebCore::HTMLOutputElement::isEnumeratable):
1842         (WebCore::HTMLOutputElement::willValidate):
1843         * html/HTMLOutputElement.idl: Added.
1844         * html/HTMLTagNames.in: Added "output".
1845         * page/DOMWindow.idl: Added an attribute for HTMLOutputElement.
1846
1847 2010-11-04  Zhenyao Mo  <zmo@google.com>
1848
1849         Reviewed by Kenneth Russell.
1850
1851         Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
1852         https://bugs.webkit.org/show_bug.cgi?id=48938
1853
1854         * html/canvas/WebGLRenderingContext.cpp:
1855         (WebCore::WebGLRenderingContext::initializeNewContext):
1856         (WebCore::WebGLRenderingContext::getParameter):
1857         (WebCore::WebGLRenderingContext::readPixels):
1858         * html/canvas/WebGLRenderingContext.h:
1859         * html/canvas/WebGLRenderingContext.idl:
1860         * platform/graphics/GraphicsContext3D.h:
1861         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1862         (WebCore::GraphicsContext3D::getIntegerv):
1863
1864 2010-11-04  Zhenyao Mo  <zmo@google.com>
1865
1866         Reviewed by Kenneth Russell.
1867
1868         TypedArray should throw exception if length not a multiple of element size
1869         https://bugs.webkit.org/show_bug.cgi?id=45487
1870
1871         * bindings/js/JSArrayBufferViewHelper.h:
1872         (WebCore::constructArrayBufferView):
1873         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1874         (WebCore::constructWebGLArray):
1875
1876 2010-11-04  Kenneth Russell  <kbr@google.com>
1877
1878         Reviewed by Adam Barth.
1879
1880         [chromium] Mac: WebGL: all textured content is blue
1881         https://bugs.webkit.org/show_bug.cgi?id=49021
1882
1883         Added support for 8-bit, little-endian CGImages. The previous
1884         image decode path used the default byte order, which is apparently
1885         big-endian.
1886
1887         Tested with various WebGL content and layout tests in Chromium.
1888         Ran layout tests in WebKit and tested various WebGL content in
1889         Safari. Was not able to run layout tests with Chromium port of
1890         DumpRenderTree due to build failures currently in the tree.
1891
1892         * platform/graphics/GraphicsContext3D.cpp:
1893         (WebCore::doPacking):
1894         * platform/graphics/GraphicsContext3D.h:
1895         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1896         (WebCore::getSourceDataFormat):
1897         (WebCore::GraphicsContext3D::getImageData):
1898
1899 2010-11-03  Zhenyao Mo  <zmo@google.com>
1900
1901         Reviewed by Kenneth Russell.
1902
1903         renderbufferStorage(DEPTH_STENCIL) shouldn't generate an error
1904         https://bugs.webkit.org/show_bug.cgi?id=48891
1905
1906         * html/canvas/WebGLFramebuffer.cpp:
1907         (WebCore::WebGLFramebuffer::isIncomplete): Considering the case where DEPTH_STENCIL is not supported.
1908         * html/canvas/WebGLRenderbuffer.cpp:
1909         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
1910         * html/canvas/WebGLRenderbuffer.h: Add members and accessor functions.
1911         (WebCore::WebGLRenderbuffer::setInternalFormat): 
1912         (WebCore::WebGLRenderbuffer::setSize):
1913         (WebCore::WebGLRenderbuffer::getWidth):
1914         (WebCore::WebGLRenderbuffer::getHeight):
1915         (WebCore::WebGLRenderbuffer::setIsValid):
1916         (WebCore::WebGLRenderbuffer::isValid):
1917         * html/canvas/WebGLRenderingContext.cpp:
1918         (WebCore::WebGLRenderingContext::initializeNewContext): Check if packed_depth_stencil extension exists.
1919         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Simulate the case for DEPTH_STENCIL where packed_depth_stencil is not supported.
1920         (WebCore::WebGLRenderingContext::renderbufferStorage): Bypass the call if packed_depth_stencil is not supported.
1921         * html/canvas/WebGLRenderingContext.h:
1922
1923 2010-11-04  Kavita Kanetkar  <kkanetkar@chromium.org>
1924
1925         Reviewed by Adam Barth.
1926
1927         Web Inspector: Enable files ystem UI for chromium
1928         https://bugs.webkit.org/show_bug.cgi?id=48963
1929
1930         * inspector/Inspector.idl:
1931         * inspector/InspectorFileSystemAgent.cpp:
1932         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
1933         * inspector/InspectorFileSystemAgent.h:
1934         * inspector/front-end/FileSystemView.js:
1935         (WebInspector.FileSystemView):
1936         (WebInspector.FileSystemView.prototype.setFileSystemDisabled):
1937         (WebInspector.FileSystemView.prototype._createTextAndButton):
1938         (WebInspector.FileSystemView.prototype.refreshFileSystem):
1939         * inspector/front-end/StoragePanel.js:
1940         (WebInspector.StoragePanel.prototype.setFileSystemDisabled):
1941         * inspector/front-end/inspector.js:
1942         (WebInspector.didGetFileSystemDisabled):
1943         (WebInspector.reset):
1944
1945 2010-11-04  Robert Hogan  <robert@webkit.org>
1946
1947         Reviewed by Darin Adler.
1948
1949         Stale reference to JSDOMWindow in ScriptController::m_cacheableBindingObject
1950
1951         After bug 37725 we need to update the globalObject() (i.e. JSDOMWindow)
1952         associated with the m_cacheablebindingRootObject every time we clear the
1953         frame and load a new page. This allows the runtime objects
1954         (e.g. LayoutTestController etc.) to persist between navigations as
1955         before but also ensures that when qt_runtime, or any other bridge,
1956         looks at the root->globalObject() of a cacheable binding object
1957         it gets the DOMWindow of the current page rather than the DOMWindow
1958         that was in place when m_cacheableBindingRootObject was created.
1959
1960         Fixes fast/dom/nodesFromRect-basic.html on Qt.
1961
1962         https://bugs.webkit.org/show_bug.cgi?id=48758
1963
1964         * bindings/js/ScriptController.cpp:
1965         (WebCore::ScriptController::clearWindowShell):
1966         * bridge/runtime_root.cpp:
1967         (JSC::Bindings::RootObject::updateGlobalObject):
1968         * bridge/runtime_root.h:
1969
1970 2010-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1971
1972         Reviewed by David Hyatt.
1973
1974         Delegate scrolling via a separate method
1975         https://bugs.webkit.org/show_bug.cgi?id=48988
1976
1977         Add a delegatedScrollRequested method to HostWindow for delegating
1978         scrolling to the view. This is only used in conjunction with tiling,
1979         and is ifdef'ed.
1980
1981         * page/Chrome.cpp:
1982         (WebCore::Chrome::delegatedScrollRequested):
1983         * page/Chrome.h:
1984         * page/ChromeClient.h:
1985         * platform/HostWindow.h:
1986         * platform/ScrollView.cpp:
1987         (WebCore::ScrollView::setScrollPosition):
1988
1989 2010-11-04  Pavel Feldman  <pfeldman@chromium.org>
1990
1991         Reviewed by Timothy Hatcher.
1992
1993         Web Inspector: Need better way of switching back to the Timeline view of the Network tab.
1994         https://bugs.webkit.org/show_bug.cgi?id=48995
1995
1996         - Moved close button to the left, preceding tab headers;
1997         - Auto-adjusting summary bar width when switching to the preview mode
1998         - Auto-scrolling network log if it was scrolled to bottom.
1999
2000         * inspector/front-end/DataGrid.js:
2001         (WebInspector.DataGrid):
2002         (WebInspector.DataGrid.prototype.isScrolledToLastRow):
2003         (WebInspector.DataGrid.prototype.scrollToLastRow):
2004         * inspector/front-end/NetworkPanel.js:
2005         (WebInspector.NetworkPanel):
2006         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
2007         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
2008         (WebInspector.NetworkPanel.prototype.refresh):
2009         (WebInspector.NetworkPanel.prototype._reset):
2010         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2011         * inspector/front-end/inspector.css:
2012         (.tabbed-pane-header li):
2013         * inspector/front-end/networkPanel.css:
2014         (.network-summary-bar):
2015         (#network-close-button):
2016         (#network-views.small #network-close-button):
2017         (#network-views .resource-view .tabbed-pane-header):
2018         (#network-views.small .resource-view .tabbed-pane-header):
2019
2020 2010-11-04  Erik Arvidsson  <arv@chromium.org>
2021
2022         Reviewed by Dimitri Glazkov.
2023
2024         Support box-sizing without the vendor prefix
2025         https://bugs.webkit.org/show_bug.cgi?id=36713
2026
2027         Based on patch by Peter Beverloo <peter@lvp-media.com>
2028
2029         Test: fast/css/box-sizing-backwards-compat-prefix.html
2030
2031         * css/CSSComputedStyleDeclaration.cpp:
2032         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2033         * css/CSSParser.cpp:
2034         (WebCore::CSSParser::parseValue):
2035         (WebCore::cssPropertyID): This handles -webkit-box-sizing and maps it to box-sizing.
2036         * css/CSSPropertyNames.in:
2037         * css/CSSStyleSelector.cpp:
2038         (WebCore::CSSStyleSelector::applyProperty):
2039         * css/quirks.css: Change -webkit-box-sizing to box-sizing.
2040         (input:not([type=image]), textarea):
2041         * css/view-source.css: Ditto.
2042         (.webkit-line-gutter-backdrop, .webkit-line-number):
2043         * css/wml.css: Ditto.
2044         (do):
2045         (select):
2046
2047 2010-11-04  John Reck  <jreck@google.com>
2048
2049         Reviewed by Steve Block.
2050
2051         Fix a linker failure when building for Android
2052         https://bugs.webkit.org/show_bug.cgi?id=48964
2053         
2054         The Android stub for setCookieStoragePrivateBrowsingEnabled(bool) wasn't in the WebCore namespace, which caused
2055         a linker failure when building for Android. Moved the stub to the WebCore namespace. This was caused by 
2056         http://trac.webkit.org/changeset/70400
2057         
2058         No new tests, build fix only
2059
2060         * platform/android/TemporaryLinkStubs.cpp:
2061
2062 2010-11-04  Joseph Pecoraro  <joepeck@webkit.org>
2063
2064         Reviewed by Andreas Kling.
2065
2066         Request.h getters can be made const
2067         https://bugs.webkit.org/show_bug.cgi?id=49003
2068
2069         Added the const qualifier to some getters that don't mutate the object.
2070
2071         * loader/Request.h:
2072         (WebCore::Request::cachedResource):
2073         (WebCore::Request::cachedResourceLoader):
2074         (WebCore::Request::isIncremental):
2075         (WebCore::Request::isMultipart):
2076
2077 2010-11-03  Brian Weinstein  <bweinstein@apple.com>
2078
2079         Reviewed by Brady Eidson.
2080
2081         User scripts shouldn't be injected in a frame's empty initial document.
2082         https://bugs.webkit.org/show_bug.cgi?id=48970
2083         <rdar://problem/8618164>
2084         <rdar://problem/8082122>
2085         
2086         When a frame loads, it first creates an empty initial document, then navigates to the correct URL. Our
2087         current policy with user scripts is to inject them into both the initial empty document, and then inject
2088         them again.
2089         
2090         This causes developers to think their scripts have been injected twice into all iframes, and there is a timing
2091         issue between WebKit1 and WebKit2 that causes start scripts to be injected into the initial empty document
2092         of the main frame when a new tab or window is created.
2093         
2094         The fix for this is to not inject user scripts when the frame is creating its initial empty document before loading
2095         the correct source.
2096
2097         * page/Frame.cpp:
2098         (WebCore::Frame::injectUserScripts):
2099
2100 2010-11-04  Andreas Kling  <kling@webkit.org>
2101
2102         Reviewed by Nikolas Zimmermann.
2103
2104         GraphicsContext: Don't do full save/restore when painting with low quality scaling
2105         https://bugs.webkit.org/show_bug.cgi?id=48738
2106
2107         Stash the imageInterpolationQuality() in a local and reset it after painting.
2108
2109         * platform/graphics/GraphicsContext.cpp:
2110         (WebCore::GraphicsContext::drawImage):
2111         (WebCore::GraphicsContext::drawTiledImage):
2112         (WebCore::GraphicsContext::drawImageBuffer):
2113         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2114         (WebCore::GraphicsContext::imageInterpolationQuality):
2115         * platform/graphics/skia/GraphicsContextSkia.cpp:
2116         (WebCore::GraphicsContext::imageInterpolationQuality):
2117         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2118         (WebCore::GraphicsContext::imageInterpolationQuality):
2119
2120 2010-11-04  Nikolas Zimmermann  <nzimmermann@rim.com>
2121
2122         Reviewed by Andreas Kling.
2123
2124         Refactor SVGStringListPropertyTearOff/SVGListPropertyTearOff to use a common base class
2125         https://bugs.webkit.org/show_bug.cgi?id=48990
2126
2127         Introduce SVGListProperty as common base class between static lists (SVGStringListPropertyTearOff) and dynamic lists (SVGListPropertyTearOff).
2128         This is a preparation for the addition of the next static list type: SVGPointList.
2129
2130         * GNUmakefile.am: Add new files to build.
2131         * WebCore.gypi: Ditto.
2132         * WebCore.pro: Ditto.
2133         * WebCore.vcproj/WebCore.vcproj: Ditto.
2134         * WebCore.xcodeproj/project.pbxproj: Ditto.
2135         * bindings/scripts/CodeGenerator.pm: s/SVGStringListPropertyTearOff/SVGStaticListPropertyTearOff/.
2136         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2137         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2138         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2139         * svg/properties/SVGAnimatedListPropertyTearOff.h: Include SVGStaticListPropertyTearOff.h here, to avoid special dependencies in CodeGenerator*.pm
2140         * svg/properties/SVGListProperty.h: Added.
2141         * svg/properties/SVGListPropertyTearOff.h: Use SVGList API implementation from SVGListProperty base class.
2142         * svg/properties/SVGStaticListPropertyTearOff.h: Added. Use SVGList API implementation from SVGListProperty base class.
2143         * svg/properties/SVGStringListPropertyTearOff.h: Removed.
2144
2145 2010-11-04  Ryosuke Niwa  <rniwa@webkit.org>
2146
2147         Unreviewed. Fixed WebCore.xcodeproject
2148
2149         * WebCore.xcodeproj/project.pbxproj:
2150
2151 2010-11-04  Pratik Solanki  <psolanki@apple.com>
2152
2153         Reviewed by Darin Adler.
2154
2155         Should make use of purge priorities for different resource types
2156         https://bugs.webkit.org/show_bug.cgi?id=48684
2157
2158         Assign purge priorities to CachedResource objects. JavaScript and CSS stylesheets are more
2159         important than images so hint to the kernel to purge them last. We do this by repurposing
2160         the previously unused function, PurgeableBuffer::setPurgePriority(). It now just sets the
2161         priority field and does not have side-effects like calling makePurgeable(true).
2162
2163         Also, remove unusued PurgeableBuffer::create(const Vector<char>&) function and move the
2164         purgeable memory size threshold from CachedResource to PurgeableBuffer.
2165
2166         * WebCore.xcodeproj/project.pbxproj: Add new PurgePriority.h header and mark it as private
2167         header.
2168         * loader/CachedCSSStyleSheet.h:
2169         (WebCore::CachedCSSStyleSheet::purgePriority):
2170         * loader/CachedImage.h:
2171         (WebCore::CachedImage::purgePriority):
2172         * loader/CachedResource.cpp:
2173         (WebCore::CachedResource::makePurgeable): Set the purge priority on the PurgeableBffer.
2174         Also, move the check for purgeable size threshold to PurgeableBuffer.
2175         * loader/CachedResource.h:
2176         (WebCore::CachedResource::purgePriority): Added. New virtual method that lets the class
2177         specify its purge priority.
2178         * loader/CachedScript.h:
2179         (WebCore::CachedScript::purgePriority):
2180         * platform/PurgePriority.h: Added. Move the PurgePriority enum from PurgeableBuffer class to
2181         its own header file.
2182         (WebCore::):
2183         * platform/PurgeableBuffer.h:
2184         (WebCore::PurgeableBuffer::setPurgePriority): Update this previously unused function to just
2185         set the priority and not call makePurgeable(true).
2186         * platform/mac/PurgeableBufferMac.cpp: Update size threshold to 16KB which is what
2187         CachedResource was using.
2188
2189 2010-11-04  Chris Guillory  <chris.guillory@google.com>
2190
2191         Reviewed by Chris Fleizach.
2192
2193         Ignore static text children of text field controls in the accessibility tree.
2194         https://bugs.webkit.org/show_bug.cgi?id=48944
2195
2196         * accessibility/AccessibilityRenderObject.cpp:
2197         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2198
2199 2010-11-04  Erik Arvidsson  <arv@chromium.org>
2200
2201         Reviewed by Tony Chang.
2202
2203         Computed style is not correct for negative values in the presence of zooming
2204         https://bugs.webkit.org/show_bug.cgi?id=48855
2205
2206         * rendering/style/RenderStyle.h:
2207         (WebCore::adjustForAbsoluteZoom): When the value is less than zero we need to decrement instead of increment.
2208
2209 2010-11-04  Shane Stephens  <shanestephens@google.com>
2210
2211         Reviewed by Tony Chang.
2212
2213         SVGStyledTransformableElement supplemental transforms pre-multiplied
2214         but should be post-multiplied.
2215         https://bugs.webkit.org/show_bug.cgi?id=48026
2216
2217         Test: svg/animations/animate-path-nested-transforms.svg
2218
2219         * svg/SVGStyledTransformableElement.cpp:
2220         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
2221         
2222         Switched order of multiplication.  Note that due to a bug in
2223         AffineTransform's operator* implementation the order of arguments is
2224         reversed (see http://bugs.webkit.org/show_bug.cgi?id=48031).
2225
2226 2010-11-04  James Simonsen  <simonjam@chromium.org>
2227
2228         Reviewed by Darin Fisher.
2229
2230         [Web Timing] Implement dom* timing marks
2231         https://bugs.webkit.org/show_bug.cgi?id=46301
2232
2233         Test: fast/dom/webtiming-document-open.html
2234
2235         * GNUmakefile.am: Added DocumentTiming.h
2236         * WebCore.gypi: Ditto.
2237         * WebCore.vcproj/WebCore.vcproj: Ditto.
2238         * WebCore.xcodeproj/project.pbxproj: Ditto.
2239         * dom/Document.cpp:
2240         (WebCore::Document::setReadyState): Set DOM WebTiming marks.
2241         (WebCore::Document::finishedParsing): Set DOM WebTiming marks.
2242         * dom/Document.h:
2243         (WebCore::Document::timing): Added.
2244         * dom/DocumentTiming.h: Added.
2245         (WebCore::DocumentTiming::DocumentTiming):
2246         * page/Timing.cpp: Added DOM timing.
2247         (WebCore::Timing::domLoading): Ditto.
2248         (WebCore::Timing::domInteractive): Ditto.
2249         (WebCore::Timing::domContentLoaded): Ditto.
2250         (WebCore::Timing::domComplete): Ditto.
2251         (WebCore::Timing::documentTiming): Ditto.
2252         * page/Timing.h: Ditto.
2253         * page/Timing.idl: Ditto.
2254
2255 2010-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2256
2257         Reviewed by Martin Robinson.
2258
2259         [GTK] Implement unencodable characters handling in TextCodecGtk::encode()
2260         https://bugs.webkit.org/show_bug.cgi?id=48902
2261
2262         Fixes a crash in test fast/encoding/char-encoding.html.
2263
2264         * platform/text/gtk/TextCodecGtk.cpp:
2265         (WebCore::TextCodecGtk::encode):
2266
2267 2010-11-04  Adam Barth  <abarth@webkit.org>
2268
2269         Enabled ICCJPEG on Chromium Mac
2270         https://bugs.webkit.org/show_bug.cgi?id=48977
2271
2272         Add iccjpeg as a dependency.
2273
2274         * WebCore.gyp/WebCore.gyp:
2275
2276 2010-11-03  Kent Tamura  <tkent@chromium.org>
2277
2278         Reviewed by Dimitri Glazkov.
2279
2280         Framework to show form validation message for invalid controls
2281         https://bugs.webkit.org/show_bug.cgi?id=31718
2282
2283         HTMLFormElement::validateInteractively() shows a validation message for
2284         an invalid control by HTMLFormControlElement::updateVisibleValidationMessage(),
2285         and the message is hidden when the invalid control looses focus, becomes
2286         valid, detached, or the form is submitted again.
2287
2288         Introduce ValidationMessage class to manage visible form validation
2289         message. It has no implementation to show/hide a message yet.
2290
2291         No new tests. New behavior is disabled by default, and is timing-dependent.
2292
2293         * Android.mk: Add ValidationMessage.
2294         * CMakeLists.txt: ditto.
2295         * GNUmakefile.am: ditto.
2296         * WebCore.gypi: ditto.
2297         * WebCore.pro: ditto.
2298         * WebCore.vcproj/WebCore.vcproj: ditto.
2299         * WebCore.xcodeproj/project.pbxproj: ditto.
2300         * html/HTMLFormControlElement.cpp:
2301         (WebCore::HTMLFormControlElement::detach): Hides a validation message.
2302         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
2303            Hides a validation message if validation is not needed.
2304         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
2305         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
2306         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
2307           Hides a validation message or updates the validation message.
2308         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
2309           Hides a validation message.
2310         (WebCore::HTMLFormControlElement::visibleValidationMessage):
2311         * html/HTMLFormControlElement.h:
2312         * html/HTMLFormElement.cpp:
2313         (WebCore::HTMLFormElement::validateInteractively):
2314          - Hide existing validation messages before showing new message.
2315          - Show new validation message.
2316         * html/ValidationMessage.cpp: Added.
2317         (WebCore::ValidationMessage::ValidationMessage):
2318         (WebCore::ValidationMessage::~ValidationMessage):
2319         (WebCore::ValidationMessage::create):
2320         (WebCore::ValidationMessage::setMessage):
2321         (WebCore::ValidationMessage::hideMessage):
2322         * html/ValidationMessage.h: Added.
2323         (WebCore::ValidationMessage::message):
2324
2325 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
2326
2327         Reviewed by Adam Roben.
2328
2329         Port WCDataObject.cpp to WinCE
2330         https://bugs.webkit.org/show_bug.cgi?id=48921
2331
2332         OleDuplicateData is not supported on WinCE.
2333
2334         * platform/win/WCDataObject.cpp:
2335         (WebCore::WCDataObject::CopyMedium):
2336
2337 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
2338
2339         Reviewed by Adam Roben.
2340
2341         Port ClipboardWin.cpp to WinCE
2342         https://bugs.webkit.org/show_bug.cgi?id=48412
2343
2344         * platform/win/ClipboardWin.cpp:
2345         (WebCore::writeFileToDataObject):
2346
2347 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
2348
2349         Reviewed by Adam Roben.
2350
2351         Port ClipboardWin.cpp to WinCE
2352         https://bugs.webkit.org/show_bug.cgi?id=48412
2353
2354         * platform/win/ClipboardWin.cpp:
2355         (WebCore::filesystemPathFromUrlOrTitle):
2356         (WebCore::createGlobalHDropContent):
2357         (WebCore::ClipboardWin::files):
2358
2359 2010-11-03  Vincent Scheib  <scheib@chromium.org>
2360
2361         Reviewed by James Robinson.
2362
2363         [chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
2364         https://bugs.webkit.org/show_bug.cgi?id=48850
2365
2366         Implementations of GraphicsContext3D may respect the creation attribute
2367         canRecoverFromContextLoss being false, and then only succeeding initialization if
2368         the context can satisfy that request of never being lost. DX9 on XP can not satisfy
2369         such a request.
2370
2371         Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.
2372
2373         * platform/graphics/GraphicsContext3D.h:
2374         (WebCore::GraphicsContext3D::Attributes::Attributes):
2375         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2376         (WebCore::SharedGraphicsContext3D::create):
2377
2378 2010-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2379
2380         Reviewed by Martin Robinson.
2381
2382         [GTK] Use sentence boundaries instead of start/end sentence
2383         https://bugs.webkit.org/show_bug.cgi?id=48422
2384
2385         Using sentence boundaries all intersentence
2386         whitespace/control/format characters are assigned to a
2387         sentence. This is what ICU does, so we have to do the same in
2388         order to get the same results with glib unicode backend. It fixes
2389         the sentence tests cases in test fast/dom/Range/range-expand.html.
2390
2391         * platform/text/gtk/TextBreakIteratorGtk.cpp:
2392         (WebCore::textBreakNext):
2393         (WebCore::textBreakPrevious):
2394
2395 2010-11-03  Zhenyao Mo  <zmo@google.com>
2396
2397         Reviewed by Kenneth Russell.
2398
2399         depthRange should generate INVALID_OPERATION if zNear is greater than zFar
2400         https://bugs.webkit.org/show_bug.cgi?id=48676
2401
2402         * html/canvas/WebGLRenderingContext.cpp:
2403         (WebCore::WebGLRenderingContext::depthRange):
2404
2405 2010-11-03  Adrienne Walker  <enne@google.com>
2406
2407         Reviewed by Kenneth Russell.
2408
2409         Properly return empty strings instead of null when using invalid
2410         objects for some WebGL calls.  This fixes issues caused by r71274.
2411         https://bugs.webkit.org/show_bug.cgi?id=48962
2412
2413         * html/canvas/WebGLRenderingContext.cpp:
2414         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2415         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2416         (WebCore::WebGLRenderingContext::getShaderSource):
2417
2418 2010-11-01  Ryosuke Niwa  <rniwa@webkit.org>
2419
2420         Reviewed by Darin Adler.
2421
2422         Crash in ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle
2423         https://bugs.webkit.org/show_bug.cgi?id=48581
2424
2425         The crash was caused by RemoveNodePreservingChildrenCommand's calling removeNode
2426         on m_node without checking that m_node has a parent and it's still in the document.
2427         Fixed the crash by adding an early exit in CompositeEditCommand::removeNode and
2428         deploying RefPtr in several places of ApplyStyleCommand.cpp.
2429
2430         Test: editing/style/iframe-onload-crash.html
2431
2432         * editing/ApplyStyleCommand.cpp:
2433         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2434         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
2435         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
2436         * editing/ApplyStyleCommand.h:
2437         * editing/CompositeEditCommand.cpp:
2438         (WebCore::CompositeEditCommand::removeNode):
2439
2440 2010-11-03  Jia Pu  <jpu@apple.com>
2441
2442         Reviewed by Darin Adler.
2443
2444         Crashes in WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair() when deleting multiple lines of text.
2445         https://bugs.webkit.org/show_bug.cgi?id=48918
2446         <rdar://problem/8620602>
2447
2448         I haven't been able to found a reliable way to reproduce the bug. However, whenever it happens,
2449         the crash is caused by a null node pointer returned by TextIterator. So it seems to be a 
2450         safe fix to guard against that. 
2451
2452         * editing/Editor.cpp: (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
2453
2454 2010-11-02  Zhenyao Mo  <zmo@google.com>
2455
2456         Reviewed by Kenneth Russell.
2457
2458         A different mask or reference value in stencil operations should generate INVALID_OPERATION
2459         https://bugs.webkit.org/show_bug.cgi?id=48669
2460
2461         * html/canvas/WebGLRenderingContext.cpp:
2462         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init stencil func ref/mask and stencil mask to default.
2463         (WebCore::WebGLRenderingContext::stencilFunc): Cache ref/mask value.
2464         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Generate error if front/back values differ.
2465         (WebCore::WebGLRenderingContext::stencilMask): Cache mask value.
2466         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Generate error if front/back values differ.
2467         (WebCore::WebGLRenderingContext::validateFace): Validate face parameter.
2468         (WebCore::WebGLRenderingContext::validateStencilFunc): Validate stencil func parameter.
2469         * html/canvas/WebGLRenderingContext.h: Add members to track stencil func ref/mask and stencil mask.
2470
2471 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
2472
2473         Reverting r71244, r71248 and r71250. Broke default event handling inside text fields.
2474         https://bugs.webkit.org/show_bug.cgi?id=46015
2475
2476         * Android.mk:
2477         * CMakeLists.txt:
2478         * GNUmakefile.am:
2479         * WebCore.gypi:
2480         * WebCore.pro:
2481         * WebCore.vcproj/WebCore.vcproj:
2482         * WebCore.xcodeproj/project.pbxproj:
2483         * dom/ContainerNode.cpp:
2484         (WebCore::notifyChildInserted):
2485         * dom/DOMAllInOne.cpp:
2486         * dom/EventContext.cpp: Removed.
2487         * dom/EventContext.h: Removed.
2488         * dom/Node.cpp:
2489         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
2490         (WebCore::Node::createRendererIfNeeded):
2491         (WebCore::Node::eventParentNode):
2492         (WebCore::Node::enclosingLinkEventParentOrSelf):
2493         (WebCore::eventTargetAsSVGElementInstance):
2494         (WebCore::eventTargetRespectingSVGTargetRules):
2495         (WebCore::Node::eventAncestors):
2496         (WebCore::Node::dispatchGenericEvent):
2497         * dom/Node.h:
2498         * dom/Text.cpp:
2499         (WebCore::Text::createRenderer):
2500         * dom/WindowEventContext.cpp: Removed.
2501         * dom/WindowEventContext.h: Removed.
2502         * inspector/InspectorDOMAgent.cpp:
2503         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2504         * inspector/InspectorInstrumentation.cpp:
2505         (WebCore::eventHasListeners):
2506         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2507         * inspector/InspectorInstrumentation.h:
2508         (WebCore::InspectorInstrumentation::willDispatchEvent):
2509         * page/EventHandler.cpp:
2510         (WebCore::EventHandler::updateMouseEventTargetNode):
2511         * rendering/ShadowElement.h:
2512         (WebCore::ShadowElement::shadowParent):
2513         (WebCore::ShadowElement::shadowParentNode):
2514         * svg/SVGElement.cpp:
2515         (WebCore::SVGElement::eventParentNode):
2516         * svg/SVGElement.h:
2517
2518 2010-11-03  Adam Barth  <abarth@webkit.org>
2519
2520         Reviewed by Eric Seidel.
2521
2522         CG use of WebKit image decoders crashes on some animated GIFs
2523         https://bugs.webkit.org/show_bug.cgi?id=48955
2524
2525         It turns out CFDataGetMutableBytePtr isn't safe call on a null pointer.
2526
2527         Test: fast/images/dont-crash-with-null-gif-frames.html
2528
2529         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2530         (WebCore::RGBA32Buffer::copyReferenceToBitmapData):
2531         (WebCore::RGBA32Buffer::copyBitmapData):
2532
2533 2010-11-03  Adrienne Walker  <enne@google.com>
2534
2535         Reviewed by Kenneth Russell.
2536
2537         Implement lost, restored, and creation failure context events for
2538         WebGLRenderingContext.  The lost and restored functions are not hooked
2539         up yet, but the context now acts according to the spec as it should
2540         during a lost context.  Tested manually, as there's no programmatic
2541         way to lose a context yet.
2542         https://bugs.webkit.org/show_bug.cgi?id=35626
2543
2544         * WebCore.gypi:
2545         * WebCore.xcodeproj/project.pbxproj:
2546         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2547         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2548         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2549         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2550         * dom/EventNames.h:
2551         * html/canvas/WebGLContextEvent.cpp: Added.
2552         (WebCore::WebGLContextEvent::WebGLContextEvent):
2553         (WebCore::WebGLContextEvent::~WebGLContextEvent):
2554         (WebCore::WebGLContextEvent::initEvent):
2555         * html/canvas/WebGLContextEvent.h: Added.
2556         (WebCore::WebGLContextEvent::create):
2557         (WebCore::WebGLContextEvent::statusMessage):
2558         * html/canvas/WebGLContextEvent.idl: Added.
2559         * html/canvas/WebGLRenderingContext.cpp:
2560         (WebCore::WebGLRenderingContext::create):
2561         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2562         (WebCore::WebGLRenderingContext::initializeNewContext):
2563         (WebCore::WebGLRenderingContext::activeTexture):
2564         (WebCore::WebGLRenderingContext::attachShader):
2565         (WebCore::WebGLRenderingContext::bindAttribLocation):
2566         (WebCore::WebGLRenderingContext::bindBuffer):
2567         (WebCore::WebGLRenderingContext::bindFramebuffer):
2568         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2569         (WebCore::WebGLRenderingContext::bindTexture):
2570         (WebCore::WebGLRenderingContext::blendColor):
2571         (WebCore::WebGLRenderingContext::blendEquation):
2572         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2573         (WebCore::WebGLRenderingContext::blendFunc):
2574         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2575         (WebCore::WebGLRenderingContext::bufferData):
2576         (WebCore::WebGLRenderingContext::bufferSubData):
2577         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2578         (WebCore::WebGLRenderingContext::clear):
2579         (WebCore::WebGLRenderingContext::clearColor):
2580         (WebCore::WebGLRenderingContext::clearDepth):
2581         (WebCore::WebGLRenderingContext::clearStencil):
2582         (WebCore::WebGLRenderingContext::colorMask):
2583         (WebCore::WebGLRenderingContext::compileShader):
2584         (WebCore::WebGLRenderingContext::copyTexImage2D):
2585         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2586         (WebCore::WebGLRenderingContext::createBuffer):
2587         (WebCore::WebGLRenderingContext::createFramebuffer):
2588         (WebCore::WebGLRenderingContext::createTexture):
2589         (WebCore::WebGLRenderingContext::createProgram):
2590         (WebCore::WebGLRenderingContext::createRenderbuffer):
2591         (WebCore::WebGLRenderingContext::createShader):
2592         (WebCore::WebGLRenderingContext::cullFace):
2593         (WebCore::WebGLRenderingContext::deleteBuffer):
2594         (WebCore::WebGLRenderingContext::deleteFramebuffer):
2595         (WebCore::WebGLRenderingContext::deleteProgram):
2596         (WebCore::WebGLRenderingContext::deleteRenderbuffer):
2597         (WebCore::WebGLRenderingContext::deleteShader):
2598         (WebCore::WebGLRenderingContext::deleteTexture):
2599         (WebCore::WebGLRenderingContext::depthFunc):
2600         (WebCore::WebGLRenderingContext::depthMask):
2601         (WebCore::WebGLRenderingContext::depthRange):
2602         (WebCore::WebGLRenderingContext::detachShader):
2603         (WebCore::WebGLRenderingContext::disable):
2604         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2605         (WebCore::WebGLRenderingContext::drawArrays):
2606         (WebCore::WebGLRenderingContext::drawElements):
2607         (WebCore::WebGLRenderingContext::enable):
2608         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2609         (WebCore::WebGLRenderingContext::finish):
2610         (WebCore::WebGLRenderingContext::flush):
2611         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2612         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2613         (WebCore::WebGLRenderingContext::frontFace):
2614         (WebCore::WebGLRenderingContext::generateMipmap):
2615         (WebCore::WebGLRenderingContext::getActiveAttrib):
2616         (WebCore::WebGLRenderingContext::getActiveUniform):
2617         (WebCore::WebGLRenderingContext::getAttachedShaders):
2618         (WebCore::WebGLRenderingContext::getAttribLocation):
2619         (WebCore::WebGLRenderingContext::getBufferParameter):
2620         (WebCore::WebGLRenderingContext::getContextAttributes):
2621         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2622         (WebCore::WebGLRenderingContext::getParameter):
2623         (WebCore::WebGLRenderingContext::getProgramParameter):
2624         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2625         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2626         (WebCore::WebGLRenderingContext::getShaderParameter):
2627         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2628         (WebCore::WebGLRenderingContext::getShaderSource):
2629         (WebCore::WebGLRenderingContext::getTexParameter):
2630         (WebCore::WebGLRenderingContext::getUniform):
2631         (WebCore::WebGLRenderingContext::getUniformLocation):
2632         (WebCore::WebGLRenderingContext::getVertexAttrib):
2633         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
2634         (WebCore::WebGLRenderingContext::hint):
2635         (WebCore::WebGLRenderingContext::isBuffer):
2636         (WebCore::WebGLRenderingContext::isContextLost):
2637         (WebCore::WebGLRenderingContext::isEnabled):
2638         (WebCore::WebGLRenderingContext::isFramebuffer):
2639         (WebCore::WebGLRenderingContext::isProgram):
2640         (WebCore::WebGLRenderingContext::isRenderbuffer):
2641         (WebCore::WebGLRenderingContext::isShader):
2642         (WebCore::WebGLRenderingContext::isTexture):
2643         (WebCore::WebGLRenderingContext::lineWidth):
2644         (WebCore::WebGLRenderingContext::linkProgram):
2645         (WebCore::WebGLRenderingContext::pixelStorei):
2646         (WebCore::WebGLRenderingContext::polygonOffset):
2647         (WebCore::WebGLRenderingContext::readPixels):
2648         (WebCore::WebGLRenderingContext::releaseShaderCompiler):
2649         (WebCore::WebGLRenderingContext::renderbufferStorage):
2650         (WebCore::WebGLRenderingContext::sampleCoverage):
2651         (WebCore::WebGLRenderingContext::scissor):
2652         (WebCore::WebGLRenderingContext::shaderSource):
2653         (WebCore::WebGLRenderingContext::stencilFunc):
2654         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2655         (WebCore::WebGLRenderingContext::stencilMask):
2656         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2657         (WebCore::WebGLRenderingContext::stencilOp):
2658         (WebCore::WebGLRenderingContext::stencilOpSeparate):
2659         (WebCore::WebGLRenderingContext::texImage2D):
2660         (WebCore::WebGLRenderingContext::texParameter):
2661         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2662         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2663         (WebCore::WebGLRenderingContext::texSubImage2D):
2664         (WebCore::WebGLRenderingContext::uniform1f):
2665         (WebCore::WebGLRenderingContext::uniform1fv):
2666         (WebCore::WebGLRenderingContext::uniform1i):
2667         (WebCore::WebGLRenderingContext::uniform1iv):
2668         (WebCore::WebGLRenderingContext::uniform2f):
2669         (WebCore::WebGLRenderingContext::uniform2fv):
2670         (WebCore::WebGLRenderingContext::uniform2i):
2671         (WebCore::WebGLRenderingContext::uniform2iv):
2672         (WebCore::WebGLRenderingContext::uniform3f):
2673         (WebCore::WebGLRenderingContext::uniform3fv):
2674         (WebCore::WebGLRenderingContext::uniform3i):
2675         (WebCore::WebGLRenderingContext::uniform3iv):
2676         (WebCore::WebGLRenderingContext::uniform4f):
2677         (WebCore::WebGLRenderingContext::uniform4fv):
2678         (WebCore::WebGLRenderingContext::uniform4i):
2679         (WebCore::WebGLRenderingContext::uniform4iv):
2680         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2681         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2682         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2683         (WebCore::WebGLRenderingContext::useProgram):
2684         (WebCore::WebGLRenderingContext::validateProgram):
2685         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2686         (WebCore::WebGLRenderingContext::viewport):
2687         (WebCore::WebGLRenderingContext::loseContext):
2688         (WebCore::WebGLRenderingContext::restoreContext):
2689         (WebCore::WebGLRenderingContext::addObject):
2690         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2691         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2692         * html/canvas/WebGLRenderingContext.h:
2693         * html/canvas/WebGLRenderingContext.idl:
2694         * platform/graphics/GraphicsContext3D.h:
2695
2696 2010-11-03  Kenneth Russell  <kbr@google.com>
2697
2698         Reviewed by Chris Marrin.
2699
2700         Redesign extension mechanism in GraphicsContext3D
2701         https://bugs.webkit.org/show_bug.cgi?id=46894
2702
2703         Upon request, factored out extension support from GraphicsContext3D
2704         into a new Extensions3D class. (The plural was chosen because the
2705         class and subclasses hold multiple extensions.)
2706
2707         Unlike GraphicsContext3D, Extensions3D contains only pure virtual
2708         methods. This was done because Extensions3D's inheritance diagram
2709         and usage pattern is very different from that of GraphicsContext3D,
2710         and the concrete subclasses need to decide how to implement the
2711         various entry points. Requiring them to be placed at the
2712         Extensions3D level will cause implementation details to leak into
2713         the base class, which is highly undesirable. Any virtual call
2714         overhead to these entry points will be negligible.
2715
2716         Changed call sites utilizing these extensions to call through the
2717         Extensions3D object or its subclasses.
2718
2719         Tested:
2720          - Chromium on Linux with accelerated 2D canvas and HTML5 video
2721          - Chromium on Mac OS X with WebGL and CSS 3D content
2722          - Safari on Mac OS X with WebGL and CSS 3D content
2723
2724         No new tests. Covered by existing tests.
2725
2726         * WebCore.gypi:
2727         * WebCore.pro:
2728         * WebCore.xcodeproj/project.pbxproj:
2729         * platform/graphics/Extensions3D.h: Added.
2730         (WebCore::Extensions3D::~Extensions3D):
2731         * platform/graphics/GraphicsContext3D.cpp:
2732         * platform/graphics/GraphicsContext3D.h:
2733         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2734         (WebCore::DrawingBuffer::DrawingBuffer):
2735         (WebCore::DrawingBuffer::publishToPlatformLayer):
2736         * platform/graphics/chromium/Extensions3DChromium.h: Added.
2737         * platform/graphics/chromium/VideoLayerChromium.cpp:
2738         (WebCore::VideoLayerChromium::updateTexture):
2739         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2740         (WebCore::SharedGraphicsContext3D::supportsBGRA):
2741         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2742         * platform/graphics/gpu/Texture.cpp:
2743         (WebCore::convertFormat):
2744         * platform/graphics/mac/GraphicsContext3DMac.mm:
2745         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added.
2746         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
2747         (WebCore::Extensions3DOpenGL::~Extensions3DOpenGL):
2748         (WebCore::Extensions3DOpenGL::supports):
2749         (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
2750         * platform/graphics/opengl/Extensions3DOpenGL.h: Added.
2751         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2752         (WebCore::GraphicsContext3D::getExtensions):
2753         * platform/graphics/qt/Extensions3DQt.cpp: Added.
2754         (WebCore::Extensions3DQt::Extensions3DQt):
2755         (WebCore::Extensions3DQt::~Extensions3DQt):
2756         (WebCore::Extensions3DQt::supports):
2757         (WebCore::Extensions3DQt::getGraphicsResetStatusARB):
2758         * platform/graphics/qt/Extensions3DQt.h: Added.
2759         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2760         (WebCore::GraphicsContext3D::getExtensions):
2761         * platform/graphics/skia/PlatformContextSkia.cpp:
2762         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
2763
2764 2010-11-03  Mike Thole  <mthole@apple.com>
2765
2766         Reviewed by Darin Adler.
2767         
2768         Tweak coding style (follow-up to r71264).
2769         
2770         * platform/mac/Language.mm:
2771         (WebCore::createHTTPStyleLanguageCode): Style tweaks.
2772
2773 2010-11-03  Darin Adler  <darin@apple.com>
2774
2775         Updated Xcode projects by opening them with Xcode 3.2.4.
2776         Updated svn:ignore for Xcode projects.
2777
2778         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added property svn:ignore.
2779         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Updated with Xcode 3.2.4.
2780
2781 2010-11-03  Matthew Delaney  <mdelaney@apple.com>
2782
2783         Reviewed by Darin Adler.
2784
2785         Fix canvas/philip/tests/2d.pattern.image.undefined.html
2786         https://bugs.webkit.org/show_bug.cgi?id=48894
2787
2788         * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Changed error thrown to match the spec.
2789
2790 2010-11-03  Simon Fraser  <simon.fraser@apple.com>
2791
2792         Reviewed by John Sullivan.
2793
2794         Crash when setting context font to bad value
2795         https://bugs.webkit.org/show_bug.cgi?id=48948
2796         
2797         Null-check the CSSValue passed to CSSStyleSelector::applyPropertyToStyle(),
2798         since it may be null if the style declaration does not contain a value
2799         for the 'font' property.
2800
2801         Test: fast/canvas/invalid-set-font-crash.html
2802
2803         * css/CSSStyleSelector.cpp:
2804         (WebCore::CSSStyleSelector::applyPropertyToStyle):
2805
2806 2010-11-03  Mike Thole  <mthole@apple.com>
2807
2808         Reviewed by Alexey Proskuryakov.
2809
2810         Crash under WebCore::platformDefaultLanguage() when using Arabic language
2811         https://bugs.webkit.org/show_bug.cgi?id=48946
2812
2813         * platform/mac/Language.mm:
2814         (WebCore::createHTTPStyleLanguageCode):
2815         Retain the lowercaseLanguageCode string before returning it.  This was the code path that
2816         would lead to a crash.  Also removed early return to prevent a leak of preferredLanguageCode.
2817
2818 2010-11-03  Dan Bernstein  <mitz@apple.com>
2819
2820         Reviewed by Dave Hyatt.
2821
2822         Made table column width allocation algorithms use logical widths.
2823
2824         Part of: Make tables work with vertical text
2825         https://bugs.webkit.org/show_bug.cgi?id=46417
2826
2827         No new tests since tables don’t support different block flows yet.
2828
2829         * rendering/AutoTableLayout.cpp:
2830         (WebCore::AutoTableLayout::AutoTableLayout):
2831         (WebCore::AutoTableLayout::recalcColumn):
2832         (WebCore::AutoTableLayout::fullRecalc):
2833         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
2834         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2835         (WebCore::AutoTableLayout::insertSpanCell):
2836         (WebCore::AutoTableLayout::layout):
2837         * rendering/AutoTableLayout.h:
2838         (WebCore::AutoTableLayout::Layout::Layout):
2839         * rendering/FixedTableLayout.cpp:
2840         (WebCore::FixedTableLayout::calcWidthArray):
2841         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
2842         (WebCore::FixedTableLayout::layout):
2843         * rendering/FixedTableLayout.h:
2844         * rendering/RenderTable.h:
2845         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Renamed, but not changed yet.
2846
2847 2010-11-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
2848
2849         Unreviewed build fix for r71253
2850
2851         #endif for TILED_BACKING_STORE was at the wrong place.
2852
2853         * platform/graphics/qt/GraphicsLayerQt.cpp:
2854         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
2855
2856 2010-11-03  David Hyatt  <hyatt@apple.com>
2857
2858         Reviewed by Dan Bernstein.
2859
2860         https://bugs.webkit.org/show_bug.cgi?id=48945
2861         
2862         Patch logicalLeftSelectionOffset and logicalRightSelectionOffset to be directionally abstract.
2863         
2864         Also make sure writing mode roots are also selection painting roots.
2865
2866         * rendering/RenderBlock.cpp:
2867         (WebCore::RenderBlock::isSelectionRoot):
2868         (WebCore::RenderBlock::logicalLeftSelectionOffset):
2869         (WebCore::RenderBlock::logicalRightSelectionOffset):
2870         * rendering/RenderBlock.h:
2871
2872 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
2873
2874         Reviewed by Timothy Hatcher.
2875
2876         Web Inspector: main resource is being re-assigned upon iframe's commit load.
2877         https://bugs.webkit.org/show_bug.cgi?id=48940
2878
2879         * inspector/front-end/ResourceManager.js:
2880         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
2881         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
2882
2883 2010-11-03  Nate Chapin  <japhet@chromium.org>
2884
2885         Reviewed by Alexey Proskuryakov.
2886
2887         Wait to stop all loads for a frame being detached until after its
2888         chidlren have been detached. This ensures that any loads started
2889         by a child's unload event handler will be properly cancelled.
2890         https://bugs.webkit.org/show_bug.cgi?id=46579
2891
2892         Tests: fast/loader/ping-error.html
2893                http/tests/navigation/image-load-in-subframe-unload-handler.html
2894
2895         * loader/FrameLoader.cpp:
2896         (WebCore::FrameLoader::detachFromParent):
2897
2898 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
2899
2900         Reviewed by Simon Fraser.
2901
2902         Web Inspector: show proper image size for cached resources.
2903         https://bugs.webkit.org/show_bug.cgi?id=48915
2904
2905         * inspector/front-end/ExtensionServer.js:
2906         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2907         * inspector/front-end/ImageView.js:
2908         (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
2909         (WebInspector.ImageView.prototype.contentTabSelected):
2910         (WebInspector.ImageView.prototype._base64ToSize):
2911         * inspector/front-end/NetworkPanel.js:
2912         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
2913         * inspector/front-end/Resource.js:
2914         (WebInspector.Resource.prototype.set finished):
2915         (WebInspector.Resource.prototype.get content):
2916         (WebInspector.Resource.prototype.requestContent):
2917         (WebInspector.Resource.prototype._innerRequestContent):
2918         * inspector/front-end/ResourceManager.js:
2919         (WebInspector.ResourceManager.requestContent):
2920         * inspector/front-end/SourceView.js:
2921         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2922
2923 2010-11-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
2924
2925         Reviewed by Kenneth Rohde Christiansen.
2926
2927         [Qt] GraphicsLayer: support tiling
2928         https://bugs.webkit.org/show_bug.cgi?id=39691
2929
2930         Add support for TiledBackingStore in GraphicsLayerQt, when a layer is too large.
2931
2932         No new tests. Tests in LayoutTests/compositing/tiling now work with OpenGL enabled.
2933
2934         * platform/graphics/qt/GraphicsLayerQt.cpp:
2935         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2936         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
2937         (WebCore::GraphicsLayerQtImpl::recache):
2938         (WebCore::GraphicsLayerQtImpl::paint):
2939         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintBegin):
2940         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaint):
2941         (WebCore::GraphicsLayerQtImpl::tiledBackingStorePaintEnd):
2942         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreContentsRect):
2943         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreBackgroundColor):
2944         (WebCore::GraphicsLayerQtImpl::tiledBackingStoreVisibleRect):
2945
2946 2010-11-03  Tony Chang  <tony@chromium.org>
2947
2948         Reviewed by Ojan Vafai.
2949
2950         Undo r54932 which inappropriately adjusts font sizes on zoomed pages
2951         https://bugs.webkit.org/show_bug.cgi?id=48890
2952
2953         Test: editing/inserting/page-zoom-font-size.html
2954
2955         * editing/ReplaceSelectionCommand.cpp:
2956         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
2957
2958 2010-11-03  Dan Bernstein  <mitz@apple.com>
2959
2960         Reviewed by Dave Hyatt.
2961
2962         Make collapsed borders in tables work with different block flows
2963         https://bugs.webkit.org/show_bug.cgi?id=46191
2964
2965         No new tests since tables don’t support different block flows yet.
2966
2967         This change still doesn’t support cells whose block flow differs from the table’s.
2968
2969         * rendering/AutoTableLayout.cpp:
2970         (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
2971         (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
2972         * rendering/FixedTableLayout.cpp:
2973         (WebCore::FixedTableLayout::calcWidthArray): Ditto.
2974         * rendering/RenderBlock.cpp:
2975         (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
2976         * rendering/RenderTableCell.cpp:
2977         (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
2978         changed to use logical widths.
2979         (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
2980         (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
2981         to set the logical width.
2982         (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
2983         Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow
2984         the two to differ.
2985         (WebCore::RenderTableCell::collapsedEndBorder): Similar.
2986         (WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
2987         (WebCore::RenderTableCell::collapsedAfterBorder): Similar.
2988         (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
2989         the table’s block flow.
2990         (WebCore::RenderTableCell::collapsedRightBorder): Similar.
2991         (WebCore::RenderTableCell::collapsedTopBorder): Similar.
2992         (WebCore::RenderTableCell::collapsedBottomBorder): Similar.
2993         (WebCore::RenderTableCell::borderStart): Use borderHalfStart().
2994         (WebCore::RenderTableCell::borderEnd): Similar.
2995         (WebCore::RenderTableCell::borderBefore): Similar.
2996         (WebCore::RenderTableCell::borderAfter): Similar.
2997         (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
2998         table’s block flow.
2999         (WebCore::RenderTableCell::borderHalfRight): Similar.
3000         (WebCore::RenderTableCell::borderHalfTop): Similar.
3001         (WebCore::RenderTableCell::borderHalfBottom): Similar.
3002         (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
3003         widths based on physical side.
3004         (WebCore::RenderTableCell::borderHalfEnd): Similar.
3005         (WebCore::RenderTableCell::borderHalfBefore): Similar.
3006         (WebCore::RenderTableCell::borderHalfAfter): Similar.
3007         (WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
3008         (WebCore::RenderTableCell::paintCollapsedBorder): Updated.
3009         * rendering/RenderTableCell.h:
3010         * rendering/RenderTableSection.cpp:
3011         (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
3012         * rendering/style/RenderStyle.cpp:
3013         (WebCore::RenderStyle::borderBefore): Added.
3014         (WebCore::RenderStyle::borderAfter): Added.
3015         (WebCore::RenderStyle::borderStart): Added.
3016         (WebCore::RenderStyle::borderEnd): Adeed.
3017         * rendering/style/RenderStyle.h:
3018
3019 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
3020
3021         Fix Win build correctly after r71244 and r71248
3022
3023         * WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
3024         * dom/DOMAllInOne.cpp: Added files to build into a combined file.
3025
3026 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
3027
3028         Fix Qt, Win builds after r71244.
3029
3030         * WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
3031         * dom/Text.cpp:
3032         (WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.
3033
3034 2010-11-03  David Hyatt  <hyatt@apple.com>
3035
3036         Reviewed by Dan Bernstein.
3037
3038         https://bugs.webkit.org/show_bug.cgi?id=48928
3039         
3040         Rename all the selection gap functions to not be directionally specific.  Left and Right turn into LogicalLeft and
3041         LogicalRight.  Horizontal becomes Line.  Vertical becomes Block.
3042
3043         * rendering/RenderBlock.cpp:
3044         (WebCore::RenderBlock::selectionGapRectsForRepaint):
3045         (WebCore::RenderBlock::paintSelection):
3046         (WebCore::RenderBlock::fillSelectionGaps):
3047         (WebCore::RenderBlock::fillInlineSelectionGaps):
3048         (WebCore::RenderBlock::fillBlockSelectionGaps):
3049         (WebCore::RenderBlock::fillLineSelectionGap):
3050         (WebCore::RenderBlock::fillBlockSelectionGap):
3051         (WebCore::RenderBlock::fillLogicalLeftSelectionGap):
3052         (WebCore::RenderBlock::fillLogicalRightSelectionGap):
3053         (WebCore::RenderBlock::getSelectionGapInfo):
3054         (WebCore::RenderBlock::logicalLeftSelectionOffset):
3055         (WebCore::RenderBlock::logicalRightSelectionOffset):
3056         * rendering/RenderBlock.h:
3057         * rendering/RootInlineBox.cpp:
3058         (WebCore::RootInlineBox::fillLineSelectionGap):
3059
3060 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
3061
3062         Reviewed by Darin Adler.
3063
3064         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
3065         https://bugs.webkit.org/show_bug.cgi?id=46015
3066
3067         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
3068         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
3069
3070         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
3071         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
3072
3073         * Android.mk: Added EventContext, WindowEventContext files.
3074         * CMakeLists.txt: Ditto.
3075         * GNUmakefile.am: Ditto.
3076         * WebCore.gypi: Ditto.
3077         * WebCore.pro: Ditto.
3078         * WebCore.xcodeproj/project.pbxproj: Ditto.
3079         * WebCore.vcproj/WebCore.vcproj: Ditto.
3080         * dom/ContainerNode.cpp:
3081         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
3082         * dom/EventContext.cpp: Added.
3083         * dom/EventContext.h: Added.
3084         * dom/Node.cpp:
3085         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
3086         (WebCore::Node::createRendererIfNeeded): Ditto.
3087         (WebCore::Node::parentOrHostNode): Added new helper method.
3088         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
3089         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
3090         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
3091         (WebCore::Node::topEventContext): Added.
3092         (WebCore::eventHasListeners): Changed to use EventContexts.
3093         (WebCore::Node::dispatchGenericEvent): Ditto.
3094         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
3095             and changed signature of eventAncestors to use EventContexts.
3096         * dom/Text.cpp:
3097         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
3098         * inspector/InspectorDOMAgent.cpp:
3099         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
3100         * page/EventHandler.cpp:
3101         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
3102         * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
3103         is deleted.
3104         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
3105         * svg/SVGElement.h: Ditto.
3106         * dom/WindowEventContext.cpp: Added.
3107         * dom/WindowEventContext.h: Added.
3108
3109 2010-11-02  Mikhail Naganov  <mnaganov@chromium.org>
3110
3111         Reviewed by Pavel Feldman.
3112
3113         Web Inspector: Fix console messages about starting and finishing profiling.
3114
3115         https://bugs.webkit.org/show_bug.cgi?id=48825
3116
3117         * inspector/InspectorProfilerAgent.cpp:
3118         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
3119         * inspector/front-end/ProfilesPanel.js:
3120         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
3121
3122 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3123
3124         Reviewed by Andreas Kling.
3125
3126         chrome.dll!WebCore::SVGLength::SVGLength ...
3127         https://bugs.webkit.org/show_bug.cgi?id=48831
3128
3129         Test: svg/dom/baseVal-animVal-crash.html
3130
3131         * svg/properties/SVGListPropertyTearOff.h:
3132         (WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
3133         (WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
3134         (WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
3135         (WebCore::SVGListPropertyTearOff::appendItem): Ditto.
3136         (WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
3137         * svg/properties/SVGPropertyTearOff.h:
3138         (WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.
3139
3140 2010-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3141
3142         Reviewed by Andreas Kling.
3143
3144         Make it possible to delegate scrolling to the UI
3145         https://bugs.webkit.org/show_bug.cgi?id=48907
3146
3147         Add a WebCore setting for delegating scrolling to the actual
3148         WebKit view, which means that setScrollPosition will call
3149         scrollContents directly without going though the scrollbar
3150         code.
3151
3152         * page/FrameView.cpp:
3153         (WebCore::FrameView::delegatesScrolling):
3154         * page/FrameView.h:
3155         * page/Settings.cpp:
3156         (WebCore::Settings::Settings):
3157         (WebCore::Settings::setShouldDelegateScrolling):
3158         * page/Settings.h:
3159         (WebCore::Settings::shouldDelegateScrolling):
3160         * platform/ScrollView.cpp:
3161         (WebCore::ScrollView::setScrollPosition):
3162         * platform/ScrollView.h:
3163         (WebCore::ScrollView::delegatesScrolling):
3164
3165 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
3166
3167         Reviewed by Adam Roben.
3168
3169         [WINCE] Add SharedBitmap
3170         https://bugs.webkit.org/show_bug.cgi?id=28272
3171
3172         SharedBitmap is a helper class used as NativeImagePtr for WinCE.
3173         It's wide used by WinCE graphics files as a replacement of HBITMAP.
3174
3175         Originally written by Yong Li <yong.li@torchmobile.com>.
3176
3177         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3178         (WebCore::TransparentLayerDC::TransparentLayerDC):
3179         (WebCore::TransparentLayerDC::~TransparentLayerDC):
3180         (WebCore::ScopeDCProvider::ScopeDCProvider):
3181         (WebCore::ScopeDCProvider::~ScopeDCProvider):
3182         (WebCore::GraphicsContext::drawText):
3183         * platform/graphics/wince/SharedBitmap.cpp: Added.
3184         (WebCore::SharedBitmap::create):
3185         (WebCore::SharedBitmap::SharedBitmap):
3186         (WebCore::SharedBitmap::~SharedBitmap):
3187         (WebCore::SharedBitmap::resetPixels):
3188         (WebCore::convert32To16):
3189         (WebCore::SharedBitmap::to16bit):
3190         (WebCore::SharedBitmap::freeMemory):
3191         (WebCore::SharedBitmap::createHandle):
3192         (WebCore::SharedBitmap::ensureHandle):
3193         (WebCore::SharedBitmap::draw):
3194         (WebCore::SharedBitmap::clipBitmap):
3195         (WebCore::drawPatternSimple):
3196         (WebCore::normalizePhase):
3197         (WebCore::SharedBitmap::drawPattern):
3198         (WebCore::SharedBitmap::DCProvider::getDC):
3199         (WebCore::SharedBitmap::DCProvider::releaseDC):
3200         (WebCore::SharedBitmap::clearPixels):
3201         * platform/graphics/wince/SharedBitmap.h: Added.
3202         (WebCore::DCProvider::getDC):
3203         (WebCore::DCProvider::releaseDC):
3204         (WebCore::DCProvider::DCHolder::DCHolder):
3205         (WebCore::DCProvider::DCHolder::~DCHolder):
3206         (WebCore::DCProvider::DCHolder::set):
3207         (WebCore::DCProvider::DCHolder::get):
3208         (WebCore::DCProvider::DCHolder::clearInternal):
3209         (WebCore::DCProvider::DCHolder::setInternal):
3210
3211 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3212
3213         Reviewed by Dirk Schulze.
3214
3215         chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
3216         https://bugs.webkit.org/show_bug.cgi?id=48829
3217
3218         Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
3219         When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
3220         as the wrapper cache was out of sync with the underlying SVG*List vector.
3221
3222         Test: svg/dom/baseVal-animVal-list-crash.html
3223
3224         * svg/properties/SVGAnimatedListPropertyTearOff.h:
3225         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
3226         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
3227         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
3228         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
3229         (WebCore::SVGAnimatedListPropertyTearOff::values):
3230         (WebCore::SVGAnimatedListPropertyTearOff::wrappers):
3231         (WebCore::SVGAnimatedListPropertyTearOff::create):
3232         (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
3233         * svg/properties/SVGListPropertyTearOff.h:
3234         (WebCore::SVGListPropertyTearOff::create):
3235         (WebCore::SVGListPropertyTearOff::removeItemFromList):
3236         (WebCore::SVGListPropertyTearOff::clear):
3237         (WebCore::SVGListPropertyTearOff::numberOfItems):
3238         (WebCore::SVGListPropertyTearOff::initialize):
3239         (WebCore::SVGListPropertyTearOff::getItem):
3240         (WebCore::SVGListPropertyTearOff::insertItemBefore):
3241         (WebCore::SVGListPropertyTearOff::replaceItem):
3242         (WebCore::SVGListPropertyTearOff::removeItem):
3243         (WebCore::SVGListPropertyTearOff::appendItem):
3244         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
3245         (WebCore::SVGListPropertyTearOff::commitChange):
3246
3247 2010-11-02  Ilya Tikhonovsky  <loislo@chromium.org>
3248
3249         Reviewed by Pavel Feldman.
3250
3251         Web Inspector: Remove obsolete code.
3252         It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
3253         Network Panel is showing the markers only after reloading the inspected page.
3254         https://bugs.webkit.org/show_bug.cgi?id=48854
3255
3256         * inspector/InspectorController.cpp:
3257         (WebCore::InspectorController::InspectorController):
3258         (WebCore::InspectorController::populateScriptObjects):
3259         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
3260         (WebCore::InspectorController::mainResourceFiredLoadEvent):
3261         * inspector/InspectorController.h:
3262
3263 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
3264
3265         Reviewed by Jeremy Orlow.
3266
3267         Web Inspector: brush up breakpoints UI and UX.
3268         https://bugs.webkit.org/show_bug.cgi?id=48901
3269
3270         * inspector/front-end/BreakpointManager.js:
3271         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
3272         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
3273         * inspector/front-end/BreakpointsSidebarPane.js:
3274         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
3275         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
3276         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
3277         (WebInspector.BreakpointItem):
3278         * inspector/front-end/ElementsTreeOutline.js:
3279         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
3280         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3281         * inspector/front-end/PropertiesSection.js:
3282         (WebInspector.PropertiesSection):
3283         * inspector/front-end/inspector.css:
3284         (.monospace):
3285         (body.platform-mac.platform-mac-snowleopard .source-code):
3286         (body.platform-windows .monospace, body.platform-windows .source-code):
3287         (body.platform-linux .monospace, body.platform-linux .source-code):
3288         (.source-code):
3289         (.section .header):
3290         (.section .header::before):
3291         (.section .header .title, .event-bar .header .title):
3292         (.section .header .subtitle, .event-bar .header .subtitle):
3293         (.section.expanded .properties, .event-bar.expanded .event-properties):
3294         (.event-listener-breakpoints .event-category):
3295         (.event-listener-breakpoints.properties-tree .children li):
3296         (.event-listener-breakpoints .checkbox-elem):
3297         (.event-bar):
3298         (.event-bars .event-bar .header .title):
3299         (.event-bars .event-bar .header::before):
3300         (.pane > .body .info):
3301         (.pane > .body .placard + .info):
3302         (ol.breakpoint-list):
3303         (.breakpoint-list li):
3304         (.pane .breakpoint-hit):
3305         (.cursor-pointer):
3306         (.cursor-auto):
3307
3308 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3309
3310         Not reviewed.
3311
3312         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
3313         https://bugs.webkit.org/show_bug.cgi?id=48898
3314
3315         Fix Chromium/V8 build for real, verified using a local ToT Chromium build.
3316
3317         * bindings/scripts/CodeGeneratorV8.pm:
3318
3319 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3320
3321         Not reviewed.
3322
3323         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
3324         https://bugs.webkit.org/show_bug.cgi?id=48898
3325
3326         Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.
3327
3328         * bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.
3329
3330 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3331
3332         Not reviewed.
3333
3334         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
3335         https://bugs.webkit.org/show_bug.cgi?id=48898
3336
3337         Attempt to fix the Chromium/V8 builds.
3338
3339         * bindings/scripts/CodeGeneratorV8.pm: Add missing "SVGStringListPropertyTearOff.h" include, also replaces some commas by semicolons (no idea why it worked before, Perl is not strict...)
3340
3341 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
3342
3343         Reviewed by Dirk Schulze.
3344
3345         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
3346         https://bugs.webkit.org/show_bug.cgi?id=48898
3347
3348         Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
3349         SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
3350         That means myStringList.getItem(0) = 'foobar' doesn't take effect.
3351
3352         When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
3353         That demanded a new SVGStringListPropertyTearOff which does just that.
3354
3355         Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
3356                svg/dom/SVGStringList.html
3357
3358         * GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
3359         * WebCore.gypi: Ditto.
3360         * WebCore.pro: Ditto.
3361         * WebCore.vcproj/WebCore.vcproj: Ditto.
3362         * WebCore.xcodeproj/project.pbxproj: Ditto.
3363         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
3364         * bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
3365         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3366         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3367         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
3368         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
3369         * svg/SVGAElement.cpp: Renamed target to svgTarget() to avoid clashes with Element::target(), adjust the bindings to call svgTarget() instead of target(), when processing SVGAElement.
3370         (WebCore::SVGAElement::parseMappedAttribute):
3371         (WebCore::SVGAElement::synchronizeProperty):
3372         * svg/SVGAElement.h:
3373         * svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
3374         * svg/SVGAnimatedString.h: Added.
3375         * svg/SVGCursorElement.h: Ditto.
3376         * svg/SVGFEBlendElement.h: Ditto.
3377         * svg/SVGFEColorMatrixElement.h: Ditto.
3378         * svg/SVGFEComponentTransferElement.h: Ditto.
3379         * svg/SVGFECompositeElement.h: Ditto.
3380         * svg/SVGFEConvolveMatrixElement.h: Ditto.
3381         * svg/SVGFEDiffuseLightingElement.h: Ditto.
3382         * svg/SVGFEDisplacementMapElement.h: Ditto.
3383         * svg/SVGFEGaussianBlurElement.h: Ditto.
3384         * svg/SVGFEImageElement.h: Ditto.
3385         * svg/SVGFEMergeNodeElement.h: Ditto.
3386         * svg/SVGFEMorphologyElement.h: Ditto.
3387         * svg/SVGFEOffsetElement.h: Ditto.
3388         * svg/SVGFESpecularLightingElement.h: Ditto.
3389         * svg/SVGFETileElement.h: Ditto.
3390         * svg/SVGFilterElement.h: Ditto.
3391         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
3392         * svg/SVGForeignObjectElement.h: Ditto.
3393         * svg/SVGGradientElement.h: Ditto.
3394         * svg/SVGImageElement.h: Ditto. 
3395         * svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
3396         * svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
3397         * svg/SVGPatternElement.h: Ditto.
3398         * svg/SVGScriptElement.h: Ditto.
3399         * svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
3400         (WebCore::SVGStringList::commitChange): React to SVGStringList changes.
3401         (WebCore::SVGStringList::reset):
3402         (WebCore::SVGStringList::parse):
3403         * svg/SVGStringList.h:
3404         (WebCore::SVGStringList::SVGStringList):
3405         * svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
3406         * svg/SVGTRefElement.h: Ditto.
3407         * svg/SVGTests.cpp: Adapt to SVGStringList API changes.
3408         (WebCore::SVGTests::SVGTests):
3409         (WebCore::SVGTests::hasExtension):
3410         (WebCore::SVGTests::isValid):
3411         (WebCore::SVGTests::parseMappedAttribute):
3412         (WebCore::SVGTests::isKnownAttribute):
3413         * svg/SVGTests.h: Ditto.
3414         (WebCore::SVGTests::requiredFeatures):
3415         (WebCore::SVGTests::requiredExtensions):
3416         (WebCore::SVGTests::systemLanguage):
3417         * svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
3418         * svg/SVGURIReference.h: Adapt to SVGStringList API changes.
3419         (WebCore::SVGURIReference::~SVGURIReference):
3420         * svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
3421         * svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
3422         (WebCore::SVGViewElement::SVGViewElement):
3423         (WebCore::SVGViewElement::parseMappedAttribute):
3424         * svg/SVGViewElement.h: Ditto.
3425         (WebCore::SVGViewElement::viewTarget):
3426         * svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
3427         * svg/properties/SVGAnimatedPropertySynchronizer.h: 
3428         * svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
3429         * svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
3430         (WebCore::SVGStringListPropertyTearOff::create):
3431         (WebCore::SVGStringListPropertyTearOff::clear):
3432         (WebCore::SVGStringListPropertyTearOff::numberOfItems):
3433         (WebCore::SVGStringListPropertyTearOff::initialize):
3434         (WebCore::SVGStringListPropertyTearOff::getItem):
3435         (WebCore::SVGStringListPropertyTearOff::insertItemBefore):
3436         (WebCore::SVGStringListPropertyTearOff::replaceItem):
3437         (WebCore::SVGStringListPropertyTearOff::removeItem):
3438         (WebCore::SVGStringListPropertyTearOff::appendItem):
3439         (WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):
3440
3441 2010-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
3442
3443         Reviewed by Dirk Schulze.
3444
3445         SVG FELighting performance issues
3446         https://bugs.webkit.org/show_bug.cgi?id=48212
3447
3448         This patch speeds-up FELighting filter painting by 40%
3449         It reduces the number of floating point operations and
3450         empolys faster pixel manipulation (both for read and
3451         write). Furthermore the length() member of FloatPoint3D
3452         is made inline to speed up vector length calculations.
3453
3454         The lighting filter pixels tests are cover this patch.
3455
3456         * platform/graphics/FloatPoint3D.cpp:
3457         * platform/graphics/FloatPoint3D.h:
3458         (WebCore::FloatPoint3D::length):
3459         * platform/graphics/filters/FELighting.cpp:
3460         (WebCore::FELighting::LightingData::topLeft):
3461         (WebCore::FELighting::LightingData::topRow):
3462         (WebCore::FELighting::LightingData::topRight):
3463         (WebCore::FELighting::LightingData::leftColumn):
3464         (WebCore::FELighting::LightingData::interior):
3465         (WebCore::FELighting::LightingData::rightColumn):
3466         (WebCore::FELighting::LightingData::bottomLeft):
3467         (WebCore::FELighting::LightingData::bottomRow):
3468         (WebCore::FELighting::LightingData::bottomRight):
3469         (WebCore::FELighting::inlineSetPixel):
3470         (WebCore::FELighting::setPixel):
3471         (WebCore::FELighting::drawLighting):
3472         (WebCore::FELighting::apply):
3473         * platform/graphics/filters/FELighting.h:
3474         * platform/graphics/filters/LightSource.cpp:
3475         (WebCore::PointLightSource::updatePaintingData):
3476         (WebCore::SpotLightSource::updatePaintingData):
3477         (WebCore::DistantLightSource::initPaintingData):
3478         * platform/graphics/filters/LightSource.h:
3479
3480 2010-11-03  Daniel Bates  <dbates@rim.com>
3481
3482         Reviewed by Adam Barth.
3483
3484         For unnamed frames, window.name returns a generated name
3485         https://bugs.webkit.org/show_bug.cgi?id=6751
3486
3487         Part 2 of 2.
3488
3489         Fixes an issue where the window.name of an unnamed frame returns
3490         a unique generated name that is used internally to identify the
3491         frame. Instead, we should return an empty string as implied by
3492         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
3493         This section describes that a browsing context can have no name or be
3494         the empty string.
3495
3496         * html/HTMLFrameElementBase.cpp:
3497         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
3498         frame name since this is valid as per the HTML5 spec.
3499         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
3500         since the loader code no longer depends on the frame name being unique.
3501         * page/DOMWindow.cpp:
3502         (WebCore::DOMWindow::name): Modified to call FrameTree::name().
3503         * page/FrameTree.cpp:
3504         (WebCore::FrameTree::setName):