2010-11-03 Tony Chang <tony@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-11-03  Tony Chang  <tony@chromium.org>
2
3         Reviewed by Ojan Vafai.
4
5         Undo r54932 which inappropriately adjusts font sizes on zoomed pages
6         https://bugs.webkit.org/show_bug.cgi?id=48890
7
8         Test: editing/inserting/page-zoom-font-size.html
9
10         * editing/ReplaceSelectionCommand.cpp:
11         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
12
13 2010-11-03  Dan Bernstein  <mitz@apple.com>
14
15         Reviewed by Dave Hyatt.
16
17         Make collapsed borders in tables work with different block flows
18         https://bugs.webkit.org/show_bug.cgi?id=46191
19
20         No new tests since tables don’t support different block flows yet.
21
22         This change still doesn’t support cells whose block flow differs from the table’s.
23
24         * rendering/AutoTableLayout.cpp:
25         (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth().
26         (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto.
27         * rendering/FixedTableLayout.cpp:
28         (WebCore::FixedTableLayout::calcWidthArray): Ditto.
29         * rendering/RenderBlock.cpp:
30         (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto.
31         * rendering/RenderTableCell.cpp:
32         (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and
33         changed to use logical widths.
34         (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename.
35         (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed
36         to set the logical width.
37         (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this.
38         Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow
39         the two to differ.
40         (WebCore::RenderTableCell::collapsedEndBorder): Similar.
41         (WebCore::RenderTableCell::collapsedBeforeBorder): Similar.
42         (WebCore::RenderTableCell::collapsedAfterBorder): Similar.
43         (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using
44         the table’s block flow.
45         (WebCore::RenderTableCell::collapsedRightBorder): Similar.
46         (WebCore::RenderTableCell::collapsedTopBorder): Similar.
47         (WebCore::RenderTableCell::collapsedBottomBorder): Similar.
48         (WebCore::RenderTableCell::borderStart): Use borderHalfStart().
49         (WebCore::RenderTableCell::borderEnd): Similar.
50         (WebCore::RenderTableCell::borderBefore): Similar.
51         (WebCore::RenderTableCell::borderAfter): Similar.
52         (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the
53         table’s block flow.
54         (WebCore::RenderTableCell::borderHalfRight): Similar.
55         (WebCore::RenderTableCell::borderHalfTop): Similar.
56         (WebCore::RenderTableCell::borderHalfBottom): Similar.
57         (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd
58         widths based on physical side.
59         (WebCore::RenderTableCell::borderHalfEnd): Similar.
60         (WebCore::RenderTableCell::borderHalfBefore): Similar.
61         (WebCore::RenderTableCell::borderHalfAfter): Similar.
62         (WebCore::RenderTableCell::collectBorderStyles): Use logical methods.
63         (WebCore::RenderTableCell::paintCollapsedBorder): Updated.
64         * rendering/RenderTableCell.h:
65         * rendering/RenderTableSection.cpp:
66         (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth().
67         * rendering/style/RenderStyle.cpp:
68         (WebCore::RenderStyle::borderBefore): Added.
69         (WebCore::RenderStyle::borderAfter): Added.
70         (WebCore::RenderStyle::borderStart): Added.
71         (WebCore::RenderStyle::borderEnd): Adeed.
72         * rendering/style/RenderStyle.h:
73
74 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
75
76         Fix Win build correctly after r71244 and r71248
77
78         * WebCore.vcproj/WebCore.vcproj: Added XML gobbledygook back.
79         * dom/DOMAllInOne.cpp: Added files to build into a combined file.
80
81 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
82
83         Fix Qt, Win builds after r71244.
84
85         * WebCore.vcproj/WebCore.vcproj: Removed XML gobbledygook that prevents files from building.
86         * dom/Text.cpp:
87         (WebCore::Text::createRenderer): Moved parentOrHost inside ENABLE(SVG) guard.
88
89 2010-11-03  David Hyatt  <hyatt@apple.com>
90
91         Reviewed by Dan Bernstein.
92
93         https://bugs.webkit.org/show_bug.cgi?id=48928
94         
95         Rename all the selection gap functions to not be directionally specific.  Left and Right turn into LogicalLeft and
96         LogicalRight.  Horizontal becomes Line.  Vertical becomes Block.
97
98         * rendering/RenderBlock.cpp:
99         (WebCore::RenderBlock::selectionGapRectsForRepaint):
100         (WebCore::RenderBlock::paintSelection):
101         (WebCore::RenderBlock::fillSelectionGaps):
102         (WebCore::RenderBlock::fillInlineSelectionGaps):
103         (WebCore::RenderBlock::fillBlockSelectionGaps):
104         (WebCore::RenderBlock::fillLineSelectionGap):
105         (WebCore::RenderBlock::fillBlockSelectionGap):
106         (WebCore::RenderBlock::fillLogicalLeftSelectionGap):
107         (WebCore::RenderBlock::fillLogicalRightSelectionGap):
108         (WebCore::RenderBlock::getSelectionGapInfo):
109         (WebCore::RenderBlock::logicalLeftSelectionOffset):
110         (WebCore::RenderBlock::logicalRightSelectionOffset):
111         * rendering/RenderBlock.h:
112         * rendering/RootInlineBox.cpp:
113         (WebCore::RootInlineBox::fillLineSelectionGap):
114
115 2010-11-03  Dimitri Glazkov  <dglazkov@chromium.org>
116
117         Reviewed by Darin Adler.
118
119         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
120         https://bugs.webkit.org/show_bug.cgi?id=46015
121
122         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
123         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
124
125         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
126         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
127
128         * Android.mk: Added EventContext, WindowEventContext files.
129         * CMakeLists.txt: Ditto.
130         * GNUmakefile.am: Ditto.
131         * WebCore.gypi: Ditto.
132         * WebCore.pro: Ditto.
133         * WebCore.xcodeproj/project.pbxproj: Ditto.
134         * WebCore.vcproj/WebCore.vcproj: Ditto.
135         * dom/ContainerNode.cpp:
136         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
137         * dom/EventContext.cpp: Added.
138         * dom/EventContext.h: Added.
139         * dom/Node.cpp:
140         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
141         (WebCore::Node::createRendererIfNeeded): Ditto.
142         (WebCore::Node::parentOrHostNode): Added new helper method.
143         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
144         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
145         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
146         (WebCore::Node::topEventContext): Added.
147         (WebCore::eventHasListeners): Changed to use EventContexts.
148         (WebCore::Node::dispatchGenericEvent): Ditto.
149         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
150             and changed signature of eventAncestors to use EventContexts.
151         * dom/Text.cpp:
152         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
153         * inspector/InspectorDOMAgent.cpp:
154         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
155         * page/EventHandler.cpp:
156         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
157         * rendering/ShadowElement.h: Made m_shadowParent a RefPtr to avoid stale references when parent
158         is deleted.
159         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
160         * svg/SVGElement.h: Ditto.
161         * dom/WindowEventContext.cpp: Added.
162         * dom/WindowEventContext.h: Added.
163
164 2010-11-02  Mikhail Naganov  <mnaganov@chromium.org>
165
166         Reviewed by Pavel Feldman.
167
168         Web Inspector: Fix console messages about starting and finishing profiling.
169
170         https://bugs.webkit.org/show_bug.cgi?id=48825
171
172         * inspector/InspectorProfilerAgent.cpp:
173         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
174         * inspector/front-end/ProfilesPanel.js:
175         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
176
177 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
178
179         Reviewed by Andreas Kling.
180
181         chrome.dll!WebCore::SVGLength::SVGLength ...
182         https://bugs.webkit.org/show_bug.cgi?id=48831
183
184         Test: svg/dom/baseVal-animVal-crash.html
185
186         * svg/properties/SVGListPropertyTearOff.h:
187         (WebCore::SVGListPropertyTearOff::initialize): Renamed removeItemFromListIfNeeded to processIncomingListItem, to reflect its new job.
188         (WebCore::SVGListPropertyTearOff::insertItemBefore): Ditto.
189         (WebCore::SVGListPropertyTearOff::replaceItem): Ditto.
190         (WebCore::SVGListPropertyTearOff::appendItem): Ditto.
191         (WebCore::SVGListPropertyTearOff::processIncomingListItem): Copy incoming item, if necessary, see inline comments.
192         * svg/properties/SVGPropertyTearOff.h:
193         (WebCore::SVGPropertyTearOff::detachWrapper): Remove association with SVGAnimatedProperty, when wrapper is detached.
194
195 2010-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
196
197         Reviewed by Andreas Kling.
198
199         Make it possible to delegate scrolling to the UI
200         https://bugs.webkit.org/show_bug.cgi?id=48907
201
202         Add a WebCore setting for delegating scrolling to the actual
203         WebKit view, which means that setScrollPosition will call
204         scrollContents directly without going though the scrollbar
205         code.
206
207         * page/FrameView.cpp:
208         (WebCore::FrameView::delegatesScrolling):
209         * page/FrameView.h:
210         * page/Settings.cpp:
211         (WebCore::Settings::Settings):
212         (WebCore::Settings::setShouldDelegateScrolling):
213         * page/Settings.h:
214         (WebCore::Settings::shouldDelegateScrolling):
215         * platform/ScrollView.cpp:
216         (WebCore::ScrollView::setScrollPosition):
217         * platform/ScrollView.h:
218         (WebCore::ScrollView::delegatesScrolling):
219
220 2010-11-03  Patrick Gansterer  <paroga@webkit.org>
221
222         Reviewed by Adam Roben.
223
224         [WINCE] Add SharedBitmap
225         https://bugs.webkit.org/show_bug.cgi?id=28272
226
227         SharedBitmap is a helper class used as NativeImagePtr for WinCE.
228         It's wide used by WinCE graphics files as a replacement of HBITMAP.
229
230         Originally written by Yong Li <yong.li@torchmobile.com>.
231
232         * platform/graphics/wince/GraphicsContextWinCE.cpp:
233         (WebCore::TransparentLayerDC::TransparentLayerDC):
234         (WebCore::TransparentLayerDC::~TransparentLayerDC):
235         (WebCore::ScopeDCProvider::ScopeDCProvider):
236         (WebCore::ScopeDCProvider::~ScopeDCProvider):
237         (WebCore::GraphicsContext::drawText):
238         * platform/graphics/wince/SharedBitmap.cpp: Added.
239         (WebCore::SharedBitmap::create):
240         (WebCore::SharedBitmap::SharedBitmap):
241         (WebCore::SharedBitmap::~SharedBitmap):
242         (WebCore::SharedBitmap::resetPixels):
243         (WebCore::convert32To16):
244         (WebCore::SharedBitmap::to16bit):
245         (WebCore::SharedBitmap::freeMemory):
246         (WebCore::SharedBitmap::createHandle):
247         (WebCore::SharedBitmap::ensureHandle):
248         (WebCore::SharedBitmap::draw):
249         (WebCore::SharedBitmap::clipBitmap):
250         (WebCore::drawPatternSimple):
251         (WebCore::normalizePhase):
252         (WebCore::SharedBitmap::drawPattern):
253         (WebCore::SharedBitmap::DCProvider::getDC):
254         (WebCore::SharedBitmap::DCProvider::releaseDC):
255         (WebCore::SharedBitmap::clearPixels):
256         * platform/graphics/wince/SharedBitmap.h: Added.
257         (WebCore::DCProvider::getDC):
258         (WebCore::DCProvider::releaseDC):
259         (WebCore::DCProvider::DCHolder::DCHolder):
260         (WebCore::DCProvider::DCHolder::~DCHolder):
261         (WebCore::DCProvider::DCHolder::set):
262         (WebCore::DCProvider::DCHolder::get):
263         (WebCore::DCProvider::DCHolder::clearInternal):
264         (WebCore::DCProvider::DCHolder::setInternal):
265
266 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
267
268         Reviewed by Dirk Schulze.
269
270         chrome.dll!WebCore::SVGListPropertyTearOff<...>::getItem ReadAV@NULL (578c0f7f21ca517ba29a4eafb7099c1b)
271         https://bugs.webkit.org/show_bug.cgi?id=48829
272
273         Share SVGPropertyTearOff wrapper cache between SVGAnimatedListPropertyTearOff::baseVal/animVal.
274         When modifying the list through baseVal, and then grabbing the animVal list an assertion was fired,
275         as the wrapper cache was out of sync with the underlying SVG*List vector.
276
277         Test: svg/dom/baseVal-animVal-list-crash.html
278
279         * svg/properties/SVGAnimatedListPropertyTearOff.h:
280         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
281         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
282         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
283         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
284         (WebCore::SVGAnimatedListPropertyTearOff::values):
285         (WebCore::SVGAnimatedListPropertyTearOff::wrappers):
286         (WebCore::SVGAnimatedListPropertyTearOff::create):
287         (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
288         * svg/properties/SVGListPropertyTearOff.h:
289         (WebCore::SVGListPropertyTearOff::create):
290         (WebCore::SVGListPropertyTearOff::removeItemFromList):
291         (WebCore::SVGListPropertyTearOff::clear):
292         (WebCore::SVGListPropertyTearOff::numberOfItems):
293         (WebCore::SVGListPropertyTearOff::initialize):
294         (WebCore::SVGListPropertyTearOff::getItem):
295         (WebCore::SVGListPropertyTearOff::insertItemBefore):
296         (WebCore::SVGListPropertyTearOff::replaceItem):
297         (WebCore::SVGListPropertyTearOff::removeItem):
298         (WebCore::SVGListPropertyTearOff::appendItem):
299         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
300         (WebCore::SVGListPropertyTearOff::commitChange):
301
302 2010-11-02  Ilya Tikhonovsky  <loislo@chromium.org>
303
304         Reviewed by Pavel Feldman.
305
306         Web Inspector: Remove obsolete code.
307         It is not required to push onload and DOMContentLoaded events times to the fresh instance of Inspector.
308         Network Panel is showing the markers only after reloading the inspected page.
309         https://bugs.webkit.org/show_bug.cgi?id=48854
310
311         * inspector/InspectorController.cpp:
312         (WebCore::InspectorController::InspectorController):
313         (WebCore::InspectorController::populateScriptObjects):
314         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
315         (WebCore::InspectorController::mainResourceFiredLoadEvent):
316         * inspector/InspectorController.h:
317
318 2010-11-03  Pavel Feldman  <pfeldman@chromium.org>
319
320         Reviewed by Jeremy Orlow.
321
322         Web Inspector: brush up breakpoints UI and UX.
323         https://bugs.webkit.org/show_bug.cgi?id=48901
324
325         * inspector/front-end/BreakpointManager.js:
326         (WebInspector.DOMBreakpoint.prototype.populateLabelElement):
327         (WebInspector.XHRBreakpoint.prototype.populateLabelElement):
328         * inspector/front-end/BreakpointsSidebarPane.js:
329         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
330         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
331         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
332         (WebInspector.BreakpointItem):
333         * inspector/front-end/ElementsTreeOutline.js:
334         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu.handlerFunction):
335         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
336         * inspector/front-end/PropertiesSection.js:
337         (WebInspector.PropertiesSection):
338         * inspector/front-end/inspector.css:
339         (.monospace):
340         (body.platform-mac.platform-mac-snowleopard .source-code):
341         (body.platform-windows .monospace, body.platform-windows .source-code):
342         (body.platform-linux .monospace, body.platform-linux .source-code):
343         (.source-code):
344         (.section .header):
345         (.section .header::before):
346         (.section .header .title, .event-bar .header .title):
347         (.section .header .subtitle, .event-bar .header .subtitle):
348         (.section.expanded .properties, .event-bar.expanded .event-properties):
349         (.event-listener-breakpoints .event-category):
350         (.event-listener-breakpoints.properties-tree .children li):
351         (.event-listener-breakpoints .checkbox-elem):
352         (.event-bar):
353         (.event-bars .event-bar .header .title):
354         (.event-bars .event-bar .header::before):
355         (.pane > .body .info):
356         (.pane > .body .placard + .info):
357         (ol.breakpoint-list):
358         (.breakpoint-list li):
359         (.pane .breakpoint-hit):
360         (.cursor-pointer):
361         (.cursor-auto):
362
363 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
364
365         Not reviewed.
366
367         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
368         https://bugs.webkit.org/show_bug.cgi?id=48898
369
370         Fix Chromium/V8 build for real, verified using a local ToT Chromium build.
371
372         * bindings/scripts/CodeGeneratorV8.pm:
373
374 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
375
376         Not reviewed.
377
378         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
379         https://bugs.webkit.org/show_bug.cgi?id=48898
380
381         Next attempt to fix the Chromium/V8 builds - a class forward in the headers was still missing.
382
383         * bindings/scripts/CodeGeneratorV8.pm: Add SVGStringListPropertyTearOff in the V8SVGStringList header.
384
385 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
386
387         Not reviewed.
388
389         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
390         https://bugs.webkit.org/show_bug.cgi?id=48898
391
392         Attempt to fix the Chromium/V8 builds.
393
394         * 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...)
395
396 2010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
397
398         Reviewed by Dirk Schulze.
399
400         Convert SVGAnimatedString/SVGStringList to the new SVG*PropertyTearOff concept
401         https://bugs.webkit.org/show_bug.cgi?id=48898
402
403         Convert SVGAnimatedString/SVGStringList to the new svg animated type concept.
404         SVGStringList is special compared to all other SVG*Lists, as it returns non-live elements.
405         That means myStringList.getItem(0) = 'foobar' doesn't take effect.
406
407         When appending an item to a SVGStringList, that has been taken from another list, it's not removed from the list origin.
408         That demanded a new SVGStringListPropertyTearOff which does just that.
409
410         Tests: svg/W3C-SVG-1.1-SE/types-dom-06-f.svg
411                svg/dom/SVGStringList.html
412
413         * GNUmakefile.am: Add SVGAnimatedString.h / SVGStringListPropertyTearOff.h to build.
414         * WebCore.gypi: Ditto.
415         * WebCore.pro: Ditto.
416         * WebCore.vcproj/WebCore.vcproj: Ditto.
417         * WebCore.xcodeproj/project.pbxproj: Ditto.
418         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedString as new style svg animated type. Map SVGStringList to SVGStringListPropertyTearOff.
419         * bindings/scripts/CodeGeneratorJS.pm: Handle SVGStringListPropertyTearOff in GetSVGPropertyTypes.
420         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
421         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
422         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedString handling.
423         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
424         * 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.
425         (WebCore::SVGAElement::parseMappedAttribute):
426         (WebCore::SVGAElement::synchronizeProperty):
427         * svg/SVGAElement.h:
428         * svg/SVGAltGlyphElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
429         * svg/SVGAnimatedString.h: Added.
430         * svg/SVGCursorElement.h: Ditto.
431         * svg/SVGFEBlendElement.h: Ditto.
432         * svg/SVGFEColorMatrixElement.h: Ditto.
433         * svg/SVGFEComponentTransferElement.h: Ditto.
434         * svg/SVGFECompositeElement.h: Ditto.
435         * svg/SVGFEConvolveMatrixElement.h: Ditto.
436         * svg/SVGFEDiffuseLightingElement.h: Ditto.
437         * svg/SVGFEDisplacementMapElement.h: Ditto.
438         * svg/SVGFEGaussianBlurElement.h: Ditto.
439         * svg/SVGFEImageElement.h: Ditto.
440         * svg/SVGFEMergeNodeElement.h: Ditto.
441         * svg/SVGFEMorphologyElement.h: Ditto.
442         * svg/SVGFEOffsetElement.h: Ditto.
443         * svg/SVGFESpecularLightingElement.h: Ditto.
444         * svg/SVGFETileElement.h: Ditto.
445         * svg/SVGFilterElement.h: Ditto.
446         * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
447         * svg/SVGForeignObjectElement.h: Ditto.
448         * svg/SVGGradientElement.h: Ditto.
449         * svg/SVGImageElement.h: Ditto. 
450         * svg/SVGLengthList.idl: Remove leftover SVGListProperty marker.
451         * svg/SVGMPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
452         * svg/SVGPatternElement.h: Ditto.
453         * svg/SVGScriptElement.h: Ditto.
454         * svg/SVGStringList.cpp: Make SVGStringList a plain Vector<String>.
455         (WebCore::SVGStringList::commitChange): React to SVGStringList changes.
456         (WebCore::SVGStringList::reset):
457         (WebCore::SVGStringList::parse):
458         * svg/SVGStringList.h:
459         (WebCore::SVGStringList::SVGStringList):
460         * svg/SVGStyledElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
461         * svg/SVGTRefElement.h: Ditto.
462         * svg/SVGTests.cpp: Adapt to SVGStringList API changes.
463         (WebCore::SVGTests::SVGTests):
464         (WebCore::SVGTests::hasExtension):
465         (WebCore::SVGTests::isValid):
466         (WebCore::SVGTests::parseMappedAttribute):
467         (WebCore::SVGTests::isKnownAttribute):
468         * svg/SVGTests.h: Ditto.
469         (WebCore::SVGTests::requiredFeatures):
470         (WebCore::SVGTests::requiredExtensions):
471         (WebCore::SVGTests::systemLanguage):
472         * svg/SVGTextPathElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
473         * svg/SVGURIReference.h: Adapt to SVGStringList API changes.
474         (WebCore::SVGURIReference::~SVGURIReference):
475         * svg/SVGUseElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARED_ANIMATED_STATIC_PROPERTY_NEW/
476         * svg/SVGViewElement.cpp: Adapt to SVGStringList API changes.
477         (WebCore::SVGViewElement::SVGViewElement):
478         (WebCore::SVGViewElement::parseMappedAttribute):
479         * svg/SVGViewElement.h: Ditto.
480         (WebCore::SVGViewElement::viewTarget):
481         * svg/properties/SVGAnimatedPropertyMacros.h: Moved GetOwnerElementForType heleprs from SVGAnimatedPropertySynchronizer into this file.
482         * svg/properties/SVGAnimatedPropertySynchronizer.h: 
483         * svg/properties/SVGPropertyTraits.h: Handle SVGStringList.
484         * svg/properties/SVGStringListPropertyTearOff.h: Added. This is a simplified version of SVGListPropertyTearOff, tied to SVGStringList and its special demands.
485         (WebCore::SVGStringListPropertyTearOff::create):
486         (WebCore::SVGStringListPropertyTearOff::clear):
487         (WebCore::SVGStringListPropertyTearOff::numberOfItems):
488         (WebCore::SVGStringListPropertyTearOff::initialize):
489         (WebCore::SVGStringListPropertyTearOff::getItem):
490         (WebCore::SVGStringListPropertyTearOff::insertItemBefore):
491         (WebCore::SVGStringListPropertyTearOff::replaceItem):
492         (WebCore::SVGStringListPropertyTearOff::removeItem):
493         (WebCore::SVGStringListPropertyTearOff::appendItem):
494         (WebCore::SVGStringListPropertyTearOff::SVGStringListPropertyTearOff):
495
496 2010-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
497
498         Reviewed by Dirk Schulze.
499
500         SVG FELighting performance issues
501         https://bugs.webkit.org/show_bug.cgi?id=48212
502
503         This patch speeds-up FELighting filter painting by 40%
504         It reduces the number of floating point operations and
505         empolys faster pixel manipulation (both for read and
506         write). Furthermore the length() member of FloatPoint3D
507         is made inline to speed up vector length calculations.
508
509         The lighting filter pixels tests are cover this patch.
510
511         * platform/graphics/FloatPoint3D.cpp:
512         * platform/graphics/FloatPoint3D.h:
513         (WebCore::FloatPoint3D::length):
514         * platform/graphics/filters/FELighting.cpp:
515         (WebCore::FELighting::LightingData::topLeft):
516         (WebCore::FELighting::LightingData::topRow):
517         (WebCore::FELighting::LightingData::topRight):
518         (WebCore::FELighting::LightingData::leftColumn):
519         (WebCore::FELighting::LightingData::interior):
520         (WebCore::FELighting::LightingData::rightColumn):
521         (WebCore::FELighting::LightingData::bottomLeft):
522         (WebCore::FELighting::LightingData::bottomRow):
523         (WebCore::FELighting::LightingData::bottomRight):
524         (WebCore::FELighting::inlineSetPixel):
525         (WebCore::FELighting::setPixel):
526         (WebCore::FELighting::drawLighting):
527         (WebCore::FELighting::apply):
528         * platform/graphics/filters/FELighting.h:
529         * platform/graphics/filters/LightSource.cpp:
530         (WebCore::PointLightSource::updatePaintingData):
531         (WebCore::SpotLightSource::updatePaintingData):
532         (WebCore::DistantLightSource::initPaintingData):
533         * platform/graphics/filters/LightSource.h:
534
535 2010-11-03  Daniel Bates  <dbates@rim.com>
536
537         Reviewed by Adam Barth.
538
539         For unnamed frames, window.name returns a generated name
540         https://bugs.webkit.org/show_bug.cgi?id=6751
541
542         Part 2 of 2.
543
544         Fixes an issue where the window.name of an unnamed frame returns
545         a unique generated name that is used internally to identify the
546         frame. Instead, we should return an empty string as implied by
547         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
548         This section describes that a browsing context can have no name or be
549         the empty string.
550
551         * html/HTMLFrameElementBase.cpp:
552         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
553         frame name since this is valid as per the HTML5 spec.
554         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
555         since the loader code no longer depends on the frame name being unique.
556         * page/DOMWindow.cpp:
557         (WebCore::DOMWindow::name): Modified to call FrameTree::name().
558         * page/FrameTree.cpp:
559         (WebCore::FrameTree::setName):
560         (WebCore::FrameTree::clearName):
561         * page/FrameTree.h:
562         (WebCore::FrameTree::name): Re-added; returns the DOM-specified name of the
563         frame. Previously, this method returned the internal frame name.
564
565 2010-11-03  takano takumi  <takano1@asia.apple.com>
566
567         Reviewed by Dan Bernstein.
568
569         Add text-combine property to our property list. Reflect the setting to a RenderStyle object.
570         https://bugs.webkit.org/show_bug.cgi?id=48608
571
572         Test: fast/text/international/text-combine-parser-test.html
573
574         * css/CSSComputedStyleDeclaration.cpp: Added text-combine property support.
575         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
576         * css/CSSParser.cpp: Added text-combine property support.
577         (WebCore::CSSParser::parseValue):
578         * css/CSSPrimitiveValueMappings.h: Added a primitive value mapper for text-combine
579         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
580         (WebCore::CSSPrimitiveValue::operator TextCombine):
581         * css/CSSPropertyNames.in: Added "text-combine".
582         * css/CSSStyleSelector.cpp: Added text-combine property support.
583         (WebCore::CSSStyleSelector::applyProperty):
584         * css/CSSValueKeywords.in: Added values for text-combine.
585         * rendering/style/RenderStyle.cpp:
586         (WebCore::RenderStyle::diff): Added check of text-combine value.
587         * rendering/style/RenderStyle.h: Added accessors for text-combine.
588         (WebCore::InheritedFlags::textCombine):
589         (WebCore::InheritedFlags::setTextCombine):
590         (WebCore::InheritedFlags::initialTextCombine):
591         * rendering/style/RenderStyleConstants.h:
592         * rendering/style/StyleRareNonInheritedData.cpp: Added text-combine property support.
593         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
594         (WebCore::StyleRareNonInheritedData::operator==):
595         * rendering/style/StyleRareNonInheritedData.h: Added text-combine entry for RenderStyle object here.
596
597 2010-11-02  Daniel Bates  <dbates@rim.com>
598
599         Reviewed by Adam Barth.
600
601         For unnamed frames, window.name returns a generated name
602         https://bugs.webkit.org/show_bug.cgi?id=6751
603
604         Part 1 of 2.
605
606         Towards fixing bug #6751, rename FrameTree::name() to FrameTree::uniqueName(),
607         which is more descriptive of its purpose. A follow up patch will re-add
608         FrameTree::name() which will return the DOM-specified name of the frame.
609
610         We will also take this opportunity to verify that we have found all the
611         call sites of FrameTree::name().
612
613         * loader/DocumentLoader.cpp:
614         (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
615         * loader/FrameLoader.cpp:
616         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
617         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
618         * loader/HistoryController.cpp:
619         (WebCore::HistoryController::saveDocumentState): Ditto.
620         (WebCore::HistoryController::restoreDocumentState): Ditto.
621         (WebCore::HistoryController::createItem): Ditto.
622         (WebCore::HistoryController::currentFramesMatchItem): Ditto.
623         * loader/ProgressTracker.cpp:
624         (WebCore::ProgressTracker::progressStarted): Ditto.
625         (WebCore::ProgressTracker::progressCompleted): Ditto.
626         * loader/archive/cf/LegacyWebArchive.cpp:
627         (WebCore::LegacyWebArchive::create): Ditto.
628         * page/DOMWindow.cpp:
629         (WebCore::DOMWindow::name): Ditto.
630         * page/FrameTree.cpp:
631         (WebCore::FrameTree::setName): Ditto.
632         (WebCore::FrameTree::clearName): Ditto.
633         (WebCore::FrameTree::uniqueChildName): Ditto.
634         (WebCore::FrameTree::child): Ditto.
635         (WebCore::FrameTree::find): Ditto.
636         * page/FrameTree.h:
637         (WebCore::FrameTree::uniqueName): Renamed (formerly FrameTree::name()).
638
639 2010-11-02  Chris Rogers  <crogers@google.com>
640
641         Reviewed by James Robinson.
642
643         Add AudioProcessingEvent files
644         https://bugs.webkit.org/show_bug.cgi?id=48884
645
646         No new tests since audio API is not yet implemented.
647
648         * webaudio/AudioProcessingEvent.cpp: Added.
649         (WebCore::AudioProcessingEvent::create):
650         (WebCore::AudioProcessingEvent::AudioProcessingEvent):
651         (WebCore::AudioProcessingEvent::~AudioProcessingEvent):
652         (WebCore::AudioProcessingEvent::isAudioProcessingEvent):
653         * webaudio/AudioProcessingEvent.h: Added.
654         (WebCore::AudioProcessingEvent::inputBuffer):
655         (WebCore::AudioProcessingEvent::outputBuffer):
656         * webaudio/AudioProcessingEvent.idl: Added.
657
658 2010-11-02  Al Patrick  <apatrick@chromium.org>
659
660         Reviewed by Kenneth Russell.
661
662         Added PluginLayerChromium, which composites plugin instances that have an associated OpenGL backing texture.
663
664         https://bugs.webkit.org/show_bug.cgi?id=48032
665
666         * WebCore.gypi:
667         * loader/SubframeLoader.cpp
668         (WebCore::SubframeLoader::loadPlugin):
669         * platform/graphics/chromium/LayerChromium.cpp:
670         (WebCore::LayerChromium::setNeedsDisplay):
671         * platform/graphics/chromium/LayerRendererChromium.cpp:
672         (WebCore::LayerRendererChromium::initializeSharedObjects):
673         (WebCore::LayerRendererChromium::cleanupSharedObjects):
674         * platform/graphics/chromium/LayerRendererChromium.h:
675         (WebCore::LayerRendererChromium::pluginLayerSharedValues):
676         * platform/graphics/chromium/PluginLayerChromium.cpp: Added.
677         (WebCore::PluginLayerChromium::SharedValues::SharedValues):
678         (WebCore::PluginLayerChromium::SharedValues::~SharedValues):
679         (WebCore::PluginLayerChromium::create):
680         (WebCore::PluginLayerChromium::PluginLayerChromium):
681         (WebCore::PluginLayerChromium::updateContents):
682         (WebCore::PluginLayerChromium::draw):
683         * platform/graphics/chromium/PluginLayerChromium.h: Added.
684         (WebCore::PluginLayerChromium::drawsContent):
685         (WebCore::PluginLayerChromium::setTextureId):
686         (WebCore::PluginLayerChromium::SharedValues::shaderProgram):
687         (WebCore::PluginLayerChromium::SharedValues::shaderSamplerLocation):
688         (WebCore::PluginLayerChromium::SharedValues::shaderMatrixLocation):
689         (WebCore::PluginLayerChromium::SharedValues::shaderAlphaLocation):
690         (WebCore::PluginLayerChromium::SharedValues::initialized):
691
692 2010-11-02  James Simonsen  <simonjam@chromium.org>
693
694         Reviewed by Adam Barth.
695
696         mathml in html sometimes incorrectly parsed
697         https://bugs.webkit.org/show_bug.cgi?id=48105
698
699         * html/parser/HTMLTreeBuilder.cpp:
700         (WebCore::HTMLTreeBuilder::processEndTag): Fixed to match HTML5 spec.
701
702 2010-11-02  Chris Guillory  <chris.guillory@google.com>
703
704         Reviewed by Dmitry Titov.
705
706         Null check obj in AXObjectCache::postPlatformNotification.
707         https://bugs.webkit.org/show_bug.cgi?id=48896
708
709         * accessibility/chromium/AXObjectCacheChromium.cpp:
710         (WebCore::AXObjectCache::postPlatformNotification):
711
712 2010-11-02  Kavita Kanetkar  <kkanetkar@chromium.org>
713
714         Reviewed by Dumitru Daniliuc.
715
716         [FileSystem] Support not creating directories when queried by inspector.
717         https://bugs.webkit.org/show_bug.cgi?id=48169
718
719         * fileapi/LocalFileSystem.cpp:
720         (WebCore::openFileSystem):
721         (WebCore::LocalFileSystem::readFileSystem):
722         (WebCore::LocalFileSystem::requestFileSystem):
723         * fileapi/LocalFileSystem.h:
724         * platform/AsyncFileSystem.cpp:
725         (WebCore::AsyncFileSystem::openFileSystem):
726         * platform/AsyncFileSystem.h:
727
728 2010-11-02  Chris Rogers  <crogers@google.com>
729
730         Reviewed by Kenneth Russell.
731
732         Add AudioBufferSourceNode files
733         https://bugs.webkit.org/show_bug.cgi?id=48012
734
735         No new tests since audio API is not yet implemented.
736
737         * webaudio/AudioBufferSourceNode.cpp: Added.
738         (WebCore::AudioBufferSourceNode::create):
739         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
740         (WebCore::AudioBufferSourceNode::~AudioBufferSourceNode):
741         (WebCore::AudioBufferSourceNode::process):
742         (WebCore::AudioBufferSourceNode::provideInput):
743         (WebCore::AudioBufferSourceNode::readFromBuffer):
744         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
745         (WebCore::AudioBufferSourceNode::reset):
746         (WebCore::AudioBufferSourceNode::setBuffer):
747         (WebCore::AudioBufferSourceNode::numberOfChannels):
748         (WebCore::AudioBufferSourceNode::noteOn):
749         (WebCore::AudioBufferSourceNode::noteGrainOn):
750         (WebCore::AudioBufferSourceNode::noteOff):
751         (WebCore::AudioBufferSourceNode::totalPitchRate):
752         * webaudio/AudioBufferSourceNode.h: Added.
753         (WebCore::AudioBufferSourceNode::buffer):
754         (WebCore::AudioBufferSourceNode::looping):
755         (WebCore::AudioBufferSourceNode::setLooping):
756         (WebCore::AudioBufferSourceNode::gain):
757         (WebCore::AudioBufferSourceNode::playbackRate):
758         (WebCore::AudioBufferSourceNode::setPannerNode):
759         * webaudio/AudioBufferSourceNode.idl: Added.
760
761 2010-11-02  Martin Robinson  <mrobinson@igalia.com>
762
763         Reviewed by Adam Barth.
764
765         [Cairo] Remove PlatformRefPtrCairo
766         https://bugs.webkit.org/show_bug.cgi?id=48192
767
768         Replace PlatformRefPtrCairo with a RefPtr specialization for Cairo and
769         Fontconfig types. This is the first step toward removing PlatformRefPtr,
770         whose job is better handled by RefPtr.
771
772         * CMakeListsEfl.txt: Update the sources list to include RefPtrCairo
773         instead of PlatformRefPtrCairo.
774         * GNUmakefile.am: Ditto.
775         * WebCore.vcproj/WebCore.vcproj: Ditto.
776         * platform/graphics/GraphicsContext.h: Replace PlatformRefPtrCairo with
777         RefPtrCairo.
778         * platform/graphics/cairo/CairoUtilities.cpp: Ditto.
779         (WebCore::drawPatternToCairoContext): Ditto.
780         * platform/graphics/cairo/FontCacheFreeType.cpp: Ditto.
781         (WebCore::FontCache::getFontDataForCharacters): Ditto.
782         (WebCore::FontCache::createFontPlatformData): Ditto.
783         * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Ditto.
784         (WebCore::FontPlatformData::FontPlatformData): Ditto.
785         (WebCore::FontPlatformData::initializeWithFontFace): Ditto.
786         * platform/graphics/cairo/FontPlatformDataFreeType.h: Ditto.
787         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
788         * platform/graphics/cairo/ImageCairo.cpp: Ditto.
789         * platform/graphics/cairo/RefPtrCairo.cpp: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.cpp.
790         (WTF::refIfNotNull): Added.
791         (WTF::derefIfNotNull): Added.
792         * platform/graphics/cairo/RefPtrCairo.h: Renamed from WebCore/platform/graphics/cairo/PlatformRefPtrCairo.h.
793         * platform/gtk/CursorGtk.cpp: Replace PlatformRefPtrCairo with
794         RefPtrCairo.
795         (WebCore::createNamedCursor): Ditto.
796         * platform/gtk/DragImageGtk.cpp: Ditto.
797         (WebCore::scaleDragImage): Ditto.
798         (WebCore::dissolveDragImageToFraction): Ditto.
799         * plugins/gtk/PluginViewGtk.cpp: Ditto.
800         (WebCore::PluginView::paint): Ditto.
801
802 2010-11-02  Chris Rogers  <crogers@google.com>
803
804         Reviewed by Kenneth Russell.
805
806         Simple followup changes to files affected by AudioNodeInput thread safety
807         https://bugs.webkit.org/show_bug.cgi?id=48661
808
809         No new tests since audio API is not yet implemented.
810
811         * webaudio/AudioBasicProcessorNode.cpp:
812         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
813         * webaudio/AudioChannelSplitter.cpp:
814         (WebCore::AudioChannelSplitter::process):
815         * webaudio/AudioDestinationNode.cpp:
816         (WebCore::AudioDestinationNode::initialize):
817         (WebCore::AudioDestinationNode::uninitialize):
818         (WebCore::AudioDestinationNode::provideInput):
819         * webaudio/AudioGainNode.cpp:
820         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
821         * webaudio/AudioPannerNode.cpp:
822         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
823
824 2010-11-02  Chris Guillory  <chris.guillory@google.com>
825
826         Reviewed by Chris Fleizach.
827
828         Chromium: Propagate a document value changed notification on scroll.
829         https://bugs.webkit.org/show_bug.cgi?id=48817
830
831         * accessibility/AccessibilityObject.h:
832         (WebCore::AccessibilityObject::isAccessibilityScrollbar):
833         * accessibility/AccessibilityScrollbar.h:
834         (WebCore::AccessibilityScrollbar::scrollbar):
835         (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
836         * accessibility/chromium/AXObjectCacheChromium.cpp:
837         (WebCore::AXObjectCache::postPlatformNotification):
838
839 2010-11-02  Chris Rogers  <crogers@google.com>
840
841         Reviewed by Kenneth Russell.
842
843         Add ConvolverNode files
844         https://bugs.webkit.org/show_bug.cgi?id=47941
845
846         No new tests since audio API is not yet implemented.
847
848         * webaudio/ConvolverNode.cpp: Added.
849         (WebCore::ConvolverNode::ConvolverNode):
850         (WebCore::ConvolverNode::~ConvolverNode):
851         (WebCore::ConvolverNode::process):
852         (WebCore::ConvolverNode::reset):
853         (WebCore::ConvolverNode::initialize):
854         (WebCore::ConvolverNode::uninitialize):
855         (WebCore::ConvolverNode::setBuffer):
856         (WebCore::ConvolverNode::buffer):
857         * webaudio/ConvolverNode.h: Added.
858         (WebCore::ConvolverNode::create):
859         * webaudio/ConvolverNode.idl: Added.
860
861 2010-11-02  Chris Rogers  <crogers@google.com>
862
863         Reviewed by Kenneth Russell.
864
865         Add RealtimeAnalyser files
866         https://bugs.webkit.org/show_bug.cgi?id=48810
867
868         No new tests since audio API is not yet implemented.
869
870         * webaudio/RealtimeAnalyser.cpp: Added.
871         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
872         (WebCore::RealtimeAnalyser::~RealtimeAnalyser):
873         (WebCore::RealtimeAnalyser::reset):
874         (WebCore::RealtimeAnalyser::setFftSize):
875         (WebCore::RealtimeAnalyser::writeInput):
876         (WebCore::RealtimeAnalyser::doFFTAnalysis):
877         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
878         (WebCore::RealtimeAnalyser::getByteFrequencyData):
879         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
880         * webaudio/RealtimeAnalyser.h: Added.
881         (WebCore::RealtimeAnalyser::fftSize):
882         (WebCore::RealtimeAnalyser::frequencyBinCount):
883         (WebCore::RealtimeAnalyser::setMinDecibels):
884         (WebCore::RealtimeAnalyser::minDecibels):
885         (WebCore::RealtimeAnalyser::setMaxDecibels):
886         (WebCore::RealtimeAnalyser::maxDecibels):
887         (WebCore::RealtimeAnalyser::setSmoothingTimeConstant):
888         (WebCore::RealtimeAnalyser::smoothingTimeConstant):
889         (WebCore::RealtimeAnalyser::magnitudeBuffer):
890
891 2010-11-02  Ilya Sherman  <isherman@chromium.org>
892
893         Reviewed by Kent Tamura.
894
895         Avoid overlapping label text in autofill popup with icon.
896         Updates the menu width computation to take the icon width into account.
897         https://bugs.webkit.org/show_bug.cgi?id=48497
898
899         * platform/chromium/PopupMenuChromium.cpp:
900         (WebCore::PopupListBox::paintRow):
901         (WebCore::PopupListBox::layout):
902
903 2010-10-28  Zhenyao Mo  <zmo@google.com>
904
905         Reviewed by Kenneth Russell.
906
907         Perform framebuffer attachment checking upon draw call rather than attachment
908         https://bugs.webkit.org/show_bug.cgi?id=46318
909
910         * html/canvas/WebGLFramebuffer.cpp:
911         (WebCore::getInternalFormat): Helper function to get an attachment's internal format.
912         (WebCore::isUninitialized): Helper function to decide if an attachment is initialized or not.
913         (WebCore::setInitialized): Helper funtion to set an attachment as being initialized.
914         (WebCore::WebGLFramebuffer::setAttachment): No longer perform buffer initialization at this point.
915         (WebCore::WebGLFramebuffer::removeAttachment): Ditto.
916         (WebCore::WebGLFramebuffer::getColorBufferFormat): Make it const.
917         (WebCore::WebGLFramebuffer::isIncomplete): Attachments conflict check.
918         (WebCore::WebGLFramebuffer::onAccess): Check atatchment conflicts and buffer initialization if necessary.
919         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Return a boolean whether the framebuffer is complete or not.
920         * html/canvas/WebGLFramebuffer.h: Add new function declaration and remove some outdated functions.
921         (WebCore::WebGLFramebuffer::isColorAttached):
922         (WebCore::WebGLFramebuffer::isDepthAttached): Make this private.
923         (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
924         (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
925         * html/canvas/WebGLRenderbuffer.h:
926         (WebCore::WebGLRenderbuffer::setInternalFormat): Also set the renderbuffer as uninitialized.
927         * html/canvas/WebGLRenderingContext.cpp:
928         (WebCore::WebGLRenderingContext::bindFramebuffer): No longer perform framebuffer initialization at this point.
929         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check WebGL specific attachment conflicts.
930         (WebCore::WebGLRenderingContext::clear): Call WebGLFramebuffer::onAccess.
931         (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
932         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
933         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
934         (WebCore::WebGLRenderingContext::drawElements): Ditto.
935         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): No longer perform framebuffer initialization at this point.
936         (WebCore::WebGLRenderingContext::readPixels): Call WebGLFramebuffer::onAccess.
937         (WebCore::WebGLRenderingContext::renderbufferStorage): No longer perform framebuffer initialization at this point.
938         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
939
940 2010-11-01  Zhenyao Mo  <zmo@google.com>
941
942         Reviewed by Kenneth Russell.
943
944         blendFunc should generate INVALID_OPERATION if constant color and constant alpha are together as source and destination factors
945         https://bugs.webkit.org/show_bug.cgi?id=48674
946
947         Test: fast/canvas/webgl/webgl-specific.html
948
949         * html/canvas/WebGLRenderingContext.cpp:
950         (WebCore::WebGLRenderingContext::blendFunc):
951         (WebCore::WebGLRenderingContext::blendFuncSeparate):
952         * html/canvas/WebGLRenderingContext.h:
953         (WebCore::WebGLRenderingContext::validateBlendFuncFactors): Helper function to do the checking.
954
955 2010-11-02  Simon Fraser  <simon.fraser@apple.com>
956
957         Reviewed by Dan Bernstein.
958
959         Overlapped nested iframes show smearing when scrolled
960         https://bugs.webkit.org/show_bug.cgi?id=48873
961
962         A FrameView goes into slow scrolling mode (not blitting) when told that it is
963         overlapped. However, a nested iframe could still try to use fast scrolling
964         when its parent is overlapped, which could result in bad rendering.
965         
966         Fixed by making useSlowRepaints() and useSlowRepaintsIfNotOverlapped()
967         walk up their parent chain, asking if their parents also use slow
968         repaints.
969         
970         All the places that call setCanBlitOnScroll() now call
971         updateCanBlitOnScrollRecursively() to ensure that the canBlitOnScroll
972         flag is updated correctly on subframes.
973         
974         Repaint tests do not work on nested iframes, so added manual test.
975
976         * manual-tests/frames/nested-iframe-blit-on-scroll.html: Added.
977         * manual-tests/frames/resources/blit-on-scroll-subframe.html: Added.
978         * manual-tests/frames/resources/blit-on-scroll-subsubframe.html: Added.
979         * page/FrameView.cpp:
980         (WebCore::FrameView::layout):
981         (WebCore::FrameView::useSlowRepaints):
982         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
983         (WebCore::FrameView::updateCanBlitOnScrollRecursively):
984         (WebCore::FrameView::setUseSlowRepaints):
985         (WebCore::FrameView::addSlowRepaintObject):
986         (WebCore::FrameView::removeSlowRepaintObject):
987         (WebCore::FrameView::addFixedObject):
988         (WebCore::FrameView::removeFixedObject):
989         (WebCore::FrameView::setIsOverlapped):
990         (WebCore::FrameView::setContentIsOpaque):
991         * page/FrameView.h:
992
993 2010-11-02  Simon Fraser  <simon.fraser@apple.com>
994
995         Reviewed by Dan Bernstein.
996
997         Iframes nested inside a compositing layer don't repaint correctly
998         https://bugs.webkit.org/show_bug.cgi?id=48880
999         <rdar://problem/8194698>
1000         
1001         The isEnclosedInCompositingLayer() is used to modify the behavior of
1002         -[WebClipView visibleRect:] in WebKit, so that scrolling-related repaints
1003         are correct in composited iframes. Previously it only asked whether the
1004         frame's renderer was in a compositing layer, but we actually need to
1005         consult all ancestors.
1006         
1007         Test: compositing/iframes/nested-iframe-scrolling.html
1008
1009         * page/FrameView.cpp:
1010         (WebCore::FrameView::isEnclosedInCompositingLayer):
1011
1012 2010-11-02  David Hyatt  <hyatt@apple.com>
1013
1014         Reviewed by Dan Bernstein.
1015
1016         https://bugs.webkit.org/show_bug.cgi?id=48672
1017         
1018         Make vertical glyph offset hit testing work with inline boxes.  This allows selection to paint
1019         properly for vertical text (although gap-filling is still broken).
1020         
1021         Refactored and cleaned up the writing mode flipping functions, and also did some cleanup to
1022         better share code between hit testing and painting.
1023
1024         * rendering/InlineBox.cpp:
1025         (WebCore::InlineBox::locationIncludingFlipping):
1026         (WebCore::InlineBox::flipForWritingMode):
1027         * rendering/InlineBox.h:
1028         * rendering/InlineFlowBox.cpp:
1029         (WebCore::InlineFlowBox::nodeAtPoint):
1030         (WebCore::InlineFlowBox::paint):
1031         (WebCore::InlineFlowBox::paintBoxDecorations):
1032         (WebCore::InlineFlowBox::paintMask):
1033         * rendering/InlineTextBox.cpp:
1034         (WebCore::InlineTextBox::selectionRect):
1035         (WebCore::InlineTextBox::nodeAtPoint):
1036         (WebCore::InlineTextBox::paint):
1037         (WebCore::InlineTextBox::textPos):
1038         (WebCore::InlineTextBox::offsetForPosition):
1039         (WebCore::InlineTextBox::positionForOffset):
1040         * rendering/RenderBlock.cpp:
1041         (WebCore::RenderBlock::paintChildren):
1042         (WebCore::RenderBlock::paintFloats):
1043         (WebCore::RenderBlock::hitTestFloats):
1044         (WebCore::RenderBlock::hitTestContents):
1045         * rendering/RenderBox.cpp:
1046         (WebCore::RenderBox::computeRectForRepaint):
1047         (WebCore::RenderBox::flipForWritingMode):
1048         (WebCore::RenderBox::locationOffsetIncludingFlipping):
1049         * rendering/RenderBox.h:
1050         * rendering/RenderInline.cpp:
1051         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1052         * rendering/RenderLineBoxList.cpp:
1053         (WebCore::RenderLineBoxList::rangeIntersectsRect):
1054         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1055         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1056         (WebCore::RenderLineBoxList::paint):
1057         (WebCore::RenderLineBoxList::hitTest):
1058         * rendering/RenderLineBoxList.h:
1059         * rendering/RenderText.cpp:
1060         (WebCore::RenderText::positionForPoint):
1061
1062 2010-11-02  Adam Barth  <abarth@webkit.org>
1063
1064         Reviewed by Eric Seidel.
1065
1066         JPEG decoders should understand color profiles
1067         https://bugs.webkit.org/show_bug.cgi?id=48819
1068
1069         This patch is currently a no-op because no one defines USE(ICCJPEG).
1070         We'll enable this for Chromium Mac once we have ICCJPEG landed in
1071         Chromium's third_party directory.
1072
1073         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1074         (WebCore::readColorProfile):
1075         (WebCore::JPEGImageReader::JPEGImageReader):
1076         (WebCore::JPEGImageReader::decode):
1077         (WebCore::JPEGImageDecoder::outputScanlines):
1078         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1079         (WebCore::JPEGImageDecoder::setColorProfile):
1080
1081 2010-11-02  Mihai Parparita  <mihaip@chromium.org>
1082
1083         Reviewed by Adam Barth.
1084
1085         [Chromium] Crash when encountering history.back() call during Page::goToItem execution
1086         https://bugs.webkit.org/show_bug.cgi?id=48477
1087         
1088         For the Chromium port, BackForwardList::itemAtIndex synthesizes a 
1089         HistoryItem and saves a pointer to it in m_pendingItem. During 
1090         Page::goToItem we call FrameLoader::stopAllLoaders, which can trigger
1091         onload handlers (if a subframe was not considered committed by the frame
1092         loader). If one of those handlers calls calls history.back() or another
1093         operation that ends up in NavigationScheduler::scheduleHistoryNavigation,
1094         we would call BackForwardList::itemAtIndex, which means that we would 
1095         lose the m_pendingItem RefPtr that pointed to the item being navigated 
1096         to, causing its ref count to go to 0*, and thus for the HistoryItem to
1097         be deleted before we were done navigating to it.
1098         
1099         This is fixed in two ways:
1100         - Add a protector RefPtr in Page::goToItem to make sure that the item is
1101           still around for when we pass it to HistoryController:goToItem.
1102         - Change NavigationScheduler::scheduleHistoryNavigation to not use
1103           BackForwardList::itemAtIndex and instead look at the
1104           forward/backListCount() (since it doesn't actually care about the
1105           returned HistoryItem).
1106         
1107         * Full annotated stack trace of this is at http://crbug.com/59554#c9.        
1108
1109         Test: http/tests/history/back-during-onload-triggered-by-back.html
1110
1111         * loader/NavigationScheduler.cpp:
1112         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
1113         * page/Page.cpp:
1114         (WebCore::Page::goToItem):
1115
1116 2010-10-28  Zhenyao Mo  <zmo@google.com>
1117
1118         Reviewed by Kenneth Russell.
1119
1120         Update getUniform for bvec[234] to return boolean[] rather than Uint8Array
1121         https://bugs.webkit.org/show_bug.cgi?id=47568
1122
1123         * html/canvas/WebGLRenderingContext.cpp:
1124         (WebCore::WebGLRenderingContext::getUniform):
1125
1126 2010-11-02  Chris Rogers  <crogers@google.com>
1127
1128         Reviewed by Kenneth Russell.
1129
1130         Add RealtimeAnalyserNode files
1131         https://bugs.webkit.org/show_bug.cgi?id=48798
1132
1133         No new tests since audio API is not yet implemented.
1134
1135         * webaudio/RealtimeAnalyserNode.cpp: Added.
1136         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
1137         (WebCore::RealtimeAnalyserNode::~RealtimeAnalyserNode):
1138         (WebCore::RealtimeAnalyserNode::process):
1139         (WebCore::RealtimeAnalyserNode::pullInputs):
1140         (WebCore::RealtimeAnalyserNode::reset):
1141         * webaudio/RealtimeAnalyserNode.h: Added.
1142         (WebCore::RealtimeAnalyserNode::create):
1143         (WebCore::RealtimeAnalyserNode::fftSize):
1144         (WebCore::RealtimeAnalyserNode::setFftSize):
1145         (WebCore::RealtimeAnalyserNode::frequencyBinCount):
1146         (WebCore::RealtimeAnalyserNode::setMinDecibels):
1147         (WebCore::RealtimeAnalyserNode::minDecibels):
1148         (WebCore::RealtimeAnalyserNode::setMaxDecibels):
1149         (WebCore::RealtimeAnalyserNode::maxDecibels):
1150         (WebCore::RealtimeAnalyserNode::setSmoothingTimeConstant):
1151         (WebCore::RealtimeAnalyserNode::smoothingTimeConstant):
1152         (WebCore::RealtimeAnalyserNode::getFloatFrequencyData):
1153         (WebCore::RealtimeAnalyserNode::getByteFrequencyData):
1154         (WebCore::RealtimeAnalyserNode::getByteTimeDomainData):
1155         * webaudio/RealtimeAnalyserNode.idl: Added.
1156
1157 2010-11-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1158
1159         Unreviewed, rolling out r71152.
1160         http://trac.webkit.org/changeset/71152
1161         https://bugs.webkit.org/show_bug.cgi?id=48866
1162
1163         Causes lots and lots of crashes (Requested by jamesr_ on
1164         #webkit).
1165
1166         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1167         (WebCore::JPEGImageReader::JPEGImageReader):
1168         (WebCore::JPEGImageReader::decode):
1169         (WebCore::JPEGImageDecoder::outputScanlines):
1170         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1171
1172 2010-11-02  Alexey Proskuryakov  <ap@apple.com>
1173
1174         Reviewed by Timothy Hatcher.
1175
1176         https://bugs.webkit.org/show_bug.cgi?id=48813
1177         <rdar://problem/8602552> REGRESSION (r63622): DNS prefetching for <link> tags doesn't work
1178         in non-HTTP documents
1179
1180         Cannot test DNS prefetching.
1181
1182         * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): We should be looking at
1183         preferences, not at whether this document has prefetching enabled.
1184
1185 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1186
1187         Not reviewed: Web Inspector: follow up to r71139. Fixed Mac monospace
1188         height style.
1189
1190         * inspector/front-end/PropertiesSection.js:
1191         (WebInspector.PropertiesSection):
1192         * inspector/front-end/inspector.css:
1193
1194 2010-11-02  Adam Barth  <abarth@webkit.org>
1195
1196         Reviewed by Eric Seidel.
1197
1198         JPEG decoders should understand color profiles
1199         https://bugs.webkit.org/show_bug.cgi?id=48819
1200
1201         This patch is currently a no-op because no one defines USE(ICCJPEG).
1202         We'll enable this for Chromium Mac once we have ICCJPEG landed in
1203         Chromium's third_party directory.
1204
1205         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1206         (WebCore::readColorProfile):
1207         (WebCore::JPEGImageReader::JPEGImageReader):
1208         (WebCore::JPEGImageReader::decode):
1209         (WebCore::JPEGImageDecoder::outputScanlines):
1210         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1211         (WebCore::JPEGImageDecoder::setColorProfile):
1212
1213 2010-11-02  Ilya Sherman  <isherman@chromium.org>
1214
1215         Reviewed by Simon Fraser.
1216
1217         Marks selectionStart() and selectionEnd() as const.
1218         https://bugs.webkit.org/show_bug.cgi?id=48786
1219
1220         * html/HTMLFormControlElement.cpp:
1221         (WebCore::HTMLTextFormControlElement::selectionStart):
1222         (WebCore::HTMLTextFormControlElement::selectionEnd):
1223         * html/HTMLFormControlElement.h:
1224
1225 2010-11-02  Chris Rogers  <crogers@google.com>
1226
1227         Reviewed by Kenneth Russell.
1228
1229         Fix license for audio files
1230         https://bugs.webkit.org/show_bug.cgi?id=48859
1231
1232         * webaudio/AudioChannelSplitter.cpp:
1233         * webaudio/AudioChannelSplitter.h:
1234         * webaudio/AudioDestinationNode.cpp:
1235         * webaudio/AudioDestinationNode.h:
1236         * webaudio/AudioGainNode.cpp:
1237         * webaudio/AudioGainNode.h:
1238         * webaudio/AudioPannerNode.cpp:
1239         * webaudio/AudioPannerNode.h:
1240         * webaudio/AudioPannerNode.idl:
1241
1242 2010-11-02  Martin Robinson  <mrobinson@igalia.com>
1243
1244         Reviewed by Xan Lopez.
1245
1246         Remove special handling of HashTableDeletedValue in PlatformRefPtr and manually manage memory that cannot be controlled by HashTraits
1247         https://bugs.webkit.org/show_bug.cgi?id=48841
1248
1249         Switch to manually managing the memory in FontPlatformDataFreeType. This
1250         is necessary because smart pointers do not know how to deal with a pointer
1251         value of -1 (HashTableDeletedValue) and HashTraits can only manage the type
1252         contained in the HashMap. 
1253
1254         No new tests as this should not change functionality.
1255
1256         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
1257         (WebCore::FontPlatformData::FontPlatformData):
1258         (WebCore::FontPlatformData::operator=):
1259         (WebCore::FontPlatformData::~FontPlatformData):
1260         (WebCore::FontPlatformData::operator==):
1261         (WebCore::FontPlatformData::initializeWithFontFace):
1262         * platform/graphics/cairo/FontPlatformDataFreeType.h:
1263         (WebCore::FontPlatformData::FontPlatformData):
1264         (WebCore::FontPlatformData::scaledFont):
1265         (WebCore::FontPlatformData::hash):
1266         (WebCore::FontPlatformData::isHashTableDeletedValue):
1267         (WebCore::FontPlatformData::hashTableDeletedFontValue):
1268         * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp:
1269         (WebCore::GlyphPage::fill):
1270         * platform/graphics/cairo/SimpleFontDataCairo.cpp:
1271         (WebCore::SimpleFontData::platformInit):
1272         (WebCore::SimpleFontData::containsCharacters):
1273         (WebCore::SimpleFontData::platformWidthForGlyph):
1274
1275 2010-11-02  Adam Barth  <abarth@webkit.org>
1276
1277         Reviewed by Eric Seidel.
1278
1279         querySelectorAll('body>:last-child') does not work unless HTML file ends with 'new-line'.
1280         https://bugs.webkit.org/show_bug.cgi?id=47166
1281
1282         We need to pop all the open elements when we end the document in the
1283         AfterAfterBody state.
1284
1285         Test: fast/parser/pop-all-after-after-body.html
1286
1287         * html/parser/HTMLTreeBuilder.cpp:
1288         (WebCore::HTMLTreeBuilder::processEndOfFile):
1289
1290 2010-11-02  Patrick Gansterer  <paroga@webkit.org>
1291
1292         Reviewed by Adam Roben.
1293
1294         Cleanup createGlobalImageFileDescriptor in ClipboardWin
1295         https://bugs.webkit.org/show_bug.cgi?id=48189
1296
1297         * platform/win/ClipboardWin.cpp:
1298         (WebCore::ClipboardWin::writeURL):
1299
1300 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1301
1302         Reviewed by Timothy Hatcher.
1303
1304         Web Inspector: display frame names in the resources panel.
1305         https://bugs.webkit.org/show_bug.cgi?id=48839
1306
1307         * inspector/Inspector.idl:
1308         * inspector/InspectorResourceAgent.cpp:
1309         (WebCore::frameId):
1310         (WebCore::buildObjectForDocumentLoader):
1311         (WebCore::buildObjectForFrame):
1312         (WebCore::buildObjectForFrameTree):
1313         (WebCore::InspectorResourceAgent::didCommitLoad):
1314         (WebCore::InspectorResourceAgent::frameDetachedFromParent):
1315         (WebCore::InspectorResourceAgent::frameForId):
1316         (WebCore::InspectorResourceAgent::resourceContent):
1317         * inspector/InspectorResourceAgent.h:
1318         * inspector/front-end/ResourceManager.js:
1319         (WebInspector.ResourceManager.prototype.didCommitLoadForFrame):
1320         (WebInspector.ResourceManager.prototype._processCachedResources):
1321         (WebInspector.ResourceManager.prototype._addFramesRecursively):
1322         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
1323         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
1324         * inspector/front-end/StoragePanel.js:
1325         (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
1326         (WebInspector.BaseStorageTreeElement.prototype.get titleText):
1327         (WebInspector.FrameTreeElement):
1328         (WebInspector.FrameTreeElement.prototype.onattach):
1329         (WebInspector.FrameTreeElement.prototype.get nameForSorting):
1330         (WebInspector.FrameTreeElement.prototype.setTitles):
1331         (WebInspector.FrameTreeElement.prototype.set hovered):
1332         * inspector/front-end/inspector.css:
1333         (li.selected .base-storage-tree-element-subtitle):
1334         (.base-storage-tree-element-subtitle):
1335
1336 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1337
1338         Not reviewed. Follow up to r71139: removing unused images.
1339         https://bugs.webkit.org/show_bug.cgi?id=48827
1340
1341         * WebCore.gypi:
1342         * inspector/front-end/Images/grayConnectorPoint.png: Removed.
1343         * inspector/front-end/Images/whiteConnectorPoint.png: Removed.
1344         * inspector/front-end/WebKit.qrc:
1345
1346 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1347
1348         Reviewed by Timothy Hatcher.
1349
1350         Web Inspector: make properties and event listeners look consistent with the styles section.
1351         https://bugs.webkit.org/show_bug.cgi?id=48827
1352
1353         * inspector/front-end/EventListenersSidebarPane.js:
1354         * inspector/front-end/PropertiesSection.js:
1355         (WebInspector.PropertiesSection):
1356         * inspector/front-end/PropertiesSidebarPane.js:
1357         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1358         (WebInspector.PropertiesSidebarPane.prototype.update):
1359         * inspector/front-end/inspector.css:
1360         (.events-pane .section:not(:nth-of-type(1))):
1361         (.event-bar:first-child):
1362         (.section .header):
1363         (.section .header::before):
1364         (.section.expanded .header::before):
1365         (.section .header .title, .event-bar .header .title):
1366         (.section .header .subtitle, .event-bar .header .subtitle):
1367         (.section.expanded .properties, .event-bar.expanded .event-properties):
1368         (.properties-tree):
1369         (.event-bar):
1370         (.event-bars .event-bar .header):
1371         (.event-bars .event-bar .header .title):
1372         (.event-bars .event-bar .header::before):
1373
1374 2010-11-02  Dan Bernstein  <mitz@apple.com>
1375
1376         Reviewed by Anders Carlsson.
1377
1378         Remove unused methods and member variables from AutoTableLayout.
1379
1380         * rendering/AutoTableLayout.cpp:
1381         (WebCore::AutoTableLayout::AutoTableLayout): Removed initialization of m_percentagesDirty
1382         and m_totalPercent.
1383         (WebCore::AutoTableLayout::fullRecalc): Removed setting of m_percentagesDirty.
1384         (WebCore::AutoTableLayout::calcPercentages): Removed.
1385         * rendering/AutoTableLayout.h: Removed totalPercent(), m_percentagesDirty, and m_totalPercent.
1386
1387 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1388
1389         Reviewed by Timothy Hatcher.
1390
1391         Web Inspector: clear / hide timing information for cached resources.
1392         https://bugs.webkit.org/show_bug.cgi?id=48848
1393
1394         * inspector/front-end/Resource.js:
1395         (WebInspector.Resource.prototype.set cached):
1396         (WebInspector.Resource.prototype.get timing):
1397         (WebInspector.Resource.prototype.set timing):
1398         * inspector/front-end/ResourceManager.js:
1399         (WebInspector.ResourceManager.prototype.markResourceAsCached):
1400
1401 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1402
1403         Reviewed by Timothy Hatcher.
1404
1405         Web Inspector: improve network's 'preview close' usability.
1406         https://bugs.webkit.org/show_bug.cgi?id=48846
1407
1408         * inspector/front-end/networkPanel.css:
1409         (#network-close-button:hover):
1410         (#network-close-button:active):
1411
1412 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1413
1414         Reviewed by Timothy Hatcher.
1415
1416         Web Inspector: Image heights are displayed as 0.
1417         https://bugs.webkit.org/show_bug.cgi?id=40817
1418
1419         * inspector/front-end/ImageView.js:
1420         (WebInspector.ImageView.prototype.contentTabSelected):
1421         (WebInspector.ImageView.prototype.contentTabSelected.onImageLoad):
1422
1423  2010-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
1424
1425         Reviewed by Kenneth Rohde Christiansen.
1426
1427         [Texmap] [Qt] Texture mapper initial implementation
1428         https://bugs.webkit.org/show_bug.cgi?id=47070
1429
1430         Some refactor for texmap to enable WebKit2: remove globals, and allow TextureMapper to exist without a GraphicsContext.
1431         This will allow rendering the TextureMapperNode tree without an active QPainter, into the current GL context.
1432         Most of the changes simply move the globas in TextureMapperGL into members of that class.
1433
1434         No new tests. Old tests in LayoutTests/compositing cover this.
1435
1436         * platform/graphics/opengl/TextureMapperGL.cpp:
1437         (WebCore::TextureMapperGLData::ShaderInfo::getUniformLocation):
1438         (WebCore::TextureMapperGLData::ShaderInfo::createShaderProgram):
1439         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
1440         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
1441         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
1442         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
1443         (WebCore::TextureMapperGLData::TextureMapperGLData):
1444         (WebCore::TextureMapperGL::TextureMapperGL):
1445         (WebCore::TextureMapperGL::drawTexture):
1446         (WebCore::BitmapTextureGL::setContentsToImage):
1447         (WebCore::BitmapTextureGL::destroy):
1448         (WebCore::TextureMapperGL::~TextureMapperGL):
1449         (WebCore::TextureMapperGL::makeContextCurrent):
1450         (WebCore::TextureMapperGL::obtainCurrentContext):
1451         (WebCore::TextureMapperGL::bindSurface):
1452         (WebCore::TextureMapperGL::paintToTarget):
1453         (WebCore::TextureMapperGL::createTexture):
1454         * platform/graphics/opengl/TextureMapperGL.h:
1455         (WebCore::TextureMapperGL::data):
1456         * platform/graphics/qt/TextureMapperQt.cpp:
1457         (WebCore::TextureMapperQt::TextureMapperQt):
1458         (WebCore::TextureMapperQt::setGraphicsContext):
1459         (WebCore::TextureMapper::create):
1460         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1461         (WebCore::TextureMapperNode::paint):
1462         (WebCore::TextureMapperNode::uploadTextureFromContent):
1463         * platform/graphics/texmap/TextureMapper.h:
1464         (WebCore::TextureMapper::setGraphicsContext):
1465         (WebCore::TextureMapper::setImageInterpolationQuality):
1466         (WebCore::TextureMapper::setTextDrawingMode):
1467         (WebCore::TextureMapper::imageInterpolationQuality):
1468         (WebCore::TextureMapper::textDrawingMode):
1469         (WebCore::TextureMapper::TextureMapper):
1470         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
1471         (WebCore::TextureMapperContentLayer::paint):
1472
1473  2010-11-02  Adele Peterson  <adele@apple.com>
1474
1475         Reviewed by Kent Tamura.
1476
1477         Fix for https://bugs.webkit.org/show_bug.cgi?id=48814
1478         <rdar://problem/8546143> Attempting to redo typing in apple.com/startpage search field causes infinite recursion in TextControlInnerTextElement::defaultEventHandler
1479
1480         Test: editing/undo/redo-after-detach.html
1481
1482         * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerTextElement::defaultEventHandler):
1483         A TextControlInnerTextElement will almost always have a shadowAncestorNode, the HTMLInputElement.  In this case, 
1484         after the renderer was destroyed, this shadow node was kept alive by the EditCommand, even though its not hooked up 
1485         anymore to the shadow DOM.  EditCommands can sometimes operate on stale selections and are expected to fail silently.  
1486         So here we prevent the infinite loop during event dispatch, and the rest of the redo operation will fail silently.
1487
1488 2010-11-02  Chris Marrin  <cmarrin@apple.com>
1489
1490         Reviewed by Simon Fraser.
1491
1492         When animations are paused, play-state can cause them to be unpaused.
1493         https://bugs.webkit.org/show_bug.cgi?id=46525
1494
1495         I Changed updatePlayState() to only unpause when both play-state is 
1496         "running" and not suspended. Likewise I pause animation when either
1497         play-state is "paused" or suspended.
1498
1499         Test: animations/play-state-suspend.html
1500
1501         * page/animation/AnimationBase.cpp:
1502         (WebCore::AnimationBase::updatePlayState):
1503
1504 2010-11-02  Chris Marrin  <cmarrin@apple.com>
1505
1506         Reviewed by Adam Roben.
1507
1508         Make RenderStyle::playState() return typed value and cleanup naming in Animation code
1509         https://bugs.webkit.org/show_bug.cgi?id=48844
1510
1511         playState() function was returning unsigned value, but there is a EAnimPlayState
1512         enum type which has the legal playState values. This type is now used everywhere.
1513         I also changed the naming of the m_isSuspended to m_suspended to match the style
1514         elsewhere in the code.
1515
1516         * page/animation/AnimationBase.cpp:
1517         (WebCore::AnimationBase::updatePlayState):
1518         * page/animation/AnimationBase.h:
1519         * page/animation/AnimationController.cpp:
1520         (WebCore::AnimationControllerPrivate::clear):
1521         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1522         * page/animation/CompositeAnimation.cpp:
1523         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1524         (WebCore::CompositeAnimation::suspendAnimations):
1525         (WebCore::CompositeAnimation::resumeAnimations):
1526         * page/animation/CompositeAnimation.h:
1527         (WebCore::CompositeAnimation::suspended):
1528         (WebCore::CompositeAnimation::CompositeAnimation):
1529         * platform/animation/Animation.h:
1530         (WebCore::Animation::playState):
1531         (WebCore::Animation::setPlayState):
1532         (WebCore::Animation::initialAnimationPlayState):
1533
1534 2010-11-01  Zhenyao Mo  <zmo@google.com>
1535
1536         Reviewed by Andreas Kling.
1537
1538         vertexAttribPointer should generate INVALID_VALUE if the stride exceeds 255
1539         https://bugs.webkit.org/show_bug.cgi?id=48677
1540
1541         Test: fast/canvas/webgl/gl-vertexattribpointer.html
1542
1543         * html/canvas/WebGLRenderingContext.cpp:
1544         (WebCore::WebGLRenderingContext::vertexAttribPointer): Generate INVALID_VALUE if stride > 255.
1545
1546 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
1547
1548         Reviewed by Xan Lopez.
1549
1550         [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
1551         https://bugs.webkit.org/show_bug.cgi?id=48805
1552
1553         Track active WebSocket handles via a sequential id. This ensures
1554         that when a handle is reallocated into a recently used segment of
1555         memory, it doesn't trigger a false positive in the code which ensures
1556         the original handle is active.
1557
1558         No new tests. This test should stop crashing on the bots, proving the fix.
1559
1560         * platform/network/soup/SocketStreamHandle.h:
1561         (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
1562         to SocketStreamHandle.
1563         * platform/network/soup/SocketStreamHandleSoup.cpp:
1564         (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
1565         SocketStreamHandle*.
1566         (WebCore::deactivateHandle): Ditto.
1567         (WebCore::activateHandle): Ditto.
1568         (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
1569         (WebCore::SocketStreamHandle::connected): Ditto.
1570         (WebCore::SocketStreamHandle::readBytes): Ditto.
1571         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
1572         (WebCore::connectedCallback): Ditto.
1573         (WebCore::readReadyCallback): Ditto.
1574         (WebCore::writeReadyCallback): Ditto.
1575
1576 2010-11-02  Csaba Osztrogonác  <ossy@webkit.org>
1577
1578         Unreviewed trivial fix.
1579
1580         * WebCore.pro: Remove inspector/InspectorResource.h after r71035.
1581
1582 2010-11-02  Pavel Podivilov  <podivilov@chromium.org>
1583
1584         Reviewed by Pavel Feldman.
1585
1586         Web Inspector: make xhr breakpoints editable
1587         https://bugs.webkit.org/show_bug.cgi?id=48830
1588
1589         * inspector/front-end/BreakpointManager.js:
1590         (WebInspector.Breakpoint.prototype.set sourceText):
1591         (WebInspector.Breakpoint.prototype.click):
1592         (WebInspector.Breakpoint.prototype.populateLabelElement):
1593         (WebInspector.XHRBreakpoint.prototype.populateEditElement):
1594         * inspector/front-end/BreakpointsSidebarPane.js:
1595         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpointItem):
1596         (WebInspector.BreakpointsSidebarPane.prototype._breakpointItemClicked):
1597         (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
1598         (WebInspector.BreakpointsSidebarPane.prototype._addListElement):
1599         (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
1600         (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
1601         (WebInspector.XHRBreakpointsSidebarPane):
1602         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
1603         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
1604         (WebInspector.XHRBreakpointsSidebarPane.prototype._breakpointItemClicked):
1605         (WebInspector.BreakpointItem):
1606         (WebInspector.BreakpointItem.prototype.get element):
1607         (WebInspector.BreakpointItem.prototype.click):
1608         (WebInspector.BreakpointItem.prototype.populateEditElement):
1609         (WebInspector.BreakpointItem.prototype.remove):
1610         (WebInspector.BreakpointItem.prototype._hitStateChanged):
1611         (WebInspector.BreakpointItem.prototype._labelChanged):
1612         (WebInspector.BreakpointItem.prototype._createLabelElement):
1613         * inspector/front-end/inspector.js:
1614         (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
1615         (WebInspector.createJSBreakpointsSidebarPane):
1616         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
1617         (WebInspector.createDOMBreakpointsSidebarPane):
1618         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
1619         (WebInspector.createXHRBreakpointsSidebarPane):
1620
1621 2010-11-02  Pavel Podivilov  <podivilov@chromium.org>
1622
1623         Reviewed by Pavel Feldman.
1624
1625         Web Inspector: fix for breakpoints not restored on live edit bug
1626         https://bugs.webkit.org/show_bug.cgi?id=48833
1627
1628         * inspector/front-end/ScriptsPanel.js:
1629         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
1630         * inspector/front-end/inspector.js:
1631         (WebInspector.pausedScript):
1632
1633 2010-11-02  Alexander Pavlov  <apavlov@chromium.org>
1634
1635         Reviewed by Pavel Feldman.
1636
1637         Web Inspector: [REGRESSION] Rule addition/selector editing result in unusable rules
1638         https://bugs.webkit.org/show_bug.cgi?id=48826
1639
1640         * inspector/front-end/CSSStyleModel.js:
1641         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1642         (WebInspector.CSSStyleModel.prototype.addRule):
1643         * inspector/front-end/StylesSidebarPane.js:
1644         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1645         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1646
1647 2010-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1648
1649         Reviewed by Andreas Kling.
1650
1651         [Qt] Don't include Objective-C sources in SOURCES
1652
1653         * WebCore.pro:
1654
1655 2010-11-02  Pavel Podivilov  <podivilov@chromium.org>
1656
1657         Reviewed by Pavel Feldman.
1658
1659         Web Inspector: persist native breakpoints in localStorage
1660         https://bugs.webkit.org/show_bug.cgi?id=48711
1661
1662         * inspector/InspectorController.cpp:
1663         (WebCore::InspectorController::disconnectFrontend):
1664         (WebCore::InspectorController::didCommitLoad):
1665         (WebCore::InspectorController::clearNativeBreakpoints):
1666         * inspector/InspectorController.h:
1667         * inspector/front-end/BreakpointManager.js:
1668         (WebInspector.BreakpointManager):
1669         (WebInspector.DOMBreakpoint):
1670         (WebInspector.EventListenerBreakpoint):
1671         (WebInspector.EventListenerBreakpoint.eventNameForUI):
1672         (WebInspector.EventListenerBreakpoint.prototype._uiEventName):
1673         (WebInspector.XHRBreakpoint):
1674         (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement):
1675         * inspector/front-end/BreakpointsSidebarPane.js:
1676         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1677         (WebInspector.BreakpointsSidebarPane.prototype._breakpointHit):
1678         (WebInspector.BreakpointItem.prototype._hitStateChanged):
1679         (WebInspector.EventListenerBreakpointsSidebarPane):
1680         * inspector/front-end/ConsoleView.js:
1681         * inspector/front-end/EventListenersSidebarPane.js:
1682         * inspector/front-end/NetworkPanel.js:
1683         * inspector/front-end/Panel.js:
1684         * inspector/front-end/ResourceView.js:
1685         * inspector/front-end/ScriptsPanel.js:
1686         * inspector/front-end/Settings.js:
1687         (WebInspector.Settings):
1688         (WebInspector.Settings.prototype.inspectedURLChanged):
1689         (WebInspector.Settings.prototype._formatProjectKey):
1690         * inspector/front-end/StoragePanel.js:
1691         * inspector/front-end/StylesSidebarPane.js:
1692         * inspector/front-end/WatchExpressionsSidebarPane.js:
1693         * inspector/front-end/inspector.css:
1694         (.pane .breakpoint-hit):
1695         * inspector/front-end/inspector.js:
1696         (WebInspector.set currentPanel):
1697         (WebInspector.doLoadedDone.onPopulateScriptObjects):
1698         (WebInspector.doLoadedDone):
1699         (WebInspector.reset):
1700         (WebInspector.inspectedURLChanged):
1701
1702 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
1703
1704         Reviewed by Joseph Pecoraro.
1705
1706         Web Inspector: use mimeType from cached resource
1707         in case response data contains none.
1708         https://bugs.webkit.org/show_bug.cgi?id=48773
1709
1710         * inspector/InspectorResourceAgent.cpp:
1711         (WebCore::InspectorResourceAgent::didReceiveResponse):
1712         * inspector/front-end/NetworkPanel.js:
1713         (WebInspector.NetworkPanel.prototype._createTable):
1714
1715 2010-11-01  Andrey Kosyakov  <caseq@chromium.org>
1716
1717         Reviewed by Pavel Feldman.
1718
1719         Web Inspector: [Extensions API] expose API to create properties watch sidebar panes
1720         https://bugs.webkit.org/show_bug.cgi?id=48761
1721
1722         * inspector/front-end/ExtensionAPI.js:
1723         (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createSidebarPane):
1724         (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane.callbackWrapper):
1725         (WebInspector.injectedExtensionAPI.PanelImpl.prototype.createWatchExpressionSidebarPane):
1726         (WebInspector.injectedExtensionAPI):
1727         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl):
1728         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setExpression):
1729         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
1730         * inspector/front-end/ExtensionPanel.js: Added ExtensionWatchSidebarPane
1731         (WebInspector.ExtensionWatchSidebarPane):
1732         (WebInspector.ExtensionWatchSidebarPane.prototype.setObject):
1733         (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
1734         (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
1735         (WebInspector.ExtensionWatchSidebarPane.prototype._setObject):
1736         * inspector/front-end/ExtensionServer.js:
1737         (WebInspector.ExtensionServer):
1738         (WebInspector.ExtensionServer.prototype.notifyExtensionWatchSidebarUpdated):
1739         (WebInspector.ExtensionServer.prototype._onCreateSidebar):
1740         (WebInspector.ExtensionServer.prototype._onCreateWatchExpressionSidebarPane):
1741         (WebInspector.ExtensionServer.prototype._createSidebar):
1742         (WebInspector.ExtensionServer.prototype._onSetWatchSidebarContent):
1743         * inspector/front-end/InjectedScript.js:
1744         (injectedScriptConstructor.):
1745         * inspector/front-end/RemoteObject.js: Added a wrapper for local JSON object to simulate RemoteObject interface.
1746         (WebInspector.RemoteObject.fromLocalObject):
1747         (WebInspector.LocalJSONObject):
1748         (WebInspector.LocalJSONObject.prototype.get description):
1749         (WebInspector.LocalJSONObject.prototype.get type):
1750         (WebInspector.LocalJSONObject.prototype.get hasChildren):
1751         (WebInspector.LocalJSONObject.prototype.getOwnProperties):
1752         (WebInspector.LocalJSONObject.prototype.getProperties):
1753         (WebInspector.LocalJSONObject.prototype.isError):
1754
1755 2010-11-02  Ryuan Choi  <ryuan.choi@samsung.com>
1756
1757         Unreviewed build fix for EFL build with libcurl
1758
1759         [EFL] remove multiple definition with libcurl
1760         https://bugs.webkit.org/show_bug.cgi?id=48499
1761
1762         Add macro to isolate setCookieStoragePrivateBrowsingEnabled from EFL
1763         build because it was duplicated.
1764
1765         * platform/network/curl/CookieJarCurl.cpp:
1766
1767 2010-11-02  Pavel Feldman  <pfeldman@chromium.org>
1768
1769         Reviewed by Joseph Pecoraro.
1770
1771         Web Inspector: highlight frame on hover in resources panel.
1772         https://bugs.webkit.org/show_bug.cgi?id=48760
1773
1774         * inspector/Inspector.idl:
1775         * inspector/InspectorController.cpp:
1776         (WebCore::InspectorController::highlightFrame):
1777         * inspector/InspectorController.h:
1778         (WebCore::InspectorController::hideFrameHighlight):
1779         * inspector/front-end/StoragePanel.js:
1780         (WebInspector.StoragePanel):
1781         (WebInspector.StoragePanel.prototype.showView):
1782         (WebInspector.StoragePanel.prototype._onmousemove):
1783         (WebInspector.StoragePanel.prototype._onmouseout):
1784         (WebInspector.FrameTreeElement.prototype.onselect):
1785         (WebInspector.FrameTreeElement.prototype.ondeselect):
1786         (WebInspector.FrameTreeElement.prototype.set displayName):
1787         (WebInspector.FrameTreeElement.prototype.set hovered):
1788         * inspector/front-end/inspector.css:
1789         (.storage.panel .sidebar li.selected .selection):
1790         (.storage.panel .sidebar :focus li.selected .selection):
1791         (body.inactive .storage.panel .sidebar li.selected .selection):
1792
1793 2010-11-02  Nikolas Zimmermann  <nzimmermann@rim.com>
1794
1795         Reviewed by Rob Buis.
1796
1797         Convert SVGPreserveAspectRatio to the new SVGPropertyTearOff concept
1798         https://bugs.webkit.org/show_bug.cgi?id=48822
1799
1800         Convert the next type to use the SVGPropertyTearOffConcept. Just SVGAnimatedTransformList/SVGTransform/SVGStringList are missing.
1801
1802         Tests: svg/dom/SVGAnimatedPreserveAspectRatio.html
1803                svg/dom/SVGPreserveAspectRatio.html
1804
1805         * GNUmakefile.am: Add SVGAnimatedPreserveAspectRatio.h to build.
1806         * WebCore.gypi: Ditto.
1807         * WebCore.pro: Ditto.
1808         * WebCore.vcproj/WebCore.vcproj: Ditto.
1809         * WebCore.xcodeproj/project.pbxproj: Ditto.
1810         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedPreserveAspectRatio as new style animated type.
1811         * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGPreserveAspectRatio handling.
1812         * bindings/scripts/CodeGeneratorObjC.pm: Always include the type wrapped by SVGPropertyTearOff<> - this was missing before, and now become visible as missing include.
1813         * bindings/scripts/CodeGeneratorV8.pm: Remove special SVGPreserveAspectRatio handling.
1814         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGPreserveAspectRatio handling.
1815         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
1816         * svg/SVGAnimatedPreserveAspectRatio.h: Added.
1817         * svg/SVGFEImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
1818         * svg/SVGFitToViewBox.cpp:
1819         (WebCore::SVGFitToViewBox::viewBoxToViewTransform): SVGPreserveAspectRatio::getCTM doesn't need x/y parameters, they were not used anywhere, remove them.
1820         * svg/SVGFitToViewBox.h: Replace includes by class forwards.
1821         * svg/SVGImageElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
1822         * svg/SVGLocatable.cpp: Add SVGNames.h include, to allow Qt to build (thanks ews!).
1823         * svg/SVGMarkerElement.h: Ditto.
1824         * svg/SVGPatternElement.h: Ditto.
1825         * svg/SVGPreserveAspectRatio.cpp: Modernize code, add error handling for align/meetOrSlice covered by the new tests.
1826         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
1827         (WebCore::SVGPreserveAspectRatio::setAlign):
1828         (WebCore::SVGPreserveAspectRatio::setMeetOrSlice):
1829         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
1830         (WebCore::SVGPreserveAspectRatio::transformRect):
1831         (WebCore::SVGPreserveAspectRatio::getCTM):
1832         (WebCore::SVGPreserveAspectRatio::valueAsString):
1833         * svg/SVGPreserveAspectRatio.h: Reindented header.
1834         (WebCore::SVGPreserveAspectRatio::align): Inlined.
1835         (WebCore::SVGPreserveAspectRatio::meetOrSlice): Inlined.
1836         * svg/SVGPreserveAspectRatio.idl: Enable StrictTypeChecking for the align/meetOrSlice properties.
1837         * svg/SVGSVGElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ where SVGPreserveAspectRatio is used.
1838         * svg/SVGStyledTransformableElement.h: Add SVGAnimatedPropertyMacros.h include, needed by efl to build (thanks ews!).
1839         * svg/SVGSymbolElement.h: Ditto.
1840         * svg/SVGViewElement.h: Ditto.
1841         * svg/SVGViewSpec.h: Ditto.
1842
1843 2010-11-01  MORITA Hajime  <morrita@google.com>
1844
1845         Reviewed by Kent Tamura.
1846
1847         @spellcheck attribute at the child of contentEditable node is ignored.
1848         https://bugs.webkit.org/show_bug.cgi?id=48418
1849
1850         Changed to check spellcheck availability against a node under the
1851         selection (caret) instead of the focus. For shadow elements, the
1852         check now refers its host node.  Note that the original code didn't
1853         care shadows because focus is never set on them.
1854         
1855         Test: editing/spelling/spelling-attribute-at-child.html
1856
1857         * dom/Element.h:
1858         * editing/Editor.cpp:
1859         (WebCore::Editor::markMisspellingsOrBadGrammar):
1860         (WebCore::Editor::isSpellCheckingEnabledFor): 
1861         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode): Now just calling isSpellCheckingEnabledFor()
1862         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1863         * editing/Editor.h:
1864         * platform/ContextMenu.cpp:
1865         (WebCore::ContextMenu::populate):
1866         * rendering/TextControlInnerElements.cpp:
1867         (WebCore::TextControlInnerElement::isSpellCheckingEnabled): Added.
1868         * rendering/TextControlInnerElements.h:
1869
1870 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
1871
1872         Reviewed by Daniel Bates.
1873
1874         [GTK] PopupMenuGtk has a very confusing if-else block
1875         https://bugs.webkit.org/show_bug.cgi?id=48816
1876
1877         Small code cleanup for PopupMenuGtk.
1878
1879         * platform/gtk/PopupMenuGtk.cpp:
1880         (WebCore::PopupMenuGtk::show):
1881
1882 2010-11-01  Adam Barth  <abarth@webkit.org>
1883
1884         Reviewed by Eric Seidel.
1885
1886         [Chromium] Add ICC support for PNG on Mac
1887         https://bugs.webkit.org/show_bug.cgi?id=48170
1888
1889         This just pipes the ICC profile from libpng to CoreGraphics.  This
1890         patch would have been a lot prettier on Snow Leopard, but we have to
1891         use a somewhat ugly API to get this to work on Leopard.
1892
1893         This is covered by about infinite tests.
1894
1895         * platform/image-decoders/ImageDecoder.cpp:
1896         (WebCore::RGBA32Buffer::setColorProfile):
1897         * platform/image-decoders/ImageDecoder.h:
1898         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1899         (WebCore::RGBA32Buffer::asNewNativeImage):
1900         * platform/image-decoders/png/PNGImageDecoder.cpp:
1901         (WebCore::PNGImageDecoder::headerAvailable):
1902         (WebCore::PNGImageDecoder::rowAvailable):
1903         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
1904         (WebCore::RGBA32Buffer::setColorProfile):
1905         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1906         (WebCore::RGBA32Buffer::setColorProfile):
1907
1908 2010-11-01  Chang Shu  <chang.shu@nokia.com>
1909
1910         Reviewed by Antonio Gomes.
1911
1912         Leave SelectElement key handling without setting event default
1913         handled when the selection reaches the boundary so focus can 
1914         move to neighbor nodes in spatial navigation.
1915         https://bugs.webkit.org/show_bug.cgi?id=48145
1916
1917         * dom/SelectElement.cpp:
1918         (WebCore::SelectElement::listBoxDefaultEventHandler):
1919
1920 2010-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1921
1922         Unreviewed, rolling out r71080.
1923         http://trac.webkit.org/changeset/71080
1924         https://bugs.webkit.org/show_bug.cgi?id=48815
1925
1926         This change caused many crashes on the debug bot. (Requested
1927         by mrobinson on #webkit).
1928
1929         * platform/network/soup/SocketStreamHandle.h:
1930         * platform/network/soup/SocketStreamHandleSoup.cpp:
1931         (WebCore::isActiveHandle):
1932         (WebCore::deactivateHandle):
1933         (WebCore::SocketStreamHandle::SocketStreamHandle):
1934         (WebCore::SocketStreamHandle::connected):
1935         (WebCore::SocketStreamHandle::readBytes):
1936         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
1937         (WebCore::connectedCallback):
1938         (WebCore::readReadyCallback):
1939         (WebCore::writeReadyCallback):
1940
1941 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
1942
1943         Reviewed by Xan Lopez.
1944
1945         [Soup] Random crashes in http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html
1946         https://bugs.webkit.org/show_bug.cgi?id=48805
1947
1948         Track active WebSocket handles via a sequential id. This ensures
1949         that when a handle is reallocated into a recently used segment of
1950         memory, it doesn't trigger a false positive in the code which ensures
1951         the original handle is active.
1952
1953         No new tests. This test should stop crashing on the bots, proving the fix.
1954
1955         * platform/network/soup/SocketStreamHandle.h:
1956         (WebCore::SocketStreamHandle::id): Added an m_id member and accessor
1957         to SocketStreamHandle.
1958         * platform/network/soup/SocketStreamHandleSoup.cpp:
1959         (WebCore::getHandleFromId): Updated to work with HashMap of handle ids to
1960         SocketStreamHandle*.
1961         (WebCore::deactivateHandle): Ditto.
1962         (WebCore::activateHandle): Ditto.
1963         (WebCore::SocketStreamHandle::SocketStreamHandle): Ditto.
1964         (WebCore::SocketStreamHandle::connected): Ditto.
1965         (WebCore::SocketStreamHandle::readBytes): Ditto.
1966         (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Ditto.
1967         (WebCore::connectedCallback): Ditto.
1968         (WebCore::readReadyCallback): Ditto.
1969         (WebCore::writeReadyCallback): Ditto.
1970
1971 2010-11-01  Kent Tamura  <tkent@chromium.org>
1972
1973         Unreviewed. Run sort-Xcode-project-file.
1974
1975         * WebCore.xcodeproj/project.pbxproj:
1976
1977 2010-11-01  Simon Fraser  <simon.fraser@apple.com>
1978
1979         Reviewed by Dan Bernstein.
1980
1981         Assertion failure in FrameView::layout when clicking on a YouTube video on youtube.com front page
1982         https://bugs.webkit.org/show_bug.cgi?id=44287
1983         
1984         When removing subframes, it's possible for layout() to get called on a FrameView
1985         for a Frame that has been removed from the frame tree. This can happen if the parent
1986         document happens to do a layout() while RenderView still has a reference to the widget
1987         for the removed frame; updateWidgetPosition() will try to force a layout() on the 
1988         subframe.
1989         
1990         Fix by checking that the FrameView's Frame still has a reference to the page before
1991         calling layout() on the subframe.
1992
1993         Test: fast/frames/layout-after-destruction.html
1994
1995         * rendering/RenderWidget.cpp:
1996         (WebCore::RenderWidget::updateWidgetPosition):
1997
1998 2010-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1999
2000         Unreviewed, rolling out r71065.
2001         http://trac.webkit.org/changeset/71065
2002         https://bugs.webkit.org/show_bug.cgi?id=48801
2003
2004         Seem to breake a lot of tests on Chromium bots (Requested by
2005         dimich on #webkit).
2006
2007         * platform/image-decoders/ImageDecoder.cpp:
2008         * platform/image-decoders/ImageDecoder.h:
2009         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2010         (WebCore::RGBA32Buffer::asNewNativeImage):
2011         * platform/image-decoders/png/PNGImageDecoder.cpp:
2012         (WebCore::PNGImageDecoder::headerAvailable):
2013         (WebCore::PNGImageDecoder::rowAvailable):
2014         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
2015         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2016
2017 2010-11-01  Matthew Delaney  <mdelaney@apple.com>
2018
2019         Reviewed by Simon Fraser.
2020
2021         Setting attr repeatDur=0 on SVG element causes hang
2022         https://bugs.webkit.org/show_bug.cgi?id=48785
2023
2024         Test: svg/animations/repeatDur-zero.xhtml
2025
2026         * svg/animation/SVGSMILElement.cpp: Fixing bound checking for legal repeatDur values.
2027
2028 2010-10-31  Adam Barth  <abarth@webkit.org>
2029
2030         Reviewed by Eric Seidel.
2031
2032         [Chromium] Add ICC support for PNG on Mac
2033         https://bugs.webkit.org/show_bug.cgi?id=48170
2034
2035         This just pipes the ICC profile from libpng to CoreGraphics.  This
2036         patch would have been a lot prettier on Snow Leopard, but we have to
2037         use a somewhat ugly API to get this to work on Leopard.
2038
2039         This is covered by about infinite tests.
2040
2041         * platform/image-decoders/ImageDecoder.cpp:
2042         (WebCore::RGBA32Buffer::setColorProfile):
2043         * platform/image-decoders/ImageDecoder.h:
2044         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2045         (WebCore::RGBA32Buffer::asNewNativeImage):
2046         * platform/image-decoders/png/PNGImageDecoder.cpp:
2047         (WebCore::PNGImageDecoder::headerAvailable):
2048         (WebCore::PNGImageDecoder::rowAvailable):
2049         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
2050         (WebCore::RGBA32Buffer::setColorProfile):
2051         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2052         (WebCore::RGBA32Buffer::setColorProfile):
2053
2054 2010-11-01  David Hyatt  <hyatt@apple.com>
2055
2056         Reviewed by Dan Bernstein.
2057
2058         https://bugs.webkit.org/show_bug.cgi?id=48776
2059         
2060         Change isVertical() on InlineBox to isHorizontal() instead.  This makes the horizontal code path come
2061         first if you branch on isHorizontal() and makes the code read better (since that's the more common code
2062         path).
2063
2064         * rendering/InlineBox.cpp:
2065         (WebCore::InlineBox::logicalHeight):
2066         * rendering/InlineBox.h:
2067         (WebCore::InlineBox::InlineBox):
2068         (WebCore::InlineBox::isHorizontal):
2069         (WebCore::InlineBox::setIsHorizontal):
2070         (WebCore::InlineBox::width):
2071         (WebCore::InlineBox::height):
2072         (WebCore::InlineBox::logicalLeft):
2073         (WebCore::InlineBox::setLogicalLeft):
2074         (WebCore::InlineBox::logicalTop):
2075         (WebCore::InlineBox::setLogicalTop):
2076         (WebCore::InlineBox::baselinePosition):
2077         (WebCore::InlineBox::lineHeight):
2078         * rendering/InlineFlowBox.cpp:
2079         (WebCore::InlineFlowBox::addToLine):
2080         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2081         (WebCore::InlineFlowBox::computeBlockDirectionOverflow):
2082         (WebCore::InlineFlowBox::paintFillLayer):
2083         (WebCore::InlineFlowBox::paintBoxDecorations):
2084         (WebCore::InlineFlowBox::paintMask):
2085         * rendering/InlineFlowBox.h:
2086         (WebCore::InlineFlowBox::marginLogicalLeft):
2087         (WebCore::InlineFlowBox::marginLogicalRight):
2088         (WebCore::InlineFlowBox::borderLogicalLeft):
2089         (WebCore::InlineFlowBox::borderLogicalRight):
2090         (WebCore::InlineFlowBox::paddingLogicalLeft):
2091         (WebCore::InlineFlowBox::paddingLogicalRight):
2092         (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions):
2093         (WebCore::InlineFlowBox::setBlockDirectionOverflowPositions):
2094         * rendering/InlineTextBox.cpp:
2095         (WebCore::InlineTextBox::selectionRect):
2096         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
2097         (WebCore::paintTextWithShadows):
2098         (WebCore::InlineTextBox::paint):
2099         (WebCore::InlineTextBox::paintDecoration):
2100         * rendering/InlineTextBox.h:
2101         * rendering/RenderBlockLineLayout.cpp:
2102         (WebCore::RenderBlock::createLineBoxes):
2103         * rendering/RenderBox.cpp:
2104         (WebCore::RenderBox::blockDirectionOverflow):
2105         * rendering/RenderBox.h:
2106         * rendering/RenderBoxModelObject.cpp:
2107         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2108         * rendering/RenderLineBoxList.cpp:
2109         (WebCore::RenderLineBoxList::hitTest):
2110         * rendering/RootInlineBox.cpp:
2111         (WebCore::RootInlineBox::RootInlineBox):
2112         (WebCore::RootInlineBox::placeEllipsis):
2113         * rendering/RootInlineBox.h:
2114         (WebCore::RootInlineBox::baselinePosition):
2115         (WebCore::RootInlineBox::lineHeight):
2116
2117 2010-11-01  Simon Fraser  <simon.fraser@apple.com>
2118
2119         Reviewed by Dave Hyatt.
2120
2121         Multiple background properties are not retrievable via DOM method getComputedStyle
2122         https://bugs.webkit.org/show_bug.cgi?id=23203
2123         
2124         Return lists of values from getComputedStyle() for multiple backgrounds,
2125         and multiple masks.
2126
2127         Test: fast/backgrounds/multiple-backgrounds-computed-style.html
2128
2129         * css/CSSComputedStyleDeclaration.cpp:
2130         (WebCore::fillSizeToCSSValue):
2131         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2132
2133 2010-11-01  David Hyatt  <hyatt@apple.com>
2134
2135         Reviewed by Dan Bernstein.
2136
2137         https://bugs.webkit.org/show_bug.cgi?id=48663
2138
2139         Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
2140         RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
2141         to give back the correct rectangle for vertical lines.
2142
2143         Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
2144         
2145         Patch hit testing to also account for "rt" and "bt" blocks.
2146
2147         * rendering/InlineBox.cpp:
2148         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
2149         * rendering/InlineFlowBox.cpp:
2150         (WebCore::InlineFlowBox::nodeAtPoint):
2151         * rendering/InlineFlowBox.h:
2152         (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
2153         (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
2154         (WebCore::InlineFlowBox::bottomLayoutOverflow):
2155         (WebCore::InlineFlowBox::rightLayoutOverflow):
2156         (WebCore::InlineFlowBox::bottomVisualOverflow):
2157         (WebCore::InlineFlowBox::rightVisualOverflow):
2158         * rendering/InlineTextBox.cpp:
2159         (WebCore::InlineTextBox::nodeAtPoint):
2160         * rendering/RenderBlock.cpp:
2161         (WebCore::RenderBlock::hitTestFloats):
2162         (WebCore::RenderBlock::hitTestContents):
2163         * rendering/RenderBox.cpp:
2164         (WebCore::RenderBox::computeRectForRepaint):
2165         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
2166         * rendering/RenderBox.h:
2167         * rendering/RenderInline.cpp:
2168         (WebCore::RenderInline::linesBoundingBox):
2169         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
2170         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2171         * rendering/RenderText.cpp:
2172         (WebCore::RenderText::linesBoundingBox):
2173
2174 2010-11-01  Brady Eidson  <beidson@apple.com>
2175
2176         Reviewed by Anders Carlsson.
2177
2178         <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
2179         Context menu support for WebKit 2.
2180
2181         Add a "showContextMenu" call to Chrome/ChromeClient:
2182         * loader/EmptyClients.h:
2183         (WebCore::EmptyChromeClient::showContextMenu):
2184         * page/Chrome.cpp:
2185         (WebCore::Chrome::showContextMenu):
2186         * page/Chrome.h:
2187         * page/ChromeClient.h:
2188
2189         Add a "platform description to ContextMenuItem" creator, will be needed by WebKit2
2190         * platform/ContextMenu.h:
2191         * platform/mac/ContextMenuMac.mm:
2192         (WebCore::contextMenuItemVector):
2193
2194         * platform/mac/ContextMenuItemMac.mm:
2195         (WebCore::ContextMenuItem::checked): WebKit2 ports now need this implemented.
2196
2197         Stub these out to keep their WK2 ports building:
2198         * platform/qt/ContextMenuItemQt.cpp:
2199         (WebCore::ContextMenuItem::checked):
2200         * platform/qt/ContextMenuQt.cpp:
2201         (WebCore::contextMenuItemVector):
2202         * platform/win/ContextMenuItemWin.cpp:
2203         (WebCore::ContextMenuItem::checked):
2204         * platform/win/ContextMenuWin.cpp:
2205         (WebCore::contextMenuItemVector):
2206
2207 2010-11-01  Eric Carlson  <eric.carlson@apple.com>
2208
2209         Reviewed by Adam Roben.
2210
2211         Seeking by very small increment doesn't generate 'seeked' event
2212         https://bugs.webkit.org/show_bug.cgi?id=48530
2213
2214         Test: media/video-seek-by-small-increment.html
2215
2216         * html/HTMLMediaElement.cpp:
2217         (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
2218         avoid asking it to seek to the current time.
2219
2220         * platform/graphics/MediaPlayer.cpp:
2221         (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
2222         * platform/graphics/MediaPlayer.h:
2223         * platform/graphics/MediaPlayerPrivate.h:
2224         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
2225
2226         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2227         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2228         (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
2229
2230         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2231         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
2232         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
2233
2234         * platform/graphics/win/QTMovie.cpp:
2235         (QTMovie::timeScale): Return the movie's time scale.
2236         * platform/graphics/win/QTMovie.h:
2237
2238 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
2239
2240         Not reviewed: Chromium build fix. Adding missing transitive dependency.
2241
2242         * inspector/InspectorResourceAgent.cpp:
2243
2244 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
2245
2246         Not reviewed. Removing references to removed file from project files.
2247
2248         * WebCore.gypi:
2249         * inspector/front-end/WebKit.qrc:
2250         * inspector/front-end/inspector.css:
2251
2252 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
2253
2254         Reviewed by Timothy Hatcher.
2255
2256         Web Inspector: remove old resources panel.
2257         https://bugs.webkit.org/show_bug.cgi?id=45657
2258
2259         * CMakeLists.txt:
2260         * English.lproj/localizedStrings.js:
2261         * GNUmakefile.am:
2262         * WebCore.gypi:
2263         * WebCore.pro:
2264         * WebCore.vcproj/WebCore.vcproj:
2265         * WebCore.xcodeproj/project.pbxproj:
2266         * bindings/js/JSInjectedScriptHostCustom.cpp:
2267         * inspector/InjectedScriptHost.cpp:
2268         * inspector/Inspector.idl:
2269         * inspector/InspectorCSSStore.cpp:
2270         * inspector/InspectorController.cpp:
2271         (WebCore::InspectorController::~InspectorController):
2272         (WebCore::InspectorController::connectFrontend):
2273         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
2274         (WebCore::InspectorController::populateScriptObjects):
2275         (WebCore::InspectorController::unbindAllResources):
2276         (WebCore::InspectorController::didCommitLoad):
2277         (WebCore::InspectorController::frameDetachedFromParent):
2278         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2279         (WebCore::InspectorController::identifierForInitialRequest):
2280         (WebCore::InspectorController::willSendRequest):
2281         (WebCore::InspectorController::markResourceAsCached):
2282         (WebCore::InspectorController::didReceiveResponse):
2283         (WebCore::InspectorController::didReceiveContentLength):
2284         (WebCore::InspectorController::didFinishLoading):
2285         (WebCore::InspectorController::didFailLoading):
2286         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2287         (WebCore::InspectorController::scriptImported):
2288         (WebCore::InspectorController::didCreateWebSocket):
2289         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
2290         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
2291         (WebCore::InspectorController::didCloseWebSocket):
2292         * inspector/InspectorController.h:
2293         * inspector/InspectorFrontendHost.cpp:
2294         * inspector/InspectorResource.cpp: Removed.
2295         * inspector/InspectorResource.h: Removed.
2296         * inspector/InspectorResourceAgent.cpp:
2297         (WebCore::InspectorResourceAgent::setOverrideContent):
2298         * inspector/InspectorResourceAgent.h:
2299         * inspector/front-end/ConsoleView.js:
2300         (WebInspector.ConsoleView.prototype.addMessage):
2301         (WebInspector.ConsoleView.prototype.clearMessages):
2302         * inspector/front-end/ExtensionServer.js:
2303         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
2304         * inspector/front-end/Images/resourcesSilhouette.png: Removed.
2305         * inspector/front-end/Resource.js:
2306         * inspector/front-end/ResourceManager.js:
2307         (WebInspector.ResourceManager.getContent):
2308         * inspector/front-end/ResourcesPanel.js: Removed.
2309         * inspector/front-end/Settings.js:
2310         * inspector/front-end/StoragePanel.js:
2311         (WebInspector.StoragePanel):
2312         (WebInspector.StoragePanel.prototype.get toolbarItemLabel):
2313         * inspector/front-end/WebKit.qrc:
2314         * inspector/front-end/inspector.html:
2315         * inspector/front-end/inspector.js:
2316         (WebInspector._createPanels):
2317         (WebInspector.get networkResources):
2318         (WebInspector.forAllResources):
2319         (WebInspector.resourceForURL):
2320         (WebInspector.doLoadedDone.populateInspectorState):
2321         (WebInspector.openResource):
2322         (WebInspector.domContentEventFired):
2323         (WebInspector.loadEventFired):
2324         (WebInspector.reset):
2325         (WebInspector._choosePanelToShowSourceLine):
2326
2327 2010-10-28  Zhenyao Mo  <zmo@google.com>
2328
2329         Reviewed by Kenneth Russell.
2330
2331         Fix enum naming style violation in GraphicsContext3D
2332         https://bugs.webkit.org/show_bug.cgi?id=48441
2333
2334         * platform/graphics/GraphicsContext3D.cpp:
2335         (WebCore::GraphicsContext3D::extractImageData):
2336         (WebCore::GraphicsContext3D::extractTextureData):
2337         (WebCore::doPacking):
2338         (WebCore::GraphicsContext3D::packPixels):
2339         * platform/graphics/GraphicsContext3D.h:
2340         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2341         (WebCore::getSourceDataFormat):
2342         (WebCore::GraphicsContext3D::getImageData):
2343         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2344         (WebCore::GraphicsContext3D::getImageData):
2345
2346 2010-11-01  Martin Robinson  <mrobinson@igalia.com>
2347
2348         Reviewed by Xan Lopez.
2349
2350         [GTK] Pasting markup into Thunderbird compose window produces no text
2351         https://bugs.webkit.org/show_bug.cgi?id=43737
2352
2353         Include a content-type meta tag prefix on all clipboard markup. Programs like
2354         Thunderbird expect this meta tag and will not paste anything unless it is there.
2355
2356         This is covered by changes to WebKit/gtk/tests/testcopyandpaste.c. This patch was
2357         written in such a way as to not affect layout test results, otherwise there
2358         would be many new GTK+-specific results that say "FAIL").
2359
2360         * platform/gtk/PasteboardHelper.cpp:
2361         (WebCore::removeMarkupPrefix): Added this helper which removes the prefix
2362         when found on incoming clipboard and drag-and-drop text.
2363         (WebCore::PasteboardHelper::getClipboardContents): Remove the meta tag prefix.
2364         (WebCore::PasteboardHelper::fillSelectionData): Add the meta tag prefix.
2365         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Remove the meta tag prefix
2366
2367 2010-11-01  Justin Schuh  <jschuh@chromium.org>
2368
2369         Reviewed by Dirk Schulze.
2370
2371         Check for NULL node in SVGUseElement::associateInstancesWithShadowTreeElements loop
2372         https://bugs.webkit.org/show_bug.cgi?id=48741
2373
2374         Test: svg/custom/use-on-use-with-child-and-empty-target.svg
2375
2376         * svg/SVGUseElement.cpp:
2377         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2378
2379 2010-11-01  Mario Sanchez Prada  <msanchez@igalia.com>
2380
2381         Reviewed by Martin Robinson.
2382
2383         [Gtk] AtkHyperlink needs to be implemented
2384         https://bugs.webkit.org/show_bug.cgi?id=33785
2385
2386         Implemented the AtkHyperlink/AtkHypertext stuff in the GTK port.
2387
2388         Even thought these kind of tasks are usually about implementing an
2389         interface, in this case it was needed to implement some more
2390         things due to the fact that AtkHyperlink is neither an interface
2391         nor an AtkObject, but just an abstract class child of GObject that
2392         needs to be redefined in a specific subclass of that one. On top
2393         of that, it was needed to implement the AtkAction interface as
2394         well for that new class, so exposed hyperlinks can work as
2395         expected with Assistive Technologies based on ATK.
2396
2397         Furthermore, as there's no mechanism to get an instance of that
2398         AtkHyperlink other than doing it through an AtkObject implementing
2399         the AtkHypertext interface, it was needed to also add the code to
2400         implement that one, so it makes possible to ask for the
2401         'hyperlinks' under an 'hypertext' accessible object.
2402
2403         Finally, to complete the implementation of all this stuff and make
2404         it all consistent, it was needed as well to implement the
2405         AtkHyperlinkImpl interface (providing just one method only) so
2406         that allows retrieving the AtkHyperlink object associated to an
2407         AtkObject implementing such an interface.
2408
2409         * GNUmakefile.am: Add the new WebKitAccessibleHyperlink.[h|cpp]
2410         files to the sources list for the GTK port.
2411
2412         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2413         (core): New function to return the core accessibility object
2414         related to an AtkObject implementing the AtkHypertext interface.
2415         (webkitAccessibleHypertextGetLink): New, part of the
2416         implementation of the AtkHypertext interface.
2417         (webkitAccessibleHypertextGetNLinks): New, likewise.
2418         (webkitAccessibleHypertextGetLinkIndex): New, likewise.
2419         (atkHypertextInterfaceInit): New, initialize the AtkHypertext
2420         interface.
2421         (webkitAccessibleHyperlinkImplGetHyperlink): New, part of the
2422         implementation of the AtkHyperlinkImpl interface.
2423         (atkHyperlinkImplInterfaceInit): New, initialize the
2424         AtkHyperlinkImpl interface.
2425         (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_HYPERTEXT and
2426         ATK_TYPE_HYPERLINK_IMPL to the list of recognized types.
2427         (getInterfaceMaskFromObject): Decide when it's needed to add
2428         WAI_HYPERTEXT and WAI_HYPERLINK to the interface mask.
2429
2430         * accessibility/gtk/WebKitAccessibleHyperlink.h: Added.
2431         * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Added.
2432         (returnString): Return (const char*) from String variables.
2433         (core): Return the associated AccessibilityObject.
2434         (webkitAccessibleHyperlinkActionDoAction): Part of the
2435         implementation of the AtkAction interface.
2436         (webkitAccessibleHyperlinkActionGetNActions): Likewise.
2437         (webkitAccessibleHyperlinkActionGetDescription): Likewise.
2438         (webkitAccessibleHyperlinkActionGetKeybinding): Likewise.
2439         (webkitAccessibleHyperlinkActionGetName): Likewise.
2440         (atkActionInterfaceInit): Initialize the AtkAction interface.
2441         (getRangeLengthForObject): Returns the length for a given Range,
2442         considering special cases (e.g. List item markers).
2443         (webkitAccessibleHyperlinkGetURI): Implementation of one of the
2444         methods in the AtkHyperlink abstract class.
2445         (webkitAccessibleHyperlinkGetObject): Likewise.
2446         (webkitAccessibleHyperlinkGetStartIndex): Likewise.
2447         (webkitAccessibleHyperlinkGetEndIndex): Likewise.
2448         (webkitAccessibleHyperlinkIsValid): Likewise.
2449         (webkitAccessibleHyperlinkGetNAnchors): Likewise.
2450         (webkitAccessibleHyperlinkIsSelectedLink): Likewise.
2451         (webkitAccessibleHyperlinkGetProperty): Getter method.
2452         (webkitAccessibleHyperlinkSetProperty): Setter method.
2453         (webkitAccessibleHyperlinkFinalize): Finalize method.
2454         (webkitAccessibleHyperlinkClassInit): Initialize the
2455         WebKitAccessibleHyperlink class.
2456         (webkitAccessibleHyperlinkInit): Initialize the
2457         WebKitAccessibleHyperlink instance.
2458         (webkitAccessibleHyperlinkGetType): Implementation of the
2459         get_type() function for the WebKitAccessibleHyperlink class.
2460         (webkitAccessibleHyperlinkNew): Returns an instance of the class
2461         associated to a given AtkHyperlinkImpl object.
2462         (webkitAccessibleHyperlinkGetAccessibilityObject): Public function
2463         returning the AccessibilityObject associated to the instance of
2464         the WebKitAccessibleHyperlink class.
2465
2466 2010-11-01  Pavel Feldman  <pfeldman@chromium.org>
2467
2468         Not reviewed: simplify inspector styles test to make all bots happy.
2469         (drive-by fix for overriden inspector styles in network panel).
2470
2471         * inspector/InspectorController.h:
2472         * inspector/front-end/networkPanel.css:
2473
2474 2010-11-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2475
2476         Reviewed by Rob Buis.
2477
2478         Enable StrictTypeChecking for all types using SVG(Animated)PropertyTearOff
2479         https://bugs.webkit.org/show_bug.cgi?id=48715
2480
2481         Enable StrictTypeChecking for all readwrite attributes and function calls of all types using the new SVG(Animated)PropertyTearOff concept.
2482         Also enable RequiresAllArguments=Raise for all function calls of these new types. Cover this functionality by tests for each of them.
2483
2484         When testing SVGLength it became obvious that quite a lot of functionality was missing.
2485         Conversion from relative arguments (percentage, ems, exs) to user specified units was missing, added that functionality and tested it.
2486         User units to pt conversion was wrong, fixed that.
2487
2488         Tests: svg/dom/SVGAnimatedAngle.html
2489                svg/dom/SVGAnimatedBoolean.html
2490                svg/dom/SVGAnimatedEnumeration.html
2491                svg/dom/SVGAnimatedInteger.html
2492                svg/dom/SVGAnimatedLength.html
2493                svg/dom/SVGAnimatedLengthList.html
2494                svg/dom/SVGAnimatedRect.html
2495                svg/dom/SVGLength-px-with-context.html
2496                svg/dom/SVGLength-px.html
2497                svg/dom/SVGLength.html
2498
2499         * bindings/js/JSSVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that. 
2500         (WebCore::JSSVGLength::value):
2501         (WebCore::JSSVGLength::setValue):
2502         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2503         * bindings/scripts/CodeGeneratorObjC.pm: Remove FIXMEs, pass real context instead off null pointer. DOMSVGLength::value is functional now.
2504         * bindings/v8/custom/V8SVGLengthCustom.cpp: These SVGLength methods now take an ExceptionCode parameter, adapt to that.
2505         (WebCore::V8SVGLength::valueAccessorGetter):
2506         (WebCore::V8SVGLength::valueAccessorSetter):
2507         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2508         * rendering/style/SVGRenderStyle.h: Adapt to SVGLength API changes.
2509         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
2510         (WebCore::SVGRenderStyle::initialKerning):
2511         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
2512         (WebCore::SVGRenderStyle::initialStrokeWidth):
2513         * svg/SVGAngle.idl: Add StrictTypeChecking, RequiresAllArguments=Raise to all methods.
2514         * svg/SVGAnimatedBoolean.idl: Remove StrictTypeChecking from animVal, it's readonly so this is useless.
2515         * svg/SVGAnimatedEnumeration.idl: Add StrictTypeChecking to all attributes.
2516         * svg/SVGAnimatedInteger.idl: Ditto.
2517         * svg/SVGLength.cpp: Implement all missing features of SVGLength. Conform to our style guide (s/.0f// etc)
2518         (WebCore::lengthTypeToString):
2519         (WebCore::SVGLength::SVGLength):
2520         (WebCore::SVGLength::value): Throw NOT_SUPPORTED_ERR when trying to obtain to relative units, when no context is given (SVGLength created by createSVGLength()).
2521         (WebCore::SVGLength::setValue): Ditto, for the setter.
2522         (WebCore::SVGLength::valueAsPercentage): Use m_valueInSpecifiedUnits instead of valueInSpecifiedUnits().
2523         (WebCore::SVGLength::setValueAsString): Throw SYNTAX_ERR if parsing failed.
2524         (WebCore::SVGLength::valueAsString): Use makeString() instead of String and operator+.
2525         (WebCore::SVGLength::newValueSpecifiedUnits): Add ExceptionCode parameter, throw NOT_SUPPORTED_ERR, if the given unit type is invalid.
2526         (WebCore::SVGLength::convertToSpecifiedUnits): Ditto.
2527         (WebCore::SVGLength::determineViewport): Added helper function used by convertValue*Percentage*.
2528         (WebCore::SVGLength::convertValueFromUserUnitsToPercentage): Add new helper functions, used by value/setValue.
2529         (WebCore::SVGLength::convertValueFromPercentageToUserUnits): Ditto.
2530         (WebCore::SVGLength::convertValueFromUserUnitsToEMS): Ditto.
2531         (WebCore::SVGLength::convertValueFromEMSToUserUnits): Ditto.
2532         (WebCore::SVGLength::convertValueFromUserUnitsToEXS): Ditto.
2533         (WebCore::SVGLength::convertValueFromEXSToUserUnits): Ditto.
2534         (WebCore::SVGLength::fromCSSPrimitiveValue): Adapt to newValueSpecifiedUnits API change.
2535         (WebCore::SVGLength::toCSSPrimitiveValue): Remove default switch case.
2536         * svg/SVGLength.h:
2537         (WebCore::SVGLength::valueInSpecifiedUnits): Inlined.
2538         (WebCore::SVGLength::setValueInSpecifiedUnits): Ditto.
2539         (WebCore::SVGLength::isRelative):
2540         * svg/SVGLength.idl: Add StrictTypeChecking for all attributes/functions and RequiresAllArguments=Raise for all functions.
2541         * svg/SVGLengthList.cpp: Adapt to SVGLength API changes.
2542         (WebCore::SVGLengthList::parse):
2543
2544 2010-10-31  Pavel Feldman  <pfeldman@chromium.org>
2545
2546         Reviewed by Timothy Hatcher.
2547
2548         Web Inspector: unhide new network and resources panels.
2549         https://bugs.webkit.org/show_bug.cgi?id=48725
2550
2551         * English.lproj/localizedStrings.js:
2552         * inspector/InspectorController.h:
2553         * inspector/front-end/NetworkPanel.js:
2554         (WebInspector.NetworkPanel):
2555         * inspector/front-end/Settings.js:
2556         * inspector/front-end/StoragePanel.js:
2557         (WebInspector.StoragePanel):
2558         (WebInspector.StoragePanel.prototype.reset):
2559         (WebInspector.StoragePanel.prototype.addResourceToFrame):
2560         (WebInspector.StoragePanel.prototype.addDocumentURL):
2561         (WebInspector.StoragePanel.prototype.showFileSystem):
2562         (WebInspector.FileSystemTreeElement):
2563         (WebInspector.FileSystemTreeElement.prototype.get itemURL):
2564         (WebInspector.FileSystemTreeElement.prototype.onselect):
2565         * inspector/front-end/inspector.js:
2566         (WebInspector.updateResource):
2567         * inspector/front-end/networkPanel.css:
2568         (#network-close-button):
2569         (.network.panel.viewing-resource #network-close-button):
2570
2571 2010-10-26  MORITA Hajime  <morrita@google.com>
2572
2573         Reviewed by Kent Tamura.
2574
2575         Refactoring: Spellchecking related static functions could form a class
2576         https://bugs.webkit.org/show_bug.cgi?id=48287
2577
2578         Extracted spellcheck related static functions to TextCheckingHelper class,
2579         which has EditorClient and Range as its member.
2580         
2581         No new tests. Just a refactoring.
2582
2583         * CMakeLists.txt:
2584         * GNUmakefile.am:
2585         * WebCore.gypi:
2586         * WebCore.pro:
2587         * WebCore.vcproj/WebCore.vcproj:
2588         * WebCore.xcodeproj/project.pbxproj:
2589         * editing/EditingAllInOne.cpp
2590         * editing/Editor.cpp:
2591         (WebCore::Editor::advanceToNextMisspelling):
2592         (WebCore::Editor::isSelectionUngrammatical):
2593         (WebCore::Editor::guessesForUngrammaticalSelection):
2594         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
2595         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
2596         (WebCore::Editor::markMisspellingsOrBadGrammar):
2597         (WebCore::Editor::markMisspellings):
2598         (WebCore::Editor::markBadGrammar):
2599         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2600         (WebCore::Editor::changeBackToReplacedString):
2601         * editing/Editor.h:
2602         * editing/TextCheckingHelper.cpp: Added.
2603         (WebCore::TextCheckingHelper::TextCheckingHelper):
2604         (WebCore::TextCheckingHelper::~TextCheckingHelper):
2605         (WebCore::TextCheckingHelper::paragraphAlignedRange):
2606         (WebCore::TextCheckingHelper::findFirstMisspelling):
2607         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
2608         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
2609         (WebCore::TextCheckingHelper::findFirstBadGrammar):
2610         (WebCore::TextCheckingHelper::isUngrammatical):
2611         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
2612         (WebCore::TextCheckingHelper::markAllMisspellings):
2613         (WebCore::TextCheckingHelper::markAllBadGrammar):
2614         * editing/TextCheckingHelper.h: Added.
2615
2616 2010-10-31  Xan Lopez  <xlopez@igalia.com>
2617
2618         Try to fix the GTK+ build.
2619
2620         Do not use broken/deprecated functions that won't be available
2621         with G_DISABLE_DEPRECATED (used in debug builds).
2622
2623         * plugins/gtk/PluginPackageGtk.cpp:
2624         (WebCore::PluginPackage::fetchInfo):
2625
2626 2010-10-31  Kenichi Ishibashi  <bashi@google.com>
2627
2628         Reviewed by Adam Barth.
2629
2630         V8 binding for DOMSettableTokenList
2631         https://bugs.webkit.org/show_bug.cgi?id=47812
2632
2633         Tests for this change will be included in the change for supporting
2634         the <output> element.
2635         See https://bugs.webkit.org/show_bug.cgi?id=29363.
2636
2637         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Implemented.
2638         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter): Just calls DOMSettableTokenList::item(index).
2639
2640 2010-10-31  Robert Hogan  <robert@webkit.org>
2641
2642         Reviewed by Antonio Gomes.
2643
2644         [Qt] [Gtk] Plug-ins having upper case in mime type are failing to load
2645
2646         Qt and Gtk are case-sensitive when storing the declared mime-type
2647         of plugins. Since plugin mime-types are lowercased prior to searching
2648         for them in the plugin database, ensure they are loaded with the
2649         mime-type in lower case too.
2650
2651         https://bugs.webkit.org/show_bug.cgi?id=36815
2652
2653         * plugins/gtk/PluginPackageGtk.cpp:
2654         (WebCore::PluginPackage::fetchInfo):
2655         * plugins/qt/PluginPackageQt.cpp:
2656         (WebCore::PluginPackage::setMIMEDescription):
2657
2658 2010-10-31  Robert Hogan  <robert@webkit.org>
2659
2660         Reviewed by Antonio Gomes.
2661
2662         [Qt] Support nodesFromRect in DRT
2663
2664         Pass a Document object as a QWebElement. 
2665
2666         https://bugs.webkit.org/show_bug.cgi?id=48716
2667
2668         * bridge/qt/qt_runtime.cpp:
2669         (JSC::Bindings::convertValueToQVariant):
2670
2671 2010-10-31  Peter Kasting  <pkasting@google.com>
2672
2673         Reviewed by Adam Barth.
2674
2675         Treat GIFs with no loop count as "loop once".
2676         https://bugs.webkit.org/show_bug.cgi?id=47302
2677
2678         Test: fast/images/gif-loop-count.html
2679
2680         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2681         (WebCore::GIFImageDecoder::repetitionCount):
2682         (WebCore::GIFImageDecoder::gifComplete):
2683
2684 2010-10-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
2685
2686         Reviewed by Andreas Kling.
2687
2688         [Texmap] [Qt] Texture mapper initial implementation
2689         https://bugs.webkit.org/show_bug.cgi?id=47070
2690
2691         Build fix for X11.
2692
2693         No new tests; build fix.
2694
2695         * plugins/qt/PluginViewQt.cpp:
2696         (WebCore::PluginView::invalidateRect):
2697         (WebCore::PluginView::platformStart):
2698
2699 2010-10-31  Andreas Kling  <kling@webkit.org>
2700
2701         Reviewed by Dirk Schulze.
2702
2703         Remove the unused GraphicsContext::clipOutEllipseInRect(IntRect)
2704         https://bugs.webkit.org/show_bug.cgi?id=48727
2705
2706         This function was added in <http://trac.webkit.org/changeset/18654> for CSS3 box-shadows.
2707         All use of the function was removed in <http://trac.webkit.org/changeset/21601>
2708
2709         * platform/graphics/GraphicsContext.h:
2710         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2711         * platform/graphics/cg/GraphicsContextCG.cpp:
2712         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2713         (WebCore::GraphicsContext::clipOut):
2714         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2715         * platform/graphics/qt/GraphicsContextQt.cpp:
2716         * platform/graphics/skia/GraphicsContextSkia.cpp:
2717         (WebCore::GraphicsContext::clipOut):
2718         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2719         * platform/graphics/wx/GraphicsContextWx.cpp:
2720
2721 2010-10-31  Andreas Kling  <kling@webkit.org>
2722
2723         Reviewed by Dirk Schulze.
2724
2725         [Qt] Respect the "antialiased" argument in clipConvexPolygon()
2726         https://bugs.webkit.org/show_bug.cgi?id=48734
2727
2728         Set (or unset) the QPainter::Antialiased render hint for antialiased
2729         clipping based on the "antialiased" argument.
2730
2731         No test since Qt doesn't have pixel tests yet.
2732
2733         * platform/graphics/qt/GraphicsContextQt.cpp:
2734         (WebCore::GraphicsContext::clipConvexPolygon):
2735
2736 2010-10-31  Andreas Kling  <kling@webkit.org>
2737
2738         Reviewed by Dirk Schulze.
2739
2740         Remove the unused GraphicsContext::strokeRect(FloatRect)
2741         https://bugs.webkit.org/show_bug.cgi?id=48726
2742
2743         This function was only implemented by GraphicsContextOpenVG and not
2744         called from anywhere.
2745
2746         * platform/graphics/GraphicsContext.h:
2747         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2748
2749 2010-10-31  Andreas Kling  <kling@webkit.org>
2750
2751         Reviewed by Dirk Schulze.
2752
2753         Remove the unused GraphicsContext::origin()
2754         https://bugs.webkit.org/show_bug.cgi?id=48732
2755
2756         This method was not called from anywhere.
2757
2758         * platform/graphics/GraphicsContext.h:
2759         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2760         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2761         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2762         * platform/graphics/qt/GraphicsContextQt.cpp:
2763         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2764
2765 2010-10-31  Andreas Kling  <kling@webkit.org>
2766
2767         Reviewed by Dirk Schulze.
2768
2769         [Qt] Remove GraphicsContext::pen()
2770         https://bugs.webkit.org/show_bug.cgi?id=48733
2771
2772         Have PathQt obtain the pen() through the platformContext() instead.
2773
2774         * platform/graphics/GraphicsContext.h:
2775         * platform/graphics/qt/GraphicsContextQt.cpp:
2776         * platform/graphics/qt/PathQt.cpp:
2777         (WebCore::Path::strokeContains):
2778         (WebCore::Path::strokeBoundingRect):
2779
2780 2010-10-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2781
2782         Unreviewed, rolling out r70959.
2783         http://trac.webkit.org/changeset/70959
2784         https://bugs.webkit.org/show_bug.cgi?id=48731
2785
2786         It broke fast/events/spatial-navigation tests (Requested by
2787         Ossy on #webkit).
2788
2789         * WebCore.xcodeproj/project.pbxproj:
2790         * rendering/InlineBox.cpp:
2791         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
2792         * rendering/InlineFlowBox.h:
2793         (WebCore::InlineFlowBox::bottomLayoutOverflow):
2794         (WebCore::InlineFlowBox::rightLayoutOverflow):
2795         (WebCore::InlineFlowBox::bottomVisualOverflow):
2796         (WebCore::InlineFlowBox::rightVisualOverflow):
2797         * rendering/RenderBox.cpp:
2798         * rendering/RenderBox.h:
2799         * rendering/RenderInline.cpp:
2800         (WebCore::RenderInline::linesBoundingBox):
2801         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
2802         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2803         * rendering/RenderText.cpp:
2804         (WebCore::RenderText::linesBoundingBox):
2805
2806 2010-10-30  Pavel Feldman  <pfeldman@chromium.org>
2807
2808         Reviewed by Timothy Hatcher.
2809
2810         Web Inspector: new resources and network panel usability improvements.
2811         https://bugs.webkit.org/show_bug.cgi?id=48680
2812
2813         By default, navigation clears network log, added 'preserve log' button,
2814         that prevents log from being cleared.
2815
2816         Storing expanded state of all group items, restoring last selected item,
2817         fall back to main frame's main resource by default.
2818         Do not list XHRs and redirects in resources.
2819
2820         * English.lproj/localizedStrings.js:
2821         * inspector/InspectorController.cpp:
2822         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2823         (WebCore::InspectorController::identifierForInitialRequest):
2824         * inspector/front-end/NetworkPanel.js:
2825         (WebInspector.NetworkPanel.prototype.get statusBarItems):
2826         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
2827         (WebInspector.NetworkPanel.prototype._updateFilter):
2828         (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
2829         (WebInspector.NetworkPanel.prototype._onPreserveLogClicked):
2830         (WebInspector.NetworkPanel.prototype.reset):
2831         (WebInspector.NetworkPanel.prototype.refreshResource):
2832         * inspector/front-end/ResourceManager.js:
2833         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
2834         (WebInspector.ResourceManager.prototype.willSendRequest):
2835         (WebInspector.ResourceManager.prototype.didLoadResourceFromMemoryCache):
2836         (WebInspector.ResourceManager.prototype.setOverrideContent):
2837         (WebInspector.ResourceManager.prototype.didCreateWebSocket):
2838         * inspector/front-end/StoragePanel.js:
2839         (WebInspector.StoragePanel):
2840         (WebInspector.StoragePanel.prototype.show):
2841         (WebInspector.StoragePanel.prototype._initDefaultSelection):
2842         (WebInspector.StoragePanel.prototype.reset):
2843         (WebInspector.StoragePanel.prototype.addResourceToFrame):
2844         (WebInspector.StoragePanel.prototype.refreshResource):
2845         (WebInspector.StoragePanel.prototype.showDatabase):
2846         (WebInspector.BaseStorageTreeElement.prototype.onselect):
2847         (WebInspector.StorageCategoryTreeElement):
2848         (WebInspector.StorageCategoryTreeElement.prototype.get itemURL):
2849         (WebInspector.StorageCategoryTreeElement.prototype.onselect):
2850         (WebInspector.StorageCategoryTreeElement.prototype.onattach):
2851         (WebInspector.StorageCategoryTreeElement.prototype.onexpand):
2852         (WebInspector.StorageCategoryTreeElement.prototype.oncollapse):
2853         (WebInspector.FrameTreeElement.prototype.get itemURL):
2854         (WebInspector.FrameTreeElement.prototype.onselect):
2855         (WebInspector.FrameResourceTreeElement.prototype.get itemURL):
2856         (WebInspector.FrameResourceTreeElement.prototype.onselect):
2857         (WebInspector.DatabaseTreeElement.prototype.get itemURL):
2858         (WebInspector.DatabaseTreeElement.prototype.onselect):
2859         (WebInspector.DatabaseTableTreeElement.prototype.get itemURL):
2860         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
2861         (WebInspector.DOMStorageTreeElement.prototype.get itemURL):
2862         (WebInspector.DOMStorageTreeElement.prototype.onselect):
2863         (WebInspector.CookieTreeElement.prototype.get itemURL):
2864         (WebInspector.CookieTreeElement.prototype.onselect):
2865         (WebInspector.ApplicationCacheTreeElement.prototype.get itemURL):
2866         (WebInspector.ApplicationCacheTreeElement.prototype.onselect):
2867
2868 2010-10-30  Patrick Gansterer  <paroga@webkit.org>
2869
2870         Unreviewed, build fix after r70846.
2871
2872         * platform/graphics/wince/ImageWinCE.cpp:
2873         (WebCore::RGBA32Buffer::asNewNativeImage):
2874
2875 2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
2876
2877         Unreviewed, rolling out r70984.
2878         http://trac.webkit.org/changeset/70984
2879         https://bugs.webkit.org/show_bug.cgi?id=46015
2880
2881         Made media/audio-delete-while-slider-thumb-clicked.html crash.
2882
2883         * Android.mk:
2884         * CMakeLists.txt:
2885         * GNUmakefile.am:
2886         * WebCore.gypi:
2887         * WebCore.pro:
2888         * WebCore.xcodeproj/project.pbxproj:
2889         * dom/ContainerNode.cpp:
2890         (WebCore::notifyChildInserted):
2891         * dom/EventContext.cpp: Removed.
2892         * dom/EventContext.h: Removed.
2893         * dom/Node.cpp:
2894         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
2895         (WebCore::Node::createRendererIfNeeded):
2896         (WebCore::Node::eventParentNode):
2897         (WebCore::Node::enclosingLinkEventParentOrSelf):
2898         (WebCore::eventTargetAsSVGElementInstance):
2899         (WebCore::eventTargetRespectingSVGTargetRules):
2900         (WebCore::Node::eventAncestors):
2901         (WebCore::Node::dispatchGenericEvent):
2902         * dom/Node.h:
2903         * dom/Text.cpp:
2904         (WebCore::Text::createRenderer):
2905         * dom/WindowEventContext.cpp: Removed.
2906         * dom/WindowEventContext.h: Removed.
2907         * inspector/InspectorDOMAgent.cpp:
2908         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2909         * inspector/InspectorInstrumentation.cpp:
2910         (WebCore::eventHasListeners):
2911         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
2912         * inspector/InspectorInstrumentation.h:
2913         (WebCore::InspectorInstrumentation::willDispatchEvent):
2914         * page/EventHandler.cpp:
2915         (WebCore::EventHandler::updateMouseEventTargetNode):
2916         * svg/SVGElement.cpp:
2917         (WebCore::SVGElement::eventParentNode):
2918         * svg/SVGElement.h:
2919
2920 2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
2921
2922         Reviewed by Darin Adler.
2923
2924         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
2925         https://bugs.webkit.org/show_bug.cgi?id=46015
2926
2927         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
2928         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
2929
2930         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
2931         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
2932
2933         * Android.mk: Added EventContext, WindowEventContext files.
2934         * CMakeLists.txt: Ditto.
2935         * GNUmakefile.am: Ditto.
2936         * WebCore.gypi: Ditto.
2937         * WebCore.pro: Ditto.
2938         * WebCore.xcodeproj/project.pbxproj: Ditto.
2939         * dom/ContainerNode.cpp:
2940         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
2941         * dom/EventContext.cpp: Added.
2942         * dom/EventContext.h: Added.
2943         * dom/Node.cpp:
2944         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
2945         (WebCore::Node::createRendererIfNeeded): Ditto.
2946         (WebCore::Node::parentOrHostNode): Added new helper method.
2947         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
2948         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
2949         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
2950         (WebCore::Node::topEventContext): Added.
2951         (WebCore::eventHasListeners): Changed to use EventContexts.
2952         (WebCore::Node::dispatchGenericEvent): Ditto.
2953         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
2954             and changed signature of eventAncestors to use EventContexts.
2955         * dom/Text.cpp:
2956         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
2957         * inspector/InspectorDOMAgent.cpp:
2958         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
2959         * page/EventHandler.cpp:
2960         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
2961         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
2962         * svg/SVGElement.h: Ditto.
2963         * dom/WindowEventContext.cpp: Added.
2964         * dom/WindowEventContext.h: Added.
2965
2966 2010-10-30  Nikolas Zimmermann  <nzimmermann@rim.com>
2967
2968         Reviewed by Rob Buis.
2969
2970         Convert SVGAnimatedNumber/SVGAnimatedNumberList to the new SVGAnimatedPropertyTearOff concept
2971         https://bugs.webkit.org/show_bug.cgi?id=48686
2972
2973         Convert the next set of primitives to use the new SVG(Animated)PropertyTearOff concept.
2974
2975         Tests: svg/dom/SVGAnimatedNumber.html
2976                svg/dom/SVGAnimatedNumberList.html
2977                svg/dom/SVGNumber.html
2978
2979         * GNUmakefile.am: Add SVGAnimatedNumber.h / SVGAnimatedNumberList.h to build.
2980         * WebCore.gypi: Ditto.
2981         * WebCore.pro: Ditto.
2982         * WebCore.vcproj/WebCore.vcproj: Ditto.
2983         * WebCore.xcodeproj/project.pbxproj: Ditto.
2984         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedNumber/SVGAnimatedNumberList as new style SVG animated properties. Remove SVGNumber from PODType hash.
2985         * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGNumber handing, it's obsolete now.
2986         * bindings/scripts/CodeGeneratorObjC.pm: Add special SVGNumber handling, as it's the first of the converted dynamic SVGAnimatedProperty types that's not in WebCore namespace.
2987         * bindings/scripts/CodeGeneratorV8.pm: Use AvoidInclusionOfType method from CodeGenerator.pm, remove special SVGNumber handling, that's obsolete now.
2988         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2989         (WebCore::extractFloatValuesFromSVGNumberList): Adapt to SVGNumberList change, which is a plain Vector<float> now.
2990         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedNumber/SVGAnimatedNumberList handling.
2991         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
2992         * svg/SVGAnimatedNumber.h: Added.
2993         * svg/SVGAnimatedNumber.idl: Enable StrictTypeChecking.
2994         * svg/SVGAnimatedNumberList.h: Added.
2995         * svg/SVGAnimatedNumberList.idl: Ditto.
2996         * svg/SVGComponentTransferFunctionElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
2997         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
2998         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
2999         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
3000         * svg/SVGComponentTransferFunctionElement.h:
3001         * svg/SVGFEColorMatrixElement.cpp: Ditto.
3002         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3003         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
3004         (WebCore::SVGFEColorMatrixElement::build):
3005         * svg/SVGFEColorMatrixElement.h:
3006         * svg/SVGFECompositeElement.h: Ditto.
3007         * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
3008         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
3009         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier): Added, replacing char[] hack by a static atomic string.
3010         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier): Ditto.
3011         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
3012         (WebCore::SVGFEConvolveMatrixElement::build):
3013         * svg/SVGFEConvolveMatrixElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3014         * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
3015         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
3016         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
3017         * svg/SVGFEDiffuseLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3018         * svg/SVGFEDisplacementMapElement.h: Ditto.
3019         * svg/SVGFEGaussianBlurElement.cpp: Ditto.
3020         (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Remove trailing whitespace.
3021         (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
3022         * svg/SVGFEGaussianBlurElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3023         * svg/SVGFELightElement.h: Ditto.
3024         * svg/SVGFEMorphologyElement.cpp:
3025         (WebCore::SVGFEMorphologyElement::radiusXIdentifier): Added, replacing char[] hack by a static atomic string.
3026         (WebCore::SVGFEMorphologyElement::radiusYIdentifier): Ditto.
3027         * svg/SVGFEMorphologyElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3028         * svg/SVGFEOffsetElement.h: Ditto.
3029         * svg/SVGFESpecularLightingElement.cpp:
3030         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
3031         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
3032         * svg/SVGFESpecularLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3033         * svg/SVGFETurbulenceElement.cpp:
3034         (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Remove trailing whitespace.
3035         (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
3036         * svg/SVGFETurbulenceElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3037         * svg/SVGFilterElement.cpp:
3038         (WebCore::SVGFilterElement::filterResXIdentifier): Remove trailing whitespace.
3039         (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
3040         * svg/SVGLengthList.idl: Remove leftover [SVGListProperty] marker.
3041         * svg/SVGMarkerElement.cpp:
3042         (WebCore::SVGMarkerElement::orientTypeIdentifier): Remove trailing whitespace.
3043         (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
3044         * svg/SVGNumber.idl: Remove [PODType] marker, add StrictTypeChecking.
3045         * svg/SVGNumberList.cpp: Convert from SVGPODList<RefPtr<SVGPODListItem<float> > > to plain Vector<float>, just like it has been done for SVGLengthList before.
3046         (WebCore::SVGNumberList::parse):
3047         (WebCore::SVGNumberList::valueAsString):
3048         * svg/SVGNumberList.h:
3049         (WebCore::SVGNumberList::SVGNumberList):
3050         * svg/SVGPathElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
3051         * svg/SVGStopElement.h: Ditto.
3052         * svg/SVGTextPositioningElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
3053         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
3054         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
3055         * svg/SVGTextPositioningElement.h: Ditto.
3056         * svg/properties/SVGPropertyTraits.h: Add SVGNumberList handling.
3057
3058 2010-10-29  Daniel Bates  <dbates@rim.com>
3059
3060         No review, rolling out 70971.
3061         http://trac.webkit.org/changeset/70971
3062         https://bugs.webkit.org/show_bug.cgi?id=6751
3063
3064         Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
3065         it caused layout test failures on all bots. In particular, the
3066         child count in a generated frame name differs after this patch. We need
3067         to look into this further.
3068
3069         Test: fast/frames/iframe-set-inner-html.html
3070
3071         * html/HTMLFrameElementBase.cpp:
3072         (WebCore::HTMLFrameElementBase::openURL):
3073         (WebCore::HTMLFrameElementBase::setName):
3074         * html/HTMLFrameElementBase.h:
3075         * loader/DocumentLoader.cpp:
3076         (WebCore::DocumentLoader::mainResource):
3077         * loader/FrameLoader.cpp:
3078         (WebCore::FrameLoader::loadURLIntoChildFrame):
3079         (WebCore::FrameLoader::commitProvisionalLoad):
3080         * loader/HistoryController.cpp:
3081         (WebCore::HistoryController::saveDocumentState):
3082         (WebCore::HistoryController::restoreDocumentState):
3083         (WebCore::HistoryController::createItem):
3084         (WebCore::HistoryController::currentFramesMatchItem):
3085         * loader/ProgressTracker.cpp:
3086         (WebCore::ProgressTracker::progressStarted):
3087         (WebCore::ProgressTracker::progressCompleted):
3088         * loader/archive/cf/LegacyWebArchive.cpp:
3089         (WebCore::LegacyWebArchive::create):
3090         * page/FrameTree.cpp:
3091         (WebCore::FrameTree::setName):
3092         (WebCore::FrameTree::clearName):
3093         (WebCore::FrameTree::uniqueChildName):
3094         (WebCore::FrameTree::child):
3095         (WebCore::FrameTree::find):
3096         * page/FrameTree.h:
3097         (WebCore::FrameTree::name):
3098
3099 2010-10-28  Antonio Gomes  <agomes@rim.com>
3100
3101         Reviewed by Ojan Vafai.
3102
3103         Needs a "LinuxEditingBehavior", perhaps with a better name
3104         https://bugs.webkit.org/show_bug.cgi?id=36627
3105
3106         Added EditingUnixBehavior editing type aim to cover the cases when
3107         neither Mac or Windows behaviors are appropriated.
3108
3109         It was decided to name it Unix not Linux.
3110
3111         No new tests. The current editing tests that involve platform specific
3112         bahaviors are coded so that they go through all editing behavior
3113         types possible. There will be a follow up bug where all of them will
3114         be updated to include the new editing behavior ("unix").
3115
3116         * editing/EditingBehaviorTypes.h:
3117         * page/Settings.cpp:
3118         (WebCore::editingBehaviorTypeForPlatform):
3119         (WebCore::Settings::Settings):
3120
3121 2010-10-29  Daniel Bates  <dbates@rim.com>
3122
3123         Reviewed by Adam Barth.
3124
3125         For unnamed frames, window.name returns a generated name
3126         https://bugs.webkit.org/show_bug.cgi?id=6751
3127
3128         Fixes an issue where the window.name of an unnamed frame returns
3129         a unique generated name that is used internally to identify the
3130         frame. Instead, we should return an empty string as implied by
3131         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
3132         This section describes that a browsing context can have no name or be
3133         the empty string.
3134
3135         * html/HTMLFrameElementBase.cpp:
3136         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
3137         frame name since this is valid as per the HTML5 spec.
3138         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
3139         since the loader code no longer depends on the frame name being unique.
3140         * html/HTMLFrameElementBase.h:
3141         * loader/DocumentLoader.cpp:
3142         (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
3143         * loader/FrameLoader.cpp:
3144         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
3145         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
3146         * loader/HistoryController.cpp:
3147         (WebCore::HistoryController::saveDocumentState): Ditto.
3148         (WebCore::HistoryController::restoreDocumentState): Ditto.
3149         (WebCore::HistoryController::createItem):
3150         (WebCore::HistoryController::currentFramesMatchItem): Ditto.
3151         * loader/ProgressTracker.cpp:
3152         (WebCore::ProgressTracker::progressStarted): Ditto.
3153         (WebCore::ProgressTracker::progressCompleted): Ditto.
3154         * loader/archive/cf/LegacyWebArchive.cpp:
3155         (WebCore::LegacyWebArchive::create): Ditto.
3156         * page/FrameTree.cpp:
3157         (WebCore::FrameTree::setName): Modified to store the DOM-specified
3158         name of the frame.
3159         (WebCore::FrameTree::clearName):
3160         (WebCore::FrameTree::uniqueChildName): Use FrameTree::uniqueName().
3161         (WebCore::FrameTree::child): Ditto.
3162         (WebCore::FrameTree::find): Ditto.
3163         * page/FrameTree.h:
3164         (WebCore::FrameTree::uniqueName): Added.
3165
3166 2010-10-29  Darin Adler  <darin@apple.com>
3167
3168         Try to fix build.
3169
3170         * page/ContextMenuController.cpp: Added include of BackForwardController.h.
3171         * page/DOMWindow.cpp: Ditto.
3172         * page/History.cpp: Ditto.
3173         * platform/ContextMenu.cpp: Ditto.
3174
3175 2010-10-29  Darin Adler  <darin@apple.com>
3176
3177         Reviewed by Sam Weinig.
3178
3179         More back/forward refactoring
3180
3181         * WebCore.exp.in: Updated.
3182
3183         * GNUmakefile.am: Removed BackForwardControllerClient.h.
3184         * WebCore.gypi: Ditto.
3185         * WebCore.pro: Ditto.
3186         * WebCore.vcproj/WebCore.vcproj: Ditto.
3187         * WebCore.xcodeproj/project.pbxproj: Ditto.
3188
3189         * history/BackForwardControllerClient.h: Removed.
3190
3191         * history/BackForwardController.cpp:
3192         (WebCore::BackForwardController::BackForwardController):
3193         Set up just m_client.
3194         (WebCore::BackForwardController::~BackForwardController):
3195         Removed call to backForwardControllerDestroyed.
3196         (WebCore::BackForwardController::canGoBackOrForward): Added.
3197         (WebCore::BackForwardController::goBackOrForward): Added.
3198         (WebCore::BackForwardController::goBack): Added.
3199         (WebCore::BackForwardController::goForward): Added.
3200         (WebCore::BackForwardController::addItem): Added.
3201         (WebCore::BackForwardController::setCurrentItem): Added.
3202         (WebCore::BackForwardController::count): Added.
3203         (WebCore::BackForwardController::backCount): Added.
3204         (WebCore::BackForwardController::forwardCount): Added.
3205         (WebCore::BackForwardController::itemAtIndex): Added.
3206         (WebCore::BackForwardController::isActive): Added.
3207         (WebCore::BackForwardController::close): Added.
3208
3209         * history/BackForwardController.h: Added functions from Page
3210         and BackForwardList that should be called here instead.
3211         Note that BackForwardList is to be renamed BackForwardClient soon.
3212
3213         * history/BackForwardList.h: Removed many now-unneeded
3214         virtual functions.
3215
3216         * history/BackForwardListImpl.h: Moved BackForwardListClient
3217         in here.
3218
3219         * history/PageCache.cpp:
3220         (WebCore::logCanCachePageDecision): Use backForward().
3221         (WebCore::PageCache::canCache): Ditto.
3222
3223         * loader/FrameLoader.cpp:
3224         (WebCore::FrameLoader::transitionToCommitted): Removed unneeded
3225         null check of backFowardList, which is never null.
3226         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Use backForward.
3227         (WebCore::FrameLoader::didFirstLayout): Ditto.
3228         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
3229         (WebCore::FrameLoader::checkDidPerformFirstNavigation): Ditto.
3230         * loader/HistoryController.cpp:
3231         (WebCore::HistoryController::goToItem): Ditto.
3232         (WebCore::HistoryController::updateForStandardLoad): Ditto.
3233         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
3234         (WebCore::HistoryController::updateBackForwardListClippedAtTarget): Ditto.
3235         (WebCore::HistoryController::pushState): Ditto.
3236         * loader/NavigationScheduler.cpp:
3237         (WebCore::ScheduledHistoryNavigation::fire): Ditto.
3238         (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
3239         * page/ContextMenuController.cpp:
3240         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
3241         * page/DOMWindow.cpp:
3242         (WebCore::DOMWindow::close): Ditto.
3243         * page/History.cpp:
3244         (WebCore::History::length): Ditto.
3245
3246         * page/Page.cpp:
3247         (WebCore::Page::Page): Use more adoptPtr. Use backForwardClient instead of
3248         backForwardControllerClient.
3249         (WebCore::Page::~Page): Use backForward.
3250         (WebCore::Page::backForwardList): Ditto.
3251         (WebCore::Page::goBack): Ditto.
3252         (WebCore::Page::goForward): Ditto.
3253         (WebCore::Page::canGoBackOrForward): Ditto.
3254         (WebCore::Page::goBackOrForward): Ditto.
3255         (WebCore::Page::getHistoryLength): Ditto.
3256         (WebCore::Page::PageClients::PageClients): Made non-inline.
3257         (WebCore::Page::PageClients::~PageClients): Ditto.
3258
3259         * page/Page.h: Made PageClients constructor and destructor non-inline.
3260         Added backForward function. Marked old functions as deprecated.
3261
3262         * page/Settings.cpp:
3263         (WebCore::Settings::setUsesPageCache): Use backForward.
3264         * platform/ContextMenu.cpp:
3265         (WebCore::ContextMenu::populate): Ditto.
3266         (WebCore::ContextMenu::checkOrEnableIfNeeded): Ditto.
3267         * wml/WMLDoElement.cpp:
3268         (WebCore::WMLDoElement::defaultEventHandler): Ditto.
3269         * wml/WMLDocument.cpp:
3270         (WebCore::WMLDocument::finishedParsing): Ditto.
3271         * wml/WMLPageState.cpp:
3272         (WebCore::WMLPageState::reset): Ditto.
3273         (WebCore::tryAccessHistoryURLs): Ditto.
3274         * wml/WMLPrevElement.cpp:
3275         (WebCore::WMLPrevElement::executeTask): Ditto.
3276
3277 2010-10-29  David Hyatt  <hyatt@apple.com>
3278
3279         Reviewed by Sam Weinig.
3280
3281         https://bugs.webkit.org/show_bug.cgi?id=48663
3282
3283         Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
3284         RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
3285         to give back the correct rectangle for vertical lines.
3286         
3287         Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
3288
3289         Added fast/repaint/inline-vertical-lr-overflow.html
3290
3291         * rendering/InlineBox.cpp:
3292         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
3293         * rendering/InlineFlowBox.h:
3294         (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
3295         (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
3296         (WebCore::InlineFlowBox::bottomLayoutOverflow):
3297         (WebCore::InlineFlowBox::rightLayoutOverflow):
3298         (WebCore::InlineFlowBox::bottomVisualOverflow):
3299         (WebCore::InlineFlowBox::rightVisualOverflow):
3300         * rendering/RenderBox.cpp:
3301         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
3302         * rendering/RenderBox.h:
3303         * rendering/RenderInline.cpp:
3304         (WebCore::RenderInline::linesBoundingBox):
3305         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
3306         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3307         * rendering/RenderText.cpp:
3308         (WebCore::RenderText::linesBoundingBox):
3309
3310 2010-10-29  Mike Lawther  <mikelawther@chromium.org>
3311
3312         Reviewed by James Robinson.
3313
3314         Fix canvas/philip/tests/2d.imageData.get.source.negative
3315         https://bugs.webkit.org/show_bug.cgi?id=48277
3316
3317         Handle negative width/height.
3318         See http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
3319
3320         * html/canvas/CanvasRenderingContext2D.cpp:
3321         (WebCore::CanvasRenderingContext2D::getImageData):
3322
3323 2010-10-29  Kavita Kanetkar  <kkanetkar@chromium.org>
3324
3325         Reviewed by Pavel Feldman.
3326
3327         Web Inspector: FileSystem integration
3328         https://bugs.webkit.org/show_bug.cgi?id=45982
3329
3330         Adding filesystem support for Inspector under storage tab. This fetches root paths for
3331         temporary and persistent filesystems and allows "reveal folder in OS" option that
3332         launches native file browser. Currently this feature is disabled for non-chromium platforms.
3333
3334         * CMakeLists.txt:
3335         * English.lproj/localizedStrings.js:
3336         * GNUmakefile.am:
3337         * WebCore.gypi:
3338         * WebCore.pro:
3339         * WebCore.vcproj/WebCore.vcproj:
3340         * inspector/CodeGeneratorInspector.pm:
3341         * inspector/Inspector.idl:
3342         * inspector/InspectorController.cpp:
3343         (WebCore::InspectorController::connectFrontend):
3344         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
3345         * inspector/InspectorController.h:
3346         (WebCore::InspectorController::fileSystemAgent):
3347         * inspector/InspectorFileSystemAgent.cpp: Added.
3348         * inspector/InspectorFileSystemAgent.h: Added.
3349         * inspector/front-end/FileSystemView.js: Added.
3350         * inspector/front-end/Settings.js:
3351         * inspector/front-end/StoragePanel.js:
3352         (WebInspector.StoragePanel):
3353         (WebInspector.StoragePanel.prototype.reset):
3354         (WebInspector.StoragePanel.prototype.addFileSystem):
3355         (WebInspector.StoragePanel.prototype.showFileSystem):
3356         (WebInspector.StoragePanel.prototype.updateFileSystemPath):
3357         (WebInspector.StoragePanel.prototype.updateFileSystemError):
3358         (WebInspector.FileSystemTreeElement):
3359         (WebInspector.FileSystemTreeElement.prototype.onselect):
3360         * inspector/front-end/WebKit.qrc:
3361         * inspector/front-end/inspector.css:
3362         (.file-system-storage-tree-item .icon):
3363         * inspector/front-end/inspector.html:
3364         * inspector/front-end/inspector.js:
3365         (WebInspector.updateResource):
3366         (WebInspector._addFileSystemOrigin):
3367         (WebInspector.didGetFileSystemPath):
3368         (WebInspector.didGetFileSystemError):
3369         (WebInspector.reset):
3370         * platform/AsyncFileSystem.h:
3371         (WebCore::AsyncFileSystem::root):
3372         * platform/FileSystem.h:
3373         * platform/chromium/ChromiumBridge.h:
3374         * platform/chromium/FileSystemChromium.cpp:
3375         (WebCore::revealFolderInOS):
3376
3377 2010-10-29  Ryosuke Niwa  <rniwa@webkit.org>
3378
3379         Reviewed by Darin Adler.
3380
3381         Remove RenderTextControl::setSelectionRange
3382         https://bugs.webkit.org/show_bug.cgi?id=47870
3383
3384         Made RenderTextControl::setSelectionRange a global function.
3385         Removed setSelectionStart, setSelectionEnd, and select from RenderTextControl.
3386
3387         No new tests are added since there is no behavioral change.
3388
3389         * accessibility/AccessibilityRenderObject.cpp:
3390         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Calls setSelectedTextRange.
3391         * dom/InputElement.cpp:
3392         (WebCore::InputElement::updateSelectionRange): Ditto.
3393         * html/HTMLFormControlElement.cpp:
3394         (WebCore::HTMLTextFormControlElement::setSelectionStart): Ditto.
3395         (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
3396         (WebCore::HTMLTextFormControlElement::select): Ditto.
3397         (WebCore::HTMLTextFormControlElement::setSelectionRange): Ditto.
3398         * rendering/RenderTextControl.cpp:
3399         (WebCore::RenderTextControl::hasVisibleTextArea): Added.
3400         (WebCore::setSelectionRange): See above.
3401         * rendering/RenderTextControl.h:
3402
3403 2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3404
3405         Reviewed by Andreas Kling.
3406
3407         [GTK] Crash in TextEncoding.cpp when using glib unicode
3408         https://bugs.webkit.org/show_bug.cgi?id=48521
3409
3410         When the conversion to UTF-8 fails, try to encode the original string
3411         without normalizing. Fixes tests cases:
3412          fast/url/anchor.html
3413          fast/url/query.html
3414          fast/url/standard-url.html
3415
3416         * platform/text/TextEncoding.cpp:
3417         (WebCore::TextEncoding::encode):
3418
3419 2010-10-29  Benjamin Poulain  <benjamin.poulain@nokia.com>
3420
3421         Reviewed by Antonio Gomes.
3422
3423         TextureMapperGL get the driver info log but do not use it
3424         https://bugs.webkit.org/show_bug.cgi?id=48247
3425
3426         Remove the call to glGetProgramInfoLog().
3427
3428         * platform/graphics/opengl/TextureMapperGL.cpp:
3429         (WebCore::TexmapShaderInfo::createShaderProgram):
3430
3431 2010-10-29  Benjamin Kalman  <kalman@google.com>
3432
3433         Reviewed by Tony Chang.
3434
3435         Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder <br/>
3436         https://bugs.webkit.org/show_bug.cgi?id=48658
3437
3438         * WebCore.exp.in: Update is{Start,End}OfParagraph symbols.
3439         * editing/DeleteSelectionCommand.cpp:
3440         (WebCore::DeleteSelectionCommand::doApply): Cross editability boundaries when determining whether to insert placeholder.
3441         * editing/visible_units.cpp: Allow editability boundary to be crossed in {start,end,isStart,isEnd}OfParagraph.
3442         (WebCore::startOfParagraph): Also, avoid returning a position where renderer can't accept caret, like in endOfParagraph.
3443         (WebCore::endOfParagraph):
3444         (WebCore::isStartOfParagraph):
3445         (WebCore::isEndOfParagraph):
3446         * editing/visible_units.h: Ditto.
3447
3448 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
3449
3450         Reviewed by Timothy Hatcher.
3451
3452         Web Inspector: last active panel is not restored upon opening inspector.
3453         https://bugs.webkit.org/show_bug.cgi?id=48668
3454
3455         * inspector/Inspector.idl:
3456         * inspector/InspectorController.cpp:
3457         (WebCore::InspectorController::InspectorController):
3458         (WebCore::InspectorController::inspect):
3459         (WebCore::InspectorController::showPanel):
3460         (WebCore::InspectorController::disconnectFrontend):
3461         (WebCore::InspectorController::populateScriptObjects):
3462         * inspector/InspectorController.h:
3463         * inspector/InspectorState.cpp:
3464         (WebCore::InspectorState::InspectorState):
3465         * inspector/front-end/Settings.js:
3466         (WebInspector.Settings):
3467         * inspector/front-end/inspector.js:
3468         (WebInspector.set currentPanel):
3469         (WebInspector.doLoadedDone.onPopulateScriptObjects):
3470         (WebInspector.doLoadedDone):
3471         (WebInspector.documentClick.followLink):
3472         (WebInspector.documentClick):
3473
3474 2010-10-28  Michael Nordman  <michaeln@google.com>
3475
3476         Reviewed by ap.
3477
3478         [Chrome] Fix an appcache regression introduced in r69226
3479         https://bugs.webkit.org/show_bug.cgi?id=48592
3480         Define a new ApplicationCacheHost method for the specific case of main resource redirect handling.
3481
3482         Tests: the existing layout test applies
3483
3484         * loader/MainResourceLoader.cpp: use the newly introduced method
3485         (WebCore::MainResourceLoader::willSendRequest):
3486         * loader/appcache/ApplicationCacheHost.cpp:
3487         (WebCore::ApplicationCacheHost::maybeLoadMainResourceForRedirect):
3488         * loader/appcache/ApplicationCacheHost.h:
3489
3490 2010-10-29  Eric Carlson  <eric.carlson@apple.com>
3491
3492         Reviewed by Adam Roben.
3493
3494         Navigating to a .wav file creates a plugin document but should create a media document
3495         https://bugs.webkit.org/show_bug.cgi?id=48546
3496         <rdar://problem/8606105>
3497
3498         Test: media/media-can-play-wav-audio.html
3499
3500         * platform/MIMETypeRegistry.cpp: Add mapping from ".wav" to "audio/x-wav".
3501
3502 2010-10-29  Aaron Colwell  <acolwell@chromium.org>
3503
3504         Reviewed by James Robinson.
3505
3506         Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha()
3507         to centralize alpha rounding & clipping logic. 
3508         https://bugs.webkit.org/show_bug.cgi?id=48094
3509
3510         Test: media/video-canvas-alpha.html
3511
3512         * platform/graphics/skia/ImageSkia.cpp:
3513         (WebCore::paintSkBitmap):
3514         * platform/graphics/skia/PlatformContextSkia.cpp:
3515         (WebCore::PlatformContextSkia::getNormalizedAlpha):
3516         * platform/graphics/skia/PlatformContextSkia.h:
3517
3518 2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
3519
3520         Reviewed by Dirk Schulze.
3521
3522</