AX: doAXRangeForLine does not work
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-04  Chris Fleizach  <cfleizach@apple.com>
2
3         Reviewed by Beth Dakin.
4
5         AX: doAXRangeForLine does not work
6         https://bugs.webkit.org/show_bug.cgi?id=47101
7
8         Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
9         The code was using a SelectionController to extend to the next line. Rather than change the implementation
10         of that core functionality, it is cleaner to use endOfLine to find the end of the line.
11
12         Test: platform/mac/accessibility/range-for-line-textarea.html
13
14         * accessibility/AccessibilityRenderObject.cpp:
15         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
16
17 2010-10-04  Brent Fulgham  <bfulgham@webkit.org>
18
19         Unreviewed, build fix for r68951.
20
21         Add stub implementation for ProxyServer logic.
22
23         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
24         * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added
25
26 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
27
28         Reviewed by Adam Barth.
29
30         https://bugs.webkit.org/show_bug.cgi?id=47035
31         Application cache selection algorithm should only be invoked after navigation
32
33         Tests: http/tests/appcache/document-write-html-element-2.html
34                http/tests/appcache/document-write-html-element.html
35                http/tests/appcache/insert-html-element-with-manifest-2.html
36                http/tests/appcache/insert-html-element-with-manifest.html
37
38         * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
39         * dom/DocumentParser.h:
40         (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
41         (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
42         Track whether the document being parsed is being loaded as part of navigation.
43
44         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
45         cache selection algorithm if the document is being loaded as part of navigation. We don't 
46         want to switch associated appcache is someone document.writes <html manifest=...>.
47
48         * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
49         this code can't be in HTMLHtmlElement::insertedIntoDocument().
50
51         * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
52         * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
53         * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
54         * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
55         * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
56         * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
57         Check for manifest attribute in cases specified by HTML5.
58
59         * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().
60
61         * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
62         * loader/DocumentWriter.h:
63         Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.
64
65         * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
66         loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
67         definition that I could find - this seems to be a meaningful formalization.
68
69 2010-10-04  David Hyatt  <hyatt@apple.com>
70
71         Reviewed by Dan Bernstein.
72
73         https://bugs.webkit.org/show_bug.cgi?id=47100
74
75         Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.
76
77         * rendering/RenderBlock.cpp:
78         (WebCore::RenderBlock::clearFloats):
79         * rendering/RenderBlock.h:
80         (WebCore::RenderBlock::logicalTopForFloat):
81         (WebCore::RenderBlock::logicalLeftForFloat):
82         (WebCore::RenderBlock::logicalWidthForFloat):
83
84 2010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
85
86         Reviewed by Kenneth Rohde Christiansen.
87
88         [Qt] Hook up DeviceOrientation data for Qt support
89         https://bugs.webkit.org/show_bug.cgi?id=47052
90
91         Get DeviceOrientation necessary data via Qt mobility library
92         using a provider class.
93
94         * WebCore.pro:
95
96 2010-10-01  Victoria Kirst  <vrk@google.com>
97
98         Reviewed by James Robinson.
99
100         Fixing crash when audio media player is destructed
101         https://bugs.webkit.org/show_bug.cgi?id=47020
102
103         Adds assert for LayerRenderer in destructor.
104
105         * platform/graphics/chromium/VideoLayerChromium.cpp:
106         (WebCore::VideoLayerChromium::~VideoLayerChromium):
107
108 2010-10-04  Pavel Podivilov  <podivilov@chromium.org>
109
110         Reviewed by Pavel Feldman.
111
112         Web Inspector: do not show breakpoint in front-end if it was not set in v8
113         https://bugs.webkit.org/show_bug.cgi?id=46749
114
115         * bindings/v8/DebuggerScript.js:
116         ():
117
118 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
119
120         Reviewed by Martin Robinson.
121
122         [cairo] Context shadow modifies the data of the surface without
123         flushing and marking as dirty
124         https://bugs.webkit.org/show_bug.cgi?id=47079
125
126         Added the cairo_surface_flush and cairo_surface_mark_dirty before
127         and after modifying the image pixels directly.
128
129         * platform/graphics/cairo/ContextShadowCairo.cpp:
130         (WebCore::ContextShadow::endShadowLayer):
131
132 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
133
134         Reviewed by Xan Lopez.
135
136         Crashed caused by missing OwnPtrCairo include, for more
137         information check the issue in the bug 46268.
138
139         * platform/graphics/cairo/CairoUtilities.cpp:
140
141 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
142
143         Reviewed by Martin Robinson.
144
145         [cairo] Move some cairo functions to the CairoUtilities
146         https://bugs.webkit.org/show_bug.cgi?id=47076
147
148         Moved some cairo functions to the CairoUtilities so we can use
149         them outside GraphicsContextCairo.
150
151         * platform/graphics/cairo/CairoUtilities.cpp:
152         (WebCore::appendPathToCairoContext):
153         (WebCore::setPathOnCairoContext):
154         (WebCore::appendWebCorePathToCairoContext):
155         (WebCore::toCairoOperator):
156         (WebCore::drawPatternToCairoContext):
157         * platform/graphics/cairo/CairoUtilities.h:
158         * platform/graphics/cairo/GraphicsContextCairo.cpp:
159         * platform/graphics/cairo/ImageCairo.cpp:
160         (WebCore::Image::drawPattern):
161
162 2010-10-04  podivilov@chromium.org  <podivilov@chromium.org>
163
164         Reviewed by Yury Semikhatsky.
165
166         Web Inspector: implement pausing on event listeners (back-end part)
167         https://bugs.webkit.org/show_bug.cgi?id=46624
168
169         * bindings/js/ScriptDebugServer.cpp:
170         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
171         * bindings/js/ScriptDebugServer.h:
172         * bindings/v8/ScriptDebugServer.cpp:
173         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
174         * bindings/v8/ScriptDebugServer.h:
175         * dom/Node.cpp:
176         (WebCore::Node::dispatchGenericEvent):
177         * inspector/InspectorController.cpp:
178         (WebCore::InspectorController::didCommitLoad):
179         (WebCore::InspectorController::setNativeBreakpoint):
180         (WebCore::InspectorController::removeNativeBreakpoint):
181         (WebCore::InspectorController::shouldBreakOnEvent):
182         (WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
183         * inspector/InspectorController.h:
184         * inspector/InspectorDebuggerAgent.cpp:
185         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
186         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
187         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
188         (WebCore::InspectorDebuggerAgent::pause):
189         (WebCore::InspectorDebuggerAgent::didContinue):
190         (WebCore::InspectorDebuggerAgent::breakProgram):
191         * inspector/InspectorDebuggerAgent.h:
192         * inspector/InspectorInstrumentation.cpp:
193         (WebCore::eventHasListeners):
194         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
195         (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
196         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
197         * inspector/InspectorInstrumentation.h:
198         (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
199         (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
200         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
201         * inspector/InspectorTimelineAgent.cpp:
202         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
203         * inspector/InspectorTimelineAgent.h:
204         (WebCore::InspectorTimelineAgent::id):
205         * inspector/front-end/CallStackSidebarPane.js:
206
207 2010-10-04  Pavel Feldman  <pfeldman@chromium.org>
208
209         Reviewed by Yury Semikhatsky.
210
211         Web Inspector: add total bar to the network panel.
212         https://bugs.webkit.org/show_bug.cgi?id=47081
213
214         * English.lproj/localizedStrings.js:
215         * inspector/front-end/ConsoleView.js:
216         (WebInspector.ConsoleView.createDividerElement):
217         * inspector/front-end/DataGrid.js:
218         (WebInspector.DataGrid.prototype.removeChild):
219         (WebInspector.DataGrid.prototype.sortNodes):
220         (WebInspector.DataGrid.prototype._clickInHeaderCell):
221         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
222         * inspector/front-end/NetworkPanel.js:
223         (WebInspector.NetworkPanel):
224         (WebInspector.NetworkPanel.prototype.resize):
225         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
226         (WebInspector.NetworkPanel.prototype._createTimelineGrid):
227         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
228         (WebInspector.NetworkPanel.prototype._sortItems):
229         (WebInspector.NetworkPanel.prototype._sortByTimeline):
230         (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
231         (WebInspector.NetworkPanel.prototype._createSummaryBar):
232         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
233         (WebInspector.NetworkPanel.prototype._updateFilter):
234         (WebInspector.NetworkPanel.prototype.show):
235         (WebInspector.NetworkPanel.prototype.refresh):
236         (WebInspector.NetworkPanel.prototype.reset):
237         (WebInspector.NetworkDataGridNode.SizeComparator):
238         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
239         (WebInspector.NetworkTotalGridNode):
240         (WebInspector.NetworkTotalGridNode.prototype.createCells):
241         * inspector/front-end/ResourcesPanel.js:
242         (WebInspector.ResourcesPanel.prototype.createFilterPanel):
243         * inspector/front-end/inspector.css:
244         (.scope-bar-divider):
245         * inspector/front-end/networkPanel.css:
246         (.network-timeline-grid):
247         (.network-summary-bar):
248         (.network-summary-bar-bottom):
249         (.data-grid td .network-summary-bar):
250
251 2010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>
252
253         Reviewed by Kenneth Rohde Christiansen.
254
255         Viewport data change notifications
256         https://bugs.webkit.org/show_bug.cgi?id=46755
257
258         Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
259         changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
260         viewport data in Page as a reference, to be able to send notifications only when the current viewport
261         has changed.
262
263         * dom/Document.cpp:
264         (WebCore::Document::processViewport):
265         (WebCore::Document::setInPageCache):
266         * dom/ViewportArguments.h:
267         (WebCore::ViewportArguments::operator==):
268         * html/HTMLBodyElement.cpp:
269         (WebCore::HTMLBodyElement::HTMLBodyElement):
270         * page/Chrome.cpp:
271         (WebCore::Chrome::viewportDataChanged):
272         * page/Chrome.h:
273         * page/ChromeClient.h:
274         (WebCore::ChromeClient::viewportDataChanged):
275         * page/Page.cpp:
276         (WebCore::Page::updateViewportArguments):
277         * page/Page.h:
278         (WebCore::Page::viewportArguments):
279
280 2010-10-03  Kent Tamura  <tkent@chromium.org>
281
282         Unreviewed, build fix for r68996.
283
284         * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
285         * html/MonthInputType.cpp: ditto.
286         * html/NumberInputType.cpp: ditto.
287         * html/RangeInputType.cpp: ditto.
288
289 2010-10-03  Kent Tamura  <tkent@chromium.org>
290
291         Reviewed by Dimitri Glazkov.
292
293         Refactor HTMLInputElement: Move parseToDouble() and
294         parseToDateComponents() to InputType.
295         https://bugs.webkit.org/show_bug.cgi?id=46965
296
297         Introduce BaseDateAndTimeInputType, which is a super class of
298         date, datetime, datetime-local, month, time, and week types.
299
300         No new tests. Just a refactoring.
301
302         * Android.mk: Add BaseDateAndTimeInputType.
303         * CMakeLists.txt: ditto.
304         * GNUmakefile.am: ditto.
305         * WebCore.gypi: ditto.
306         * WebCore.pro: ditto.
307         * WebCore.vcproj/WebCore.vcproj: ditto.
308         * WebCore.xcodeproj/project.pbxproj: ditto.
309         * html/BaseDateAndTimeInputType.cpp: Added.
310         (WebCore::BaseDateAndTimeInputType::parseToDouble):
311         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
312         * html/BaseDateAndTimeInputType.h: Added.
313         (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
314         * html/DateInputType.cpp:
315         (WebCore::DateInputType::parseToDateComponentsInternal):
316         * html/DateInputType.h:
317         (WebCore::DateInputType::DateInputType):
318         * html/DateTimeInputType.cpp:
319         (WebCore::DateTimeInputType::parseToDateComponentsInternal):
320         * html/DateTimeInputType.h:
321         (WebCore::DateTimeInputType::DateTimeInputType):
322         * html/DateTimeLocalInputType.cpp:
323         (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
324         * html/DateTimeLocalInputType.h:
325         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
326         * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
327         (WebCore::HTMLInputElement::typeMismatch):
328         (WebCore::HTMLInputElement::rangeUnderflow):
329         (WebCore::HTMLInputElement::rangeOverflow):
330         (WebCore::HTMLInputElement::minimum):
331         (WebCore::HTMLInputElement::maximum):
332         (WebCore::HTMLInputElement::stepBase):
333         (WebCore::HTMLInputElement::stepMismatch):
334         (WebCore::HTMLInputElement::applyStep):
335         (WebCore::HTMLInputElement::valueAsDate):
336         (WebCore::HTMLInputElement::valueAsNumber):
337         (WebCore::HTMLInputElement::handleKeyEventForRange):
338         (WebCore::HTMLInputElement::stepUpFromRenderer):
339         * html/HTMLInputElement.h:
340         * html/InputType.cpp:
341         (WebCore::InputType::parseToDouble):
342         (WebCore::InputType::parseToDateComponents):
343         * html/InputType.h:
344         * html/MonthInputType.cpp:
345         (WebCore::MonthInputType::parseToDouble):
346         (WebCore::MonthInputType::parseToDateComponentsInternal):
347         * html/MonthInputType.h:
348         (WebCore::MonthInputType::MonthInputType):
349         * html/NumberInputType.cpp:
350         (WebCore::NumberInputType::parseToDouble):
351         * html/NumberInputType.h:
352         * html/RangeInputType.cpp:
353         (WebCore::RangeInputType::parseToDouble):
354         * html/RangeInputType.h:
355         * html/TimeInputType.cpp:
356         (WebCore::TimeInputType::parseToDateComponentsInternal):
357         * html/TimeInputType.h:
358         (WebCore::TimeInputType::TimeInputType):
359         * html/WeekInputType.cpp:
360         (WebCore::WeekInputType::parseToDateComponentsInternal):
361         * html/WeekInputType.h:
362         (WebCore::WeekInputType::WeekInputType):
363
364 2010-10-03  Adam Barth  <abarth@webkit.org>
365
366         Reviewed by Holger Freyther.
367
368         ASSERT(m_state = Open); is bad news bears
369         https://bugs.webkit.org/show_bug.cgi?id=47057
370
371         Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
372         Too bad the compiler doesn't catch these errors.  I don't believe this
373         is possible to test.
374
375         * platform/network/cf/SocketStreamHandleCFNet.cpp:
376         (WebCore::SocketStreamHandle::writeStreamCallback):
377
378 2010-10-03  Adam Barth  <abarth@webkit.org>
379
380         Reviewed by Holger Freyther.
381
382         All the WebSocket tests crash
383         https://bugs.webkit.org/show_bug.cgi?id=47056
384
385         More code that tries to hold onto temporaries with references.
386
387         * websockets/WebSocketChannel.cpp:
388         (WebCore::WebSocketChannel::didOpen):
389
390 2010-10-03  Adam Barth  <abarth@webkit.org>
391
392         Reviewed by Holger Freyther.
393
394         All the WebSocket tests crash
395         https://bugs.webkit.org/show_bug.cgi?id=47055
396
397         This code attempts to hold onto temporary objects using references.
398         That doesn't work in C++. Instead, we need to actually store the
399         objects somewhere.
400
401         * bindings/js/JSWebSocketCustom.cpp:
402         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
403
404 2010-10-02  Diego Gonzalez  <diegohcg@webkit.org>
405
406         Reviewed by Kenneth Rohde Christiansen.
407
408         [Qt] Provide Qt support for DeviceMotion/Orientation clients
409         https://bugs.webkit.org/show_bug.cgi?id=47051
410
411         Add Qt DeviceMotion/Orientation dummy clients in build system.
412
413         * WebCore.pro:
414
415 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
416
417         Reviewed by Dirk Schulze.
418
419         Rewrite SVG text layout code
420         https://bugs.webkit.org/show_bug.cgi?id=45532
421
422         Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch).
423
424         Phase #1) - SVGTextLayoutAttributesBuilder
425         ------------------------------------------
426
427         Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>)
428         This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
429         Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.
430
431         Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk
432         RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.
433
434         The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years.
435
436         Phase #2) - SVGTextLayoutEngine
437         ------------------------------------------
438
439         RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
440         decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
441         current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.
442
443         For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
444         is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine
445         and starts phase #2 of the layout process.
446
447         SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline,
448         letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.
449
450         As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured
451         at once. Some examples to illustrate what's going on:
452
453         <text x="20">ABCD</text>:
454         - SVGInlineTextBox
455           - SVGTextFragment, start 0 length 4, "ABCD" (x=20)
456
457         <text x="20 100">ABCD</text>:
458         - SVGInlineTextBox
459           - SVGTextFragment, start 0 length 1, "A" (x=20)
460         - SVGInlineTextBox
461           - SVGTextFragment, start 0 length 1, "B" (x=100)
462           - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)
463
464         <text><textPath xlink:href="#somePath">ABCD</textPath></text>:
465         - SVGInlineTextBox
466           - SVGTextFragment, start 0 length 1, "A" (rotated!)
467           - SVGTextFragment, start 1 length 1, "B" (rotated!)
468           - SVGTextFragment, start 2 length 1, "C" (rotated!)
469           - SVGTextFragment, start 3 length 1, "D" (rotated!)
470
471         <text x="0 50 100">A<tspan>B</tspan>C</text>
472         - SVGInlineTextBox
473           - SVGTextFragment, start 0 length 1, "A" (x=0)
474         - SVGInlineFlowBox
475           - SVGInlineTextBox
476             - SVGTextFragment, start 0 length 1, "B" (x=50)
477         - SVGInlineTextBox
478           - SVGTextFragment, start 0 length 1, "C" (x=100)
479
480         When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
481         All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
482         This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.
483
484         We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
485         if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch.
486         It's likely that we'll also find ways to skip phase #2 in certain situations.
487
488         Phase #3) - SVGTextChunkBuilder
489         ------------------------------------------
490
491         After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
492         text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").
493
494         SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
495         are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).
496
497         After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
498         boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.
499
500         This should give interessted readers a good summary of how the new text layout engine works.
501         See LayoutTests/ChangeLog for more details on test progression.
502
503         Tests: svg/custom/text-rotation.svg
504                svg/custom/text-x-dy-lists.svg
505
506         * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
507         * CMakeLists.txt: Ditto.
508         * GNUmakefile.am: Ditto.
509         * WebCore.gypi: Ditto.
510         * WebCore.pro: Ditto.
511         * WebCore.vcproj/WebCore.vcproj: Ditto.
512         * WebCore.xcodeproj/project.pbxproj: Ditto.
513         * rendering/InlineBox.h:
514         (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
515         * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
516         * rendering/RenderSVGAllInOne.cpp: removes
517         * rendering/RenderText.cpp:
518         (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
519         * rendering/SVGCharacterData.cpp: Removed.
520         * rendering/SVGCharacterData.h: Removed.
521         * rendering/SVGCharacterLayoutInfo.cpp: Removed.
522         * rendering/SVGCharacterLayoutInfo.h: Removed.
523         * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
524         (WebCore::writeRenderSVGTextBox):
525         (WebCore::writeSVGInlineTextBox):
526         * rendering/SVGTextChunkLayoutInfo.cpp: Removed.
527         * rendering/SVGTextChunkLayoutInfo.h: Removed.
528         * rendering/SVGTextLayoutUtilities.cpp: Removed.
529         * rendering/SVGTextLayoutUtilities.h: Removed.
530         * rendering/style/RenderStyle.cpp:
531         (WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do.
532         * rendering/style/SVGRenderStyle.h:
533         (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
534         * rendering/svg/RenderSVGInlineText.cpp:
535         (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
536         (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
537         (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
538         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
539         (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
540         * rendering/svg/RenderSVGInlineText.h:
541         (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
542         (WebCore::toRenderSVGInlineText): New helper methods for casting.
543         * rendering/svg/RenderSVGText.cpp:
544         (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
545         (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
546         * rendering/svg/RenderSVGText.h:
547         * rendering/svg/SVGInlineFlowBox.cpp:
548         (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
549         (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
550         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
551         * rendering/svg/SVGInlineFlowBox.h:
552         (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
553         * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
554         * rendering/svg/SVGInlineTextBox.h:
555         (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
556         (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
557         (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
558         (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
559         * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
560         (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
561         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
562         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
563         (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
564         (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
565         * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
566         * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
567         * rendering/svg/SVGTextChunk.h:
568         * rendering/svg/SVGTextChunkBuilder.cpp: Added.
569         * rendering/svg/SVGTextChunkBuilder.h: Added.
570         * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
571         * rendering/svg/SVGTextLayoutAttributes.h:
572         (WebCore::SVGTextLayoutAttributes::textMetricsValues):
573         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
574         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
575         * rendering/svg/SVGTextLayoutEngine.cpp: Added.
576         * rendering/svg/SVGTextLayoutEngine.h: Added.
577         * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
578         * rendering/svg/SVGTextQuery.h:
579
580 2010-10-02  Alpha Lam  <hclam@chromium.org>
581
582         Build fix. Not reviewed.
583
584         An adhoc fix for a crash found by reliability bot. This will make the
585         reliability bot happy. A proper fix is pending commit.
586
587         * platform/graphics/chromium/VideoLayerChromium.cpp:
588         (WebCore::VideoLayerChromium::~VideoLayerChromium):
589
590 2010-10-01  Ryosuke Niwa  <rniwa@webkit.org>
591
592         Reviewed by Darin Adler.
593
594         FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
595         https://bugs.webkit.org/show_bug.cgi?id=46840
596
597         Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
598         and IndentOutdentCommand.  It is intended to be inherited by InsertListCommand as well.
599
600         ApplyBlockElementCommand's doApply verifies the current selection and exits early
601         if it's invalid or orphaned or if the current selection is outside editable region.
602         It then calls formatSelection to apply the block element after which doApply restores the selection.
603         formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
604         implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.
605
606         No new tests are added since this is a refactoring.
607
608         * Android.mk: Added ApplyBlockElementCommand.cpp.
609         * CMakeLists.txt: Ditto.
610         * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
611         * WebCore.gypi: Ditto.
612         * WebCore.pro: Ditto.
613         * WebCore.xcodeproj/project.pbxproj: Ditto.
614         * editing/ApplyBlockElementCommand.cpp: Added.
615         (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
616         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
617         (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
618         (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
619         (WebCore::ApplyBlockElementCommand::createBlockElement): Added.
620         (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
621         * editing/ApplyBlockElementCommand.h: Added.
622         * editing/EditingAllInOne.cpp:
623         * editing/EditorCommand.cpp:
624         (WebCore::executeFormatBlock):
625         * editing/FormatBlockCommand.cpp: Removed doApply.
626         (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
627         (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
628         * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
629         (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
630         * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
631         (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
632         (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
633         when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
634         (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
635         (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
636         * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.
637
638 2010-10-01  Mark Rowe  <mrowe@apple.com>
639
640         Build fix.
641
642         Clear the executable bit from a number of source files.
643
644         * page/Frame.cpp:
645         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
646         * platform/graphics/win/WKCACFLayerRenderer.cpp:
647         * platform/graphics/win/WKCACFLayerRenderer.h:
648         * platform/network/ResourceRawHeaders.h:
649         * rendering/RenderLayerCompositor.cpp:
650         * rendering/RenderLayerCompositor.h:
651
652 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
653
654         Reviewed by Adam Barth.
655
656         [GTK] r68923 broke some plugin tests
657         https://bugs.webkit.org/show_bug.cgi?id=47040
658
659         No longer pass focus and blur events to plugins when the "old" DOM Level
660         2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
661         that the DOM Level 3 version is always fired for this event. 
662
663         No new tests, as this should cause the failing tests to pass.
664
665         * plugins/PluginView.cpp:
666         (WebCore::PluginView::handleEvent): No longer pass focus and blur events to
667         plugins when DOMFocusIn / DOMFocusOut events occur.
668
669 2010-10-01  Anders Carlsson  <andersca@apple.com>
670
671         Reviewed by Sam Weinig.
672
673         Plug-ins should have access to the private browsing state.
674         https://bugs.webkit.org/show_bug.cgi?id=47031
675         <rdar://problem/8505405>
676
677         * page/Page.cpp:
678         (WebCore::Page::privateBrowsingStateChanged):
679         When iterating over all widgets, also look for PluginViewBase classes and invoke their 
680         privateBrowsingStateChange member function.
681
682         * plugins/PluginViewBase.h:
683         (WebCore::PluginViewBase::privateBrowsingStateChanged):
684         Add function.
685
686 2010-10-01  Brian Weinstein  <bweinstein@apple.com>
687
688         Build Fix for Windows.
689
690         * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
691             WebCoreCommon.vsprops to handle post-build step.
692         * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete 
693              $(WebKitOutputDir)/buildfailed.
694
695 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
696
697         Reviewed by Kenneth Rohde Christiansen.
698
699         [Qt] Segmentation fault during zoom out
700         https://bugs.webkit.org/show_bug.cgi?id=46984
701
702         * platform/qt/QtMobileWebStyle.cpp:
703         (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.
704
705 2010-10-01  Anders Carlsson  <andersca@apple.com>
706
707         Another Qt build fix attempt.
708
709         * WebCore.pro:
710
711 2010-10-01  David Hyatt  <hyatt@apple.com>
712
713         Reviewed by Dan Bernstein.
714
715         https://bugs.webkit.org/show_bug.cgi?id=47021
716         
717         Patch the floatBottom function and its friends.  Rename them and consolidate them to be block-flow-aware.
718
719         Nothing testable yet, since most of the float code is still unpatched.
720
721         * rendering/RenderBlock.cpp:
722         (WebCore::RenderBlock::layoutBlock):
723         (WebCore::RenderBlock::layoutBlockChildren):
724         (WebCore::RenderBlock::layoutBlockChild):
725         (WebCore::RenderBlock::positionNewFloats):
726         (WebCore::RenderBlock::newLine):
727         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
728         (WebCore::RenderBlock::lowestFloatLogicalBottom):
729         (WebCore::RenderBlock::clearFloats):
730         (WebCore::RenderBlock::addOverhangingFloats):
731         (WebCore::RenderBlock::getClearDelta):
732         * rendering/RenderBlock.h:
733         (WebCore::RenderBlock::logicalBottomForFloat):
734         (WebCore::RenderBlock::hasOverhangingFloats):
735         * rendering/RenderBlockLineLayout.cpp:
736         (WebCore::RenderBlock::fitBelowFloats):
737
738 2010-10-01  Anders Carlsson  <andersca@apple.com>
739
740         Fix typo.
741
742         * platform/network/qt/ProxyServerQt.cpp:
743         (WebCore::proxyServersForURL):
744
745 2010-10-01  Anders Carlsson  <andersca@apple.com>
746
747         Add Qt ProxyServer stub.
748
749         * WebCore.pro:
750         * platform/network/qt/ProxyServerQt.cpp: Added.
751         (WebCore::proxyServersForURL):
752
753 2010-10-01  Anders Carlsson  <andersca@apple.com>
754
755         Reviewed by Dan Bernstein.
756
757         Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
758         https://bugs.webkit.org/show_bug.cgi?id=47022
759         <rdar://problem/8504712>
760
761         * WebCore.exp.in:
762         Export proxyServersForURL and toString.
763
764         * WebCore.vcproj/WebCore.vcproj:
765         * WebCore.xcodeproj/project.pbxproj:
766         Add new files.
767
768         * platform/network/ProxyServer.cpp: Added.
769         (WebCore::appendProxyServerString):
770         (WebCore::toString):
771         New function that converts a vector of ProxyServers into a PAC style string.
772
773         * platform/network/ProxyServer.h: Added.
774         (WebCore::ProxyServer::ProxyServer):
775         (WebCore::ProxyServer::type):
776         (WebCore::ProxyServer::hostName):
777         (WebCore::ProxyServer::port):
778         Add ProxyServer class.
779
780         * platform/network/cf/ProxyServerCFNet.cpp: Added.
781         (WebCore::proxyServersForURL):
782         (WebCore::addProxyServersForURL):
783         Query CFNetwork for the proxy servers given a URL.
784
785 2010-09-30  Zhenyao Mo  <zmo@google.com>
786
787         Reviewed by Kenneth Russell.
788
789         texImage2D fails on 16-bit-per-channel images
790         https://bugs.webkit.org/show_bug.cgi?id=46947
791
792         * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
793         (WebCore::convertColor16To8):
794         (WebCore::doPacking):
795         * platform/graphics/GraphicsContext3D.h: Ditto.
796         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
797         (WebCore::GraphicsContext3D::getImageData):
798
799 2010-10-01  Eric Uhrhane  <ericu@chromium.org>
800
801         Reviewed by Nate Chapin.
802
803         Add v8 binding helpers to make FileWriter be an EventTarget.
804         https://bugs.webkit.org/show_bug.cgi?id=46910
805
806         No new tests; still waiting for the first complete implementation.
807
808         * bindings/v8/V8DOMWrapper.cpp:
809         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
810
811 2010-10-01  David Hyatt  <hyatt@apple.com>
812
813         Reviewed by Sam Weinig.
814
815         https://bugs.webkit.org/show_bug.cgi?id=47015
816         
817         Change FloatingObject to store its dimensions as a rect.
818         This will make it easier for logical access for block-flow later on if
819         top/bottom is no different from left/width.  This change also simplifies
820         calling code a bit in places.
821
822         * rendering/RenderBlock.cpp:
823         (WebCore::RenderBlock::addOverflowFromFloats):
824         (WebCore::RenderBlock::repaintOverhangingFloats):
825         (WebCore::RenderBlock::paintFloats):
826         (WebCore::RenderBlock::fillSelectionGaps):
827         (WebCore::RenderBlock::insertFloatingObject):
828         (WebCore::RenderBlock::removeFloatingObject):
829         (WebCore::RenderBlock::removeFloatingObjectsBelow):
830         (WebCore::RenderBlock::positionNewFloats):
831         (WebCore::RenderBlock::positionNewFloatOnLine):
832         (WebCore::RenderBlock::logicalLeftOffsetForLine):
833         (WebCore::RenderBlock::logicalRightOffsetForLine):
834         (WebCore::RenderBlock::nextFloatBottomBelow):
835         (WebCore::RenderBlock::floatBottom):
836         (WebCore::RenderBlock::lowestPosition):
837         (WebCore::RenderBlock::rightmostPosition):
838         (WebCore::RenderBlock::leftmostPosition):
839         (WebCore::RenderBlock::leftBottom):
840         (WebCore::RenderBlock::rightBottom):
841         (WebCore::RenderBlock::clearFloats):
842         (WebCore::RenderBlock::addOverhangingFloats):
843         (WebCore::RenderBlock::addIntrudingFloats):
844         (WebCore::RenderBlock::hitTestFloats):
845         (WebCore::RenderBlock::adjustForBorderFit):
846         * rendering/RenderBlock.h:
847         (WebCore::RenderBlock::FloatingObject::FloatingObject):
848         (WebCore::RenderBlock::FloatingObject::left):
849         (WebCore::RenderBlock::FloatingObject::right):
850         (WebCore::RenderBlock::FloatingObject::top):
851         (WebCore::RenderBlock::FloatingObject::bottom):
852         (WebCore::RenderBlock::FloatingObject::width):
853         (WebCore::RenderBlock::FloatingObject::height):
854         (WebCore::RenderBlock::FloatingObject::setLeft):
855         (WebCore::RenderBlock::FloatingObject::setTop):
856         (WebCore::RenderBlock::FloatingObject::setWidth):
857         (WebCore::RenderBlock::FloatingObject::setHeight):
858         (WebCore::RenderBlock::FloatingObject::frameRect):
859         (WebCore::RenderBlock::FloatingObject::setFrameRect):
860         * rendering/RenderBlockLineLayout.cpp:
861         (WebCore::RenderBlock::layoutInlineChildren):
862         (WebCore::RenderBlock::matchedEndLine):
863
864 2010-10-01  Enrica Casucci  <enrica@apple.com>
865
866         Reviewed by Darin Adler.
867
868         DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
869         https://bugs.webkit.org/show_bug.cgi?id=42580
870         <rdar://problem/8107311>
871         
872         This change removes the aliased type machinery from the Event class.
873         We now fire the event with the new name and the oldname.
874         
875         Tests: Modified fast/events/focusinout.html to check the event
876         type.
877
878         * dom/Document.cpp:
879         (WebCore::Document::setFocusedNode):
880         * dom/Event.cpp: Removed aliasedType and hasAliasedType.
881         * dom/Event.h: Removed aliasedType and hasAliasedType.
882         * dom/EventTarget.cpp:
883         (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.
884
885 2010-10-01  David Hyatt  <hyatt@apple.com>
886
887         Reviewed by Darin Adler.
888
889         https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow.  This patch changes
890         all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
891         and logical height instead.
892
893         Added fast/blockflow/block-level-images.html
894
895         * rendering/RenderBox.cpp:
896         (WebCore::RenderBox::computeLogicalWidth):
897         (WebCore::RenderBox::computeLogicalHeight):
898         (WebCore::RenderBox::computeReplacedLogicalWidth):
899         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
900         (WebCore::RenderBox::computeReplacedLogicalHeight):
901         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
902         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
903         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
904         * rendering/RenderBox.h:
905         (WebCore::RenderBox::intrinsicLogicalWidth):
906         (WebCore::RenderBox::intrinsicLogicalHeight):
907         * rendering/RenderImage.cpp:
908         (WebCore::RenderImage::isLogicalWidthSpecified):
909         (WebCore::RenderImage::isLogicalHeightSpecified):
910         (WebCore::RenderImage::computeReplacedLogicalWidth):
911         (WebCore::RenderImage::computeReplacedLogicalHeight):
912         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
913         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
914         * rendering/RenderImage.h:
915         * rendering/RenderReplaced.cpp:
916         (WebCore::RenderReplaced::layout):
917         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
918         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
919         (WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
920         (WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
921         (WebCore::RenderReplaced::computePreferredLogicalWidths):
922         * rendering/RenderReplaced.h:
923         * rendering/RenderSVGRoot.cpp:
924         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
925         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
926         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
927         * rendering/RenderSVGRoot.h:
928         * rendering/RenderVideo.cpp:
929         (WebCore::RenderVideo::computeReplacedLogicalWidth):
930         (WebCore::RenderVideo::computeReplacedLogicalHeight):
931         * rendering/RenderVideo.h:
932
933 2010-10-01  Nate Chapin  <japhet@chromium.org>
934
935         Reviewed by Darin Adler.
936
937         Remove unused Request::buffer() and Request::m_buffer.
938
939         https://bugs.webkit.org/show_bug.cgi?id=47003
940
941         * loader/Request.h:
942
943 2010-10-01  Dan Bernstein  <mitz@apple.com>
944
945         Reviewed by Adele Peterson.
946
947         <rdar://problem/7563219> Null dereference when dragging an element with generated content
948         https://bugs.webkit.org/show_bug.cgi?id=47005
949
950         Test: fast/css-generated-content/drag-state.html
951
952         * rendering/RenderObject.cpp:
953         (WebCore::RenderObject::updateDragState): Null-check node().
954
955 2010-10-01  Robert Hogan  <robert@webkit.org>
956
957         Reviewed by Adam Barth.
958
959         [Qt] Fix http/tests/loading/redirect-methods.html
960
961         Document our redirection behaviour too.
962
963         https://bugs.webkit.org/show_bug.cgi?id=41571
964
965         * platform/network/qt/QNetworkReplyHandler.cpp:
966         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
967         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
968         * platform/network/qt/QNetworkReplyHandler.h:
969
970 2010-10-01  Adam Roben  <aroben@apple.com>
971
972         Copy forwarding headers and Inspector JS files as part of
973         WebCoreGenerated.vcproj
974
975         WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only
976         runs when a .h or .cpp file changes. By moving the copying to
977         WebCoreGenerated, it will happen even when someone only changes a JS
978         file (as happened in r68887).
979
980         Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION
981         (r68887): Web Inspector: inspector/extensions*.html are failing on
982         Windows
983
984         Reviewed by Anders Carlsson.
985
986         * WebCore.vcproj/WebCore.vcproj: Moved invocation of
987         copyForwardingHeaders and copyInspectorFiles from here...
988         * WebCore.vcproj/WebCoreGenerated.vcproj: ...to here.
989
990 2010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
991
992         Reviewed by Darin Adler.
993
994         Implement queryCommandState('justifyFull')
995         https://bugs.webkit.org/show_bug.cgi?id=46954
996
997         Implemented queryCommandState('justifyFull').
998         New tests are added to editing/style/inline-style-container.html
999
1000         * editing/ApplyStyleCommand.cpp:
1001         (WebCore::getTextAlignment): Added support for CSSValueJustify.
1002         * editing/EditorCommand.cpp:
1003         (WebCore::stateJustifyFull): Added.
1004         (WebCore::createCommandMap): Added stateJustifyFull.
1005
1006 2010-10-01  Jia Pu  <jpu@apple.com>
1007
1008         Reviewed by Darin Adler.
1009
1010         Autocorrection shouldn't prompt the same correction after user has edited previous correction.
1011         https://bugs.webkit.org/show_bug.cgi?id=46839
1012         <rdar://problem/8476963>
1013
1014         * editing/Editor.cpp:
1015         (WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of
1016           "Replacement" marker. Since the former controls whether we draw autocorrection underline,
1017           and the latter is used to prevent autocorrection from being applied again on already auto-
1018           corrected word. So the "Replacement" shouldn't be removed.
1019
1020 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
1021
1022         Reviewed by Anders Carlsson.
1023
1024         [CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API)
1025         https://bugs.webkit.org/show_bug.cgi?id=46309
1026
1027         * CMakeLists.txt:
1028         * CMakeListsEfl.txt:
1029
1030 2010-10-01  David Hyatt  <hyatt@apple.com>
1031
1032         Reviewed by Darin Adler.
1033
1034         https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to
1035         be block-flow-aware.
1036
1037         * rendering/RenderBlock.cpp:
1038         (WebCore::RenderBlock::setCollapsedBottomMargin):
1039         (WebCore::RenderBlock::handleAfterSideOfBlock):
1040
1041 2010-10-01  Pratik Solanki  <psolanki@apple.com>
1042
1043         Reviewed by Geoffrey Garen.
1044         Specify ALWAYS_INLINE at function declaration not function definition
1045         https://bugs.webkit.org/show_bug.cgi?id=46960
1046
1047         For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well.
1048
1049         * css/CSSStyleSelector.h:
1050         * rendering/InlineIterator.h:
1051         * rendering/style/RenderStyle.h:
1052
1053 2010-10-01  David Hyatt  <hyatt@apple.com>
1054
1055         Reviewed by Dan Bernstein.
1056
1057         https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
1058
1059         Added fast/css/rtl-to-viewport.html
1060
1061         * css/CSSStyleSelector.cpp:
1062         (WebCore::CSSStyleSelector::styleForDocument):
1063         * rendering/RenderBox.cpp:
1064         (WebCore::RenderBox::styleDidChange):
1065
1066 2010-10-01  Alexey Proskuryakov  <ap@apple.com>
1067
1068         Reviewed by Anders Carlsson.
1069
1070         https://bugs.webkit.org/show_bug.cgi?id=44406
1071         <rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL
1072
1073         Test: http/tests/appcache/foreign-fallback.html
1074
1075         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
1076         Changed ApplicationCacheResource lookup to find fallback resources correctly.
1077
1078 2010-10-01  Kwang Yul Seo  <skyul@company100.net>
1079
1080         Unreviewed, Brew MP build fix.
1081
1082         * platform/brew/ClipboardBrew.cpp:
1083         (WebCore::ClipboardBrew::ClipboardBrew):
1084
1085 2010-10-01  Rafael Antognolli  <antognolli@profusion.mobi>
1086
1087         Unreviewed build fix.
1088
1089         [CMAKE] Build fix for r68878
1090         https://bugs.webkit.org/show_bug.cgi?id=46985
1091
1092         Fix name of files added to CMakeLists.txt:
1093         SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp
1094         SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp
1095
1096         No features added, so no new tests.
1097
1098         * CMakeLists.txt:
1099
1100 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
1101
1102         Reviewed by Kenneth Rohde Christiansen.
1103
1104         [Qt] New buttons style for Qt Mobile theme
1105         https://bugs.webkit.org/show_bug.cgi?id=46920
1106
1107         Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform.
1108         Adjust new Qt mobile style for buttons, radios, checks and combos.
1109
1110         * WebCore.pro:
1111         * css/themeQtMobile.css: Adjust gradient color for buttons and combos.
1112         (select):
1113         (select:active):
1114         * platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme.
1115         (QtMobileWebStyle::QtMobileWebStyle):
1116         (drawRectangularControlBackground):
1117         (QtMobileWebStyle::drawChecker):
1118         (QtMobileWebStyle::findChecker):
1119         (QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton.
1120         (QtMobileWebStyle::findRadio):
1121         (QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox.
1122         (QtMobileWebStyle::drawMultipleComboButton):
1123         (QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow.
1124         (QtMobileWebStyle::getButtonImageSize):
1125         (QtMobileWebStyle::findComboButton):
1126         (QtMobileWebStyle::drawComplexControl):
1127         * platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme.
1128         * platform/qt/RenderThemeQt.cpp:
1129         (WebCore::RenderThemeQt::RenderThemeQt):
1130
1131 2010-10-01  Andrey Kosyakov  <caseq@chromium.org>
1132
1133         Reviewed by Pavel Feldman.
1134
1135         Web Inspector: [Extensions API] expose page load events timings
1136         Added webInspector.resources.getPageTimings()
1137         
1138         https://bugs.webkit.org/show_bug.cgi?id=45954
1139
1140         * inspector/front-end/ExtensionAPI.js:
1141         (WebInspector.injectedExtensionAPI.Resources.prototype):
1142         (WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings):
1143         * inspector/front-end/ExtensionServer.js:
1144         (WebInspector.ExtensionServer):
1145         (WebInspector.ExtensionServer.prototype._onGetPageTimings):
1146         * inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown.
1147         (WebInspector.HARLog.prototype._buildPages):
1148         (WebInspector.HARLog.prototype.buildMainResourceTimings):
1149         (WebInspector.HARLog.prototype._convertResource):
1150         (WebInspector.HARLog.prototype._pageEventTime):
1151
1152 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
1153
1154         Reviewed by Adam Roben.
1155
1156         [WIN] Add GDIExtras
1157         https://bugs.webkit.org/show_bug.cgi?id=46974
1158
1159         Some, but not all WinCE environments have support for AlphaBlend().
1160         Add this files to check for AlphaBlend (and SoftLink) on WinCE.
1161         On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true.
1162
1163         * platform/graphics/win/GDIExtras.cpp: Added.
1164         (WebCore::AlphaBlendPointer):
1165         * platform/graphics/win/GDIExtras.h: Added.
1166         (WebCore::hasAlphaBlendSupport):
1167         (WebCore::alphaBlendIfSupported):
1168
1169 2010-10-01  Patrick Gansterer  <paroga@webkit.org>
1170
1171         Reviewed by Adam Roben.
1172
1173         [WINCE] Use alphaBlendIfSupported in GraphicsContext
1174         https://bugs.webkit.org/show_bug.cgi?id=46979
1175
1176         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1177         (WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap):
1178
1179 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1180
1181         Reviewed by Dirk Schulze.
1182
1183         Add two new helper files for the new SVGTextLayoutEngine
1184         https://bugs.webkit.org/show_bug.cgi?id=46972
1185
1186         Refactor code from SVGTextLayoutUtilities into two seperated classes.
1187         SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.
1188
1189         Doesn't affect any functionality yet, as the new classes are not used so far.
1190
1191         * Android.mk:
1192         * CMakeLists.txt:
1193         * GNUmakefile.am:
1194         * WebCore.gypi:
1195         * WebCore.vcproj/WebCore.vcproj:
1196         * WebCore.xcodeproj/project.pbxproj:
1197         * rendering/svg/SVGTextFragment.h:
1198         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
1199         (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
1200         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
1201         (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
1202         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
1203         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
1204         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
1205         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
1206         * rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
1207         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
1208         (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
1209         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
1210         (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
1211         * rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
1212
1213 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1214
1215         Reviewed by Andreas Kling.
1216
1217         Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder
1218         https://bugs.webkit.org/show_bug.cgi?id=46971
1219
1220         Doesn't affect any functionality, just moves files around.
1221
1222         * Android.mk:
1223         * CMakeLists.txt:
1224         * GNUmakefile.am:
1225         * WebCore.gypi:
1226         * WebCore.pro:
1227         * WebCore.vcproj/WebCore.vcproj:
1228         * WebCore.xcodeproj/project.pbxproj:
1229         * rendering/svg/RenderSVGText.cpp:
1230         (WebCore::RenderSVGText::layout): Adopt to renaming.
1231         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp.
1232         * rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h.
1233         * rendering/svg/SVGTextLayoutBuilder.cpp: Removed.
1234         * rendering/svg/SVGTextLayoutBuilder.h: Removed.
1235
1236 2010-10-01  MORITA Hajime  <morrita@google.com>
1237
1238         Unreviewed build fix.
1239
1240         * platform/graphics/skia/PlatformContextSkia.cpp:
1241         (WebCore::PlatformContextSkia::PlatformContextSkia):
1242
1243 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1244
1245         Reviewed by Andreas Kling.
1246
1247         Move SVG text related renderers into rendering/svg/
1248         https://bugs.webkit.org/show_bug.cgi?id=46969
1249
1250         Doesn't affect any functionality, just moves files around.
1251
1252         * Android.mk:
1253         * CMakeLists.txt:
1254         * GNUmakefile.am:
1255         * WebCore.gypi:
1256         * WebCore.pro:
1257         * WebCore.vcproj/WebCore.vcproj:
1258         * WebCore.xcodeproj/project.pbxproj:
1259         * rendering/RenderSVGAllInOne.cpp:
1260         * rendering/RenderSVGInline.cpp: Removed.
1261         * rendering/RenderSVGInline.h: Removed.
1262         * rendering/RenderSVGInlineText.cpp: Removed.
1263         * rendering/RenderSVGInlineText.h: Removed.
1264         * rendering/RenderSVGTSpan.cpp: Removed.
1265         * rendering/RenderSVGTSpan.h: Removed.
1266         * rendering/RenderSVGText.cpp: Removed.
1267         * rendering/RenderSVGText.h: Removed.
1268         * rendering/RenderSVGTextPath.cpp: Removed.
1269         * rendering/RenderSVGTextPath.h: Removed.
1270         * rendering/SVGInlineFlowBox.cpp: Removed.
1271         * rendering/SVGInlineFlowBox.h: Removed.
1272         * rendering/SVGInlineTextBox.cpp: Removed.
1273         * rendering/SVGInlineTextBox.h: Removed.
1274         * rendering/SVGRootInlineBox.cpp: Removed.
1275         * rendering/SVGRootInlineBox.h: Removed.
1276         * rendering/SVGTextQuery.cpp: Removed.
1277         * rendering/SVGTextQuery.h: Removed.
1278         * rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp.
1279         * rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h.
1280         * rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp.
1281         * rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h.
1282         * rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp.
1283         * rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h.
1284         * rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp.
1285         * rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h.
1286         * rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp.
1287         * rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h.
1288         * rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp.
1289         * rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h.
1290         * rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp.
1291         * rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h.
1292         * rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp.
1293         * rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h.
1294         * rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp.
1295         * rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h.
1296
1297 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1298
1299         Reviewed by Dirk Schulze.
1300
1301         Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine
1302         https://bugs.webkit.org/show_bug.cgi?id=46964
1303
1304         The new SVG text layout engine will use these new classes.
1305         1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters.
1306            
1307            -> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object
1308               describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes).
1309            -> In "range of characters" mode, it returns the width/height of the range, and its length.
1310
1311            All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine.
1312
1313         2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot.
1314            It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment,
1315            length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.)
1316
1317            In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to
1318            be performed as SVGTextFragment contains all necessary information to render text / select text etc.
1319
1320         3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments).
1321
1322            Quotes from SVG spec:
1323            Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways:
1324             * Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk.
1325             * Each text chunk represents a separate block of text for alignment due to "text-anchor" property values.
1326             * Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks.
1327
1328             An absolute position adjustment occurs in the following circumstances:
1329             * At the start of a <text> element
1330             * At the start of each <textPath> element
1331             * For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly
1332
1333             After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules
1334             (eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text).
1335
1336             SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk.
1337
1338         Doesn't affect any tests, as these classes aren't used so far.
1339
1340         * Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build.
1341         * CMakeLists.txt: Ditto.
1342         * GNUmakefile.am: Ditto.
1343         * WebCore.gypi: Ditto.
1344         * WebCore.pro: Ditto.
1345         * WebCore.vcproj/WebCore.vcproj: Ditto.
1346         * WebCore.xcodeproj/project.pbxproj: Ditto.
1347         * rendering/svg/SVGTextChunk.cpp: Added.
1348         * rendering/svg/SVGTextChunk.h: Added.
1349         * rendering/svg/SVGTextFragment.h: Added.
1350         * rendering/svg/SVGTextMetrics.cpp: Added.
1351         * rendering/svg/SVGTextMetrics.h: Added.
1352
1353 2010-10-01  Vincent Scheib  <scheib@chromium.org>
1354
1355         Reviewed by James Robinson.
1356
1357         REGRESSION: Lots of fast canvas updates fail to completely render
1358         https://bugs.webkit.org/show_bug.cgi?id=46319
1359
1360         Test: fast/repaint/canvas-putImageData.html
1361
1362         * html/canvas/CanvasRenderingContext2D.cpp:
1363         (WebCore::CanvasRenderingContext2D::putImageData):
1364
1365 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1366
1367         Reviewed by Dirk Schulze.
1368
1369         Add helper methods to cast between renderers & SVGTextContent/PositioningElement
1370         https://bugs.webkit.org/show_bug.cgi?id=46963
1371
1372         Doesn't affect any tests.
1373
1374         * svg/SVGTextContentElement.cpp:
1375         (WebCore::SVGTextContentElement::elementFromRenderer):
1376         * svg/SVGTextContentElement.h:
1377         * svg/SVGTextPositioningElement.cpp:
1378         (WebCore::SVGTextPositioningElement::elementFromRenderer):
1379         * svg/SVGTextPositioningElement.h:
1380
1381 2010-09-30  MORITA Hajime  <morrita@google.com>
1382
1383         Reviewed by James Robinson.
1384
1385         [Chromium] build fails unless ACCELERATED_2D_CANVAS defined
1386         https://bugs.webkit.org/show_bug.cgi?id=46955
1387         
1388         Added ifdef guard around SharedGraphicsContext3D.
1389
1390         No new tests. just a build fix.
1391
1392         * platform/graphics/skia/PlatformContextSkia.cpp:
1393         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1394         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1395         (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
1396         (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
1397         * platform/graphics/skia/PlatformContextSkia.h:
1398         (WebCore::PlatformContextSkia::gpuCanvas):
1399
1400 2010-09-30  Kent Tamura  <tkent@chromium.org>
1401
1402         Reviewed by Chris Fleizach.
1403
1404         [Windows] Implement <input type=number> UI
1405         https://bugs.webkit.org/show_bug.cgi?id=38381
1406
1407         Implement theme drawing for inner-spin-button.
1408         No new tests. Existing tests for type=number will cover this change.
1409
1410         * rendering/RenderThemeWin.cpp:
1411         (WebCore::RenderThemeWin::RenderThemeWin):
1412          Handle m_spinButtonTheme.
1413         (WebCore::RenderThemeWin::spinButtonTheme): ditto.
1414         (WebCore::RenderThemeWin::close): ditto.
1415         (WebCore::RenderThemeWin::determineClassicState):
1416          Add ControlSubPart parameter, and add support for InnerSpinButtonPart.
1417         (WebCore::RenderThemeWin::determineSpinButtonState): Added.
1418         (WebCore::RenderThemeWin::getClassicThemeData):
1419          Add ControlSubPart parameter, and handle InnerSpinButtonPart.
1420         (WebCore::RenderThemeWin::getThemeData): ditto.
1421         (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
1422          Set SM_CXVSCROLL value to the width.
1423         (WebCore::RenderThemeWin::paintInnerSpinButton):
1424          Call drawControl() for the upper part and the lower part.
1425         * rendering/RenderThemeWin.h:
1426
1427 2010-09-30  Kent Tamura  <tkent@chromium.org>
1428
1429         Unreviewed, Windows build fix for r68854
1430
1431         * WebCore.vcproj/copyForwardingHeaders.cmd:
1432           Copy WebCore/html/parser/*.h.
1433
1434 2010-09-30  Abhishek Arya  <inferno@chromium.org>
1435
1436         Reviewed by Dan Bernstein.
1437
1438         While updating :before and :after content, make sure that the generated
1439         container is allowed to add the child type.
1440         https://bugs.webkit.org/show_bug.cgi?id=46106
1441
1442         Test: fast/css-generated-content/text-before-table-col-crash.html
1443
1444         * rendering/RenderObjectChildList.cpp:
1445         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1446
1447 2010-09-30  Mario Sanchez Prada  <msanchez@igalia.com>
1448
1449         Reviewed by Daniel Bates.
1450
1451         [GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED
1452         https://bugs.webkit.org/show_bug.cgi?id=46886
1453
1454         Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix().
1455
1456         So far, this assertion made sense because it was not possible that
1457         a call to listMarkerSuffix() happened when the style of the list
1458         item was one of the following: Asterisks, Circle, Discm Footnotes,
1459         NoneListStyle or Square (it's easy to figure this out by checking
1460         the functions where listMarkerSuffix() was called).
1461
1462         However, since revision 68415 (about bug 45381), there's a new
1463         place where listMarkerSuffix() is being called (the suffix()
1464         public method), regardless of the style of the item being or not
1465         one of those pointed out, so the aforementioned assertion in
1466         listMarkerSuffix() would no longer be correct, as now it's ok to
1467         reach those cases in the switch statement.
1468
1469         * rendering/RenderListMarker.cpp:
1470         (WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED().
1471
1472 2010-09-30  Beth Dakin  <bdakin@apple.com>
1473
1474         Reviewed by Adele Peterson.
1475
1476         https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all-
1477         whitespace separators for mfenced
1478
1479         Check the size of characters instead of separators in case all the 
1480         separators were whitespace.
1481
1482         * mathml/RenderMathMLFenced.cpp:
1483         (WebCore::RenderMathMLFenced::updateFromElement):
1484
1485 2010-09-30  Darin Adler  <darin@apple.com>
1486
1487         Reviewed by Sam Weinig.
1488
1489         Remove remaining calls to deprecatedParseURL
1490         https://bugs.webkit.org/show_bug.cgi?id=26599
1491
1492         Test: fast/replaced/object-param-spaces.html
1493
1494         * css/CSSHelper.cpp: Removed.
1495         * css/CSSHelper.h: Removed deprecatedParseURL.
1496
1497         * html/parser/HTMLParserIdioms.cpp:
1498         (WebCore::stripLeadingAndTrailingHTMLSpaces):
1499         Fixed bug where the function would turn the null string into the empty string.
1500         Fixed bug where the function would not strip all trailing spaces.
1501
1502         * html/parser/CSSPreloadScanner.cpp:
1503         (WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state
1504         instead of calling the reset function.
1505         (WebCore::CSSPreloadScanner::scan): Tweaked coding style.
1506         (WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of
1507         an identical local function named isWhitespace.
1508         (WebCore::parseCSSStringOrURL): Added. This function does what
1509         deprecatedParseURL did before, and this is the only place in WebKit
1510         that needs it. The code implements the rules for a string or URL
1511         token. The real CSS parser does this with flex and the code to hook
1512         flex up to yacc, so the function is not needed there.
1513         (WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit
1514         and mae it call parseCSSStringOrURL.
1515
1516         * bindings/generic/BindingSecurity.h:
1517         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
1518         * bindings/js/JSDOMBinding.cpp:
1519         (WebCore::allowSettingSrcToJavascriptURL):
1520         * bindings/js/JSHTMLFrameElementCustom.cpp:
1521         (WebCore::allowSettingJavascriptURL):
1522         * bindings/objc/DOM.mm:
1523         (-[DOMElement _getURLAttribute:]):
1524         * bindings/objc/DOMHTML.mm:
1525         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
1526         * dom/Document.cpp:
1527         (WebCore::Document::processBaseElement):
1528         * dom/Element.cpp:
1529         (WebCore::isAttributeToRemove):
1530         (WebCore::Element::getURLAttribute):
1531         (WebCore::Element::getNonEmptyURLAttribute):
1532         * html/HTMLAnchorElement.cpp:
1533         (WebCore::HTMLAnchorElement::defaultEventHandler):
1534         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1535         (WebCore::HTMLAnchorElement::href):
1536         * html/HTMLBodyElement.cpp:
1537         (WebCore::HTMLBodyElement::parseMappedAttribute):
1538         * html/HTMLEmbedElement.cpp:
1539         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1540         * html/HTMLFrameElementBase.cpp:
1541         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1542         * html/HTMLImageElement.cpp:
1543         (WebCore::HTMLImageElement::parseMappedAttribute):
1544         * html/HTMLImageLoader.cpp:
1545         (WebCore::HTMLImageLoader::sourceURI):
1546         * html/HTMLLinkElement.cpp:
1547         (WebCore::HTMLLinkElement::parseMappedAttribute):
1548         * html/HTMLMediaElement.cpp:
1549         * html/HTMLObjectElement.cpp:
1550         (WebCore::HTMLObjectElement::parseMappedAttribute):
1551         (WebCore::HTMLObjectElement::parametersForPlugin):
1552         * html/HTMLTableElement.cpp:
1553         (WebCore::HTMLTableElement::parseMappedAttribute):
1554         * html/HTMLTablePartElement.cpp:
1555         (WebCore::HTMLTablePartElement::parseMappedAttribute):
1556         * html/parser/HTMLPreloadScanner.cpp:
1557         (WebCore::HTMLNames::PreloadTask::setUrlToLoad):
1558         * loader/FormSubmission.cpp:
1559         (WebCore::FormSubmission::Attributes::parseAction):
1560         * platform/chromium/ClipboardChromium.cpp:
1561         (WebCore::ClipboardChromium::declareAndWriteDragImage):
1562         * platform/chromium/PasteboardChromium.cpp:
1563         (WebCore::Pasteboard::writeImage):
1564         * platform/qt/ClipboardQt.cpp:
1565         (WebCore::ClipboardQt::declareAndWriteDragImage):
1566         * platform/win/ClipboardWin.cpp:
1567         (WebCore::ClipboardWin::declareAndWriteDragImage):
1568         * rendering/HitTestResult.cpp:
1569         (WebCore::HitTestResult::absoluteImageURL):
1570         (WebCore::HitTestResult::absoluteMediaURL):
1571         (WebCore::HitTestResult::absoluteLinkURL):
1572         * svg/SVGAElement.cpp:
1573         (WebCore::SVGAElement::defaultEventHandler):
1574         * svg/SVGImageLoader.cpp:
1575         (WebCore::SVGImageLoader::sourceURI):
1576         * wml/WMLAElement.cpp:
1577         (WebCore::WMLAElement::defaultEventHandler):
1578         * wml/WMLImageLoader.cpp:
1579         (WebCore::WMLImageLoader::sourceURI):
1580         Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
1581
1582         * WebCore.exp.in: Updated.
1583
1584         * Android.mk: Removed CSSHelper.cpp.
1585         * CMakeLists.txt: Ditto.
1586         * GNUmakefile.am: Ditto.
1587         * WebCore.gypi: Ditto.
1588         * WebCore.pro: Ditto.
1589         * WebCore.vcproj/WebCore.vcproj: Ditto.
1590         * WebCore.xcodeproj/project.pbxproj: Ditto.
1591
1592         * bindings/js/JSAttrCustom.cpp:
1593         * bindings/js/JSElementCustom.cpp:
1594         * bindings/v8/custom/V8ElementCustom.cpp:
1595         * bindings/v8/custom/V8LocationCustom.cpp:
1596         * css/CSSParser.cpp:
1597         * html/HTMLMediaElement.cpp:
1598         * html/HTMLVideoElement.cpp:
1599         * loader/ImageLoader.cpp:
1600         * rendering/style/RenderStyle.h:
1601         Removed unneeded include of CSSHelper.h.
1602
1603 2010-09-30  Alexey Marinichev  <amarinichev@chromium.org>
1604
1605         Reviewed by Chris Marrin.
1606
1607         Add GetGraphicsResetStatusARB entry point from ARB_robustness
1608         extension to GraphicsContext3D
1609         https://bugs.webkit.org/show_bug.cgi?id=46850
1610
1611         Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for
1612         Mac and QT.
1613
1614         * platform/graphics/GraphicsContext3D.h:
1615         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1616         (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
1617         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1618         (WebCore::GraphicsContext3D::getGraphicsResetStatusARB):
1619
1620 2010-09-30  David Hyatt  <hyatt@apple.com>
1621
1622         Reviewed by Sam Weinig.
1623
1624         https://bugs.webkit.org/show_bug.cgi?id=46938
1625         
1626         Rewrite margin collapsing to be block-flow-aware.  Eliminate a bunch of the margin functions on RenderBox in favor of a single
1627         master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock.  Introduce a new
1628         MarginValues struct to make returning the collection of 4 margin values easy.
1629     
1630         fast/blockflow/inline-direction-positioning.html progresses to have the correct results.
1631         Added fast/blockflow/margin-collapse.html
1632
1633         * rendering/RenderBlock.cpp:
1634         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1635         (WebCore::RenderBlock::adjustPositionedBlock):
1636         (WebCore::RenderBlock::collapseMargins):
1637         (WebCore::RenderBlock::clearFloatsIfNeeded):
1638         (WebCore::RenderBlock::setCollapsedBottomMargin):
1639         (WebCore::RenderBlock::layoutBlockChild):
1640         (WebCore::RenderBlock::setMaxMarginBeforeValues):
1641         (WebCore::RenderBlock::setMaxMarginAfterValues):
1642         (WebCore::RenderBlock::marginValuesForChild):
1643         * rendering/RenderBlock.h:
1644         (WebCore::RenderBlock::MarginValues::MarginValues):
1645         (WebCore::RenderBlock::MarginValues::positiveMarginBefore):
1646         (WebCore::RenderBlock::MarginValues::negativeMarginBefore):
1647         (WebCore::RenderBlock::MarginValues::positiveMarginAfter):
1648         (WebCore::RenderBlock::MarginValues::negativeMarginAfter):
1649         (WebCore::RenderBlock::MarginValues::setPositiveMarginBefore):
1650         (WebCore::RenderBlock::MarginValues::setNegativeMarginBefore):
1651         (WebCore::RenderBlock::MarginValues::setPositiveMarginAfter):
1652         (WebCore::RenderBlock::MarginValues::setNegativeMarginAfter):
1653         (WebCore::RenderBlock::maxPositiveMarginBefore):
1654         (WebCore::RenderBlock::maxNegativeMarginBefore):
1655         (WebCore::RenderBlock::maxPositiveMarginAfter):
1656         (WebCore::RenderBlock::maxNegativeMarginAfter):
1657         (WebCore::RenderBlock::initMaxMarginValues):
1658         (WebCore::RenderBlock::collapsedMarginBefore):
1659         (WebCore::RenderBlock::collapsedMarginAfter):
1660         (WebCore::RenderBlock::MarginInfo::clearMargin):
1661         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
1662         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
1663         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
1664         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
1665         (WebCore::RenderBlock::MarginInfo::setMargin):
1666         (WebCore::RenderBlock::MarginInfo::positiveMargin):
1667         (WebCore::RenderBlock::MarginInfo::negativeMargin):
1668         (WebCore::RenderBlock::MarginInfo::margin):
1669         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1670         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
1671         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
1672         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
1673         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
1674         * rendering/RenderBox.h:
1675         (WebCore::RenderBox::collapsedMarginBefore):
1676         (WebCore::RenderBox::collapsedMarginAfter):
1677         * rendering/RenderFlexibleBox.cpp:
1678         (WebCore::RenderFlexibleBox::layoutBlock):
1679
1680 2010-09-30  Patrick Gansterer  <paroga@webkit.org>
1681
1682         Reviewed by Adam Roben.
1683
1684         [WINCE] Fix InternetGetCookie in CookieJarWin.cpp
1685         https://bugs.webkit.org/show_bug.cgi?id=46929
1686
1687         If the InternetGetCookie fails the output size won't be set.
1688         Set the default size to 0, so we always get the correct size
1689         and check the return value of InternetGetCookie.
1690
1691         * platform/network/win/CookieJarWin.cpp:
1692         (WebCore::cookies):
1693
1694 2010-09-30  Patrick Gansterer  <paroga@webkit.org>
1695
1696         Reviewed by Adam Roben.
1697
1698         [WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext
1699         https://bugs.webkit.org/show_bug.cgi?id=46881
1700
1701         Also add some missing SelectObject calls.
1702
1703         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1704         (WebCore::createPen):
1705         (WebCore::createBrush):
1706         (WebCore::GraphicsContext::drawRect):
1707         (WebCore::GraphicsContext::drawLine):
1708         (WebCore::GraphicsContext::drawEllipse):
1709         (WebCore::GraphicsContext::strokeArc):
1710         (WebCore::GraphicsContext::drawConvexPolygon):
1711         (WebCore::GraphicsContext::strokeRect):
1712         (WebCore::GraphicsContext::fillRoundedRect):
1713         (WebCore::GraphicsContext::fillPath):
1714         (WebCore::GraphicsContext::strokePath):
1715
1716 2010-09-30  Anders Carlsson  <andersca@apple.com>
1717
1718         Reviewed by Dan Bernstein and Darin Adler.
1719
1720         WebCore uses the main thread to process sleep notifications
1721         https://bugs.webkit.org/show_bug.cgi?id=46935
1722         <rdar://problem/8495374>
1723
1724         Rewrite the old WebCorePowerNotifier to use IOKit directly. 
1725         
1726         On Snow Leopard, set up power notifications to arrive on a dispatch queue,
1727         so that we can handle them quickly even if the main thread is hung.
1728
1729         (Tiger and Leopard will still get the old behavior).
1730
1731         * WebCore.xcodeproj/project.pbxproj:
1732         Link with IOKit.
1733
1734         * platform/mac/SharedTimerMac.mm:
1735         (WebCore::PowerObserver::PowerObserver):
1736         Initialize the IOKit machinery.
1737
1738         (WebCore::PowerObserver::~PowerObserver):
1739         Tear down the IOKit notifications.
1740
1741         (WebCore::PowerObserver::didReceiveSystemPowerNotification):
1742         Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we
1743         make sure to call the shared timer functions on the main thread.
1744     
1745 2010-09-30  James Simonsen  <simonjam@chromium.org>
1746
1747         Reviewed by Adam Barth.
1748
1749         [Web Timing] Make requestEnd equal to start of response
1750         https://bugs.webkit.org/show_bug.cgi?id=46302
1751
1752         * page/Timing.cpp:
1753         (WebCore::Timing::requestEnd):
1754
1755 2010-09-30  Zhenyao Mo  <zmo@google.com>
1756
1757         Reviewed by Kenneth Russell.
1758
1759         fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard
1760         https://bugs.webkit.org/show_bug.cgi?id=46870
1761
1762         * platform/graphics/ANGLEWebKitBridge.cpp:
1763         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize().
1764
1765 2010-09-30  Ryosuke Niwa  <rniwa@webkit.org>
1766
1767         Reviewed by Tony Chang.
1768
1769         WebKit nests font element when applying different font styles
1770         https://bugs.webkit.org/show_bug.cgi?id=45568
1771
1772         The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors,
1773         and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to
1774         adding font attributes or style attribute.
1775
1776         Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding
1777         the appropriate container node to add attributes in addInlineStyleIfNeeded.
1778         addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and
1779         span elements respectively.
1780
1781         Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not
1782         modify the contents when the entire contents already have the desired style.
1783
1784         Test: editing/style/inline-style-container.html
1785
1786         * editing/ApplyStyleCommand.cpp:
1787         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
1788         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
1789         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
1790         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1791
1792 2010-09-30  Jarred Nicholls  <jarred@sencha.com>
1793
1794         Reviewed by Darin Adler.
1795
1796         Removed unnecessary calls to ceil() on an int
1797         Removing the call fixes MSVC build errors
1798         https://bugs.webkit.org/show_bug.cgi?id=46931
1799
1800         * platform/graphics/ContextShadow.cpp:
1801         (WebCore::ContextShadow::calculateLayerBoundingRect):
1802
1803 2010-09-30  David Hyatt  <hyatt@apple.com>
1804
1805         Reviewed by Beth Dakin.
1806
1807         https://bugs.webkit.org/show_bug.cgi?id=46932
1808         
1809         Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more
1810         height() calls to be logicalHeight().
1811
1812         * rendering/RenderBlock.cpp:
1813         (WebCore::RenderBlock::collapseMargins):
1814         (WebCore::RenderBlock::handleAfterSideOfBlock):
1815
1816 2010-09-30  Cris Neckar  <cdn@chromium.org>
1817
1818         Reviewed by Darin Adler.
1819
1820         Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters().
1821         Added refcounting to counternodes in countermaps.
1822         https://bugs.webkit.org/show_bug.cgi?id=46387
1823
1824         Test: fast/css/counters/counter-traverse-table-cell.html
1825
1826         * rendering/CounterNode.cpp:
1827         (WebCore::CounterNode::create):
1828         * rendering/CounterNode.h:
1829         * rendering/RenderCounter.cpp:
1830         (WebCore::makeCounterNode):
1831         (WebCore::destroyCounterNodeWithoutMapRemoval):
1832         (WebCore::RenderCounter::destroyCounterNodes):
1833         (WebCore::RenderCounter::destroyCounterNode):
1834         (WebCore::updateCounters):
1835
1836 2010-09-30  David Hyatt  <hyatt@apple.com>
1837
1838         Reviewed by Beth Dakin.
1839
1840         https://bugs.webkit.org/show_bug.cgi?id=46928
1841         
1842         Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead.
1843
1844         * css/CSSStyleSelector.cpp:
1845         (WebCore::CSSStyleSelector::isLeftPage):
1846         (WebCore::CSSStyleSelector::applyProperty):
1847         * editing/Editor.cpp:
1848         (WebCore::Editor::hasBidiSelection):
1849         * editing/VisiblePosition.cpp:
1850         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
1851         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
1852         * html/canvas/CanvasRenderingContext2D.cpp:
1853         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1854         * rendering/InlineBox.h:
1855         (WebCore::InlineBox::isLeftToRightDirection):
1856         (WebCore::InlineBox::caretLeftmostOffset):
1857         (WebCore::InlineBox::caretRightmostOffset):
1858         * rendering/InlineFlowBox.cpp:
1859         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1860         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1861         (WebCore::InlineFlowBox::paintTextDecorations):
1862         * rendering/InlineIterator.h:
1863         (WebCore::InlineIterator::direction):
1864         * rendering/InlineTextBox.cpp:
1865         (WebCore::InlineTextBox::selectionRect):
1866         (WebCore::InlineTextBox::placeEllipsisBox):
1867         (WebCore::InlineTextBox::paint):
1868         (WebCore::InlineTextBox::paintSelection):
1869         (WebCore::InlineTextBox::paintCompositionBackground):
1870         (WebCore::InlineTextBox::paintDecoration):
1871         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1872         (WebCore::InlineTextBox::paintTextMatchMarker):
1873         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1874         (WebCore::InlineTextBox::textPos):
1875         (WebCore::InlineTextBox::offsetForPosition):
1876         (WebCore::InlineTextBox::positionForOffset):
1877         * rendering/RenderBlock.cpp:
1878         (WebCore::RenderBlock::adjustPositionedBlock):
1879         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1880         (WebCore::RenderBlock::paintColumnRules):
1881         (WebCore::RenderBlock::paintColumnContents):
1882         (WebCore::RenderBlock::getHorizontalSelectionGapInfo):
1883         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1884         (WebCore::RenderBlock::logicalRightOffsetForLine):
1885         (WebCore::RenderBlock::rightmostPosition):
1886         (WebCore::RenderBlock::leftmostPosition):
1887         (WebCore::RenderBlock::columnRectAt):
1888         (WebCore::RenderBlock::layoutColumns):
1889         (WebCore::getBorderPaddingMargin):
1890         (WebCore::RenderBlock::localCaretRect):
1891         (WebCore::RenderBlock::marginStartForChild):
1892         (WebCore::RenderBlock::marginEndForChild):
1893         (WebCore::RenderBlock::setMarginStartForChild):
1894         (WebCore::RenderBlock::setMarginEndForChild):
1895         * rendering/RenderBlockLineLayout.cpp:
1896         (WebCore::getBorderPaddingMargin):
1897         (WebCore::RenderBlock::constructLine):
1898         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1899         (WebCore::RenderBlock::determineStartPosition):
1900         (WebCore::RenderBlock::skipTrailingWhitespace):
1901         (WebCore::RenderBlock::skipLeadingWhitespace):
1902         (WebCore::RenderBlock::findNextLineBreak):
1903         (WebCore::RenderBlock::checkLinesForTextOverflow):
1904         * rendering/RenderBox.cpp:
1905         (WebCore::RenderBox::marginStart):
1906         (WebCore::RenderBox::marginEnd):
1907         (WebCore::RenderBox::setMarginStart):
1908         (WebCore::RenderBox::setMarginEnd):
1909         (WebCore::RenderBox::scrollWidth):
1910         (WebCore::RenderBox::computeInlineDirectionMargins):
1911         (WebCore::RenderBox::containingBlockWidthForPositioned):
1912         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1913         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1914         (WebCore::RenderBox::localCaretRect):
1915         * rendering/RenderBoxModelObject.cpp:
1916         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
1917         * rendering/RenderFieldset.cpp:
1918         (WebCore::RenderFieldset::layoutLegend):
1919         * rendering/RenderFileUploadControl.cpp:
1920         (WebCore::RenderFileUploadControl::paintObject):
1921         * rendering/RenderFlexibleBox.cpp:
1922         (WebCore::FlexBoxIterator::FlexBoxIterator):
1923         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1924         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1925         * rendering/RenderLayer.cpp:
1926         (WebCore::RenderLayer::computeScrollDimensions):
1927         * rendering/RenderListBox.cpp:
1928         (WebCore::RenderListBox::paintItemForeground):
1929         * rendering/RenderListItem.cpp:
1930         (WebCore::RenderListItem::positionListMarker):
1931         (WebCore::RenderListItem::markerTextWithSuffix):
1932         * rendering/RenderListMarker.cpp:
1933         (WebCore::RenderListMarker::paint):
1934         (WebCore::RenderListMarker::updateMargins):
1935         (WebCore::RenderListMarker::suffix):
1936         * rendering/RenderMarquee.cpp:
1937         (WebCore::RenderMarquee::computePosition):
1938         * rendering/RenderMeter.cpp:
1939         (WebCore::RenderMeter::valuePartRect):
1940         * rendering/RenderProgress.cpp:
1941         (WebCore::RenderProgress::valuePartRect):
1942         * rendering/RenderTable.cpp:
1943         (WebCore::RenderTable::calcBorderLeft):
1944         (WebCore::RenderTable::calcBorderRight):
1945         * rendering/RenderTableCell.cpp:
1946         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1947         (WebCore::RenderTableCell::borderHalfLeft):
1948         (WebCore::RenderTableCell::borderHalfRight):
1949         (WebCore::RenderTableCell::collectBorderStyles):
1950         (WebCore::RenderTableCell::paintCollapsedBorder):
1951         * rendering/RenderTableSection.cpp:
1952         (WebCore::RenderTableSection::layoutRows):
1953         (WebCore::RenderTableSection::recalcOuterBorder):
1954         (WebCore::RenderTableSection::paintObject):
1955         (WebCore::RenderTableSection::nodeAtPoint):
1956         * rendering/RenderText.cpp:
1957         (WebCore::RenderText::localCaretRect):
1958         (WebCore::RenderText::positionLineBox):
1959         * rendering/RenderTextControlSingleLine.cpp:
1960         (WebCore::RenderTextControlSingleLine::forwardEvent):
1961         * rendering/RenderThemeMac.mm:
1962         (WebCore::RenderThemeMac::levelIndicatorFor):
1963         (WebCore::RenderThemeMac::paintProgressBar):
1964         * rendering/RenderTreeAsText.cpp:
1965         (WebCore::writeTextRun):
1966         * rendering/SVGInlineTextBox.cpp:
1967         (WebCore::SVGInlineTextBox::measureCharacter):
1968         (WebCore::SVGInlineTextBox::buildLayoutInformation):
1969         * rendering/SVGRenderTreeAsText.cpp:
1970         (WebCore::writeSVGInlineTextBox):
1971         * rendering/SVGTextLayoutUtilities.cpp:
1972         (WebCore::svgTextRunForInlineTextBox):
1973         * rendering/style/RenderStyle.cpp:
1974         (WebCore::RenderStyle::borderStartWidth):
1975         (WebCore::RenderStyle::borderEndWidth):
1976         (WebCore::RenderStyle::marginStart):
1977         (WebCore::RenderStyle::marginEnd):
1978         (WebCore::RenderStyle::marginStartUsing):
1979         (WebCore::RenderStyle::marginEndUsing):
1980         (WebCore::RenderStyle::paddingStart):
1981         (WebCore::RenderStyle::paddingEnd):
1982         * rendering/style/RenderStyle.h:
1983         (WebCore::InheritedFlags::isLeftToRightDirection):
1984         * wml/WMLTableElement.cpp:
1985         (WebCore::WMLTableElement::alignCells):
1986
1987 2010-09-30  David Hyatt  <hyatt@apple.com>
1988
1989         Reviewed by Simon Fraser.
1990
1991         https://bugs.webkit.org/show_bug.cgi?id=46923
1992         
1993         Make determineLogicalLeftPositionForChild block-flow-aware.  Rewrite the function so that there aren't
1994         completely separate LTR/RTL cases.
1995
1996         Added fast/blockflow/inline-direction-positioning.html
1997
1998         * rendering/RenderBlock.cpp:
1999         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
2000         (WebCore::RenderBlock::setLogicalLeftForChild):
2001         * rendering/RenderBlock.h:
2002         (WebCore::RenderBlock::logicalWidthForChild):
2003         (WebCore::RenderBlock::logicalRightOffsetForContent):
2004         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2005
2006 2010-09-29  Adam Roben  <aroben@apple.com>
2007
2008         Fix color media queries on Windows
2009
2010         Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8)
2011         media query does not evaluate to true for 32bpp displays on Windows
2012
2013         Test: fast/media/color-does-not-include-alpha.html
2014
2015         Reviewed by Darin Adler.
2016
2017         * platform/win/PlatformScreenWin.cpp:
2018         (WebCore::screenDepthPerComponent): Use screenDepth instead of trying
2019         to interpret DEVMODE directly, since screenDepth knows how to correct
2020         for video drivers that return 32 instead of 24.
2021
2022 2010-09-29  Adam Roben  <aroben@apple.com>
2023
2024         Make sure screen.colorDepth/screen.pixelDepth don't include the bits
2025         used for alpha
2026
2027         Fixes <http://webkit.org/b/42972> <rdar://problem/8234071>
2028         screen.colorDepth and screen.pixelDepth return 32 on Windows, but
2029         should return 24 (according to CSSOM View and Firefox)
2030
2031         Reviewed by Darin Adler.
2032
2033         * platform/win/PlatformScreenWin.cpp:
2034         (WebCore::screenDepth): If Windows says there are 32 bits per pixel,
2035         return 24 instead, as 32 includes the alpha component but this
2036         function is supposed to ignore the alpha component.
2037
2038 2010-09-30  Daniel Cheng  <dcheng@chromium.org>
2039
2040         Reviewed by Tony Chang.
2041
2042         [chromium] Refactor ChromiumDataObject to use getters/setters.
2043         https://bugs.webkit.org/show_bug.cgi?id=46559
2044
2045         This is an intermediate step to converting ChromiumDataObject to use
2046         callbacks to the browser to retrieve data.
2047
2048         This is covered by existing tests.
2049
2050         * editing/chromium/EditorChromium.cpp:
2051         (WebCore::Editor::newGeneralClipboard):
2052         * page/chromium/EventHandlerChromium.cpp:
2053         (WebCore::EventHandler::createDraggingClipboard):
2054         * platform/chromium/ChromiumDataObject.cpp:
2055         (WebCore::ChromiumDataObject::clearData):
2056         (WebCore::ChromiumDataObject::clearAll):
2057         (WebCore::ChromiumDataObject::clearAllExceptFiles):
2058         (WebCore::ChromiumDataObject::hasData):
2059         (WebCore::ChromiumDataObject::types):
2060         (WebCore::ChromiumDataObject::getData):
2061         (WebCore::ChromiumDataObject::setData):
2062         (WebCore::ChromiumDataObject::ChromiumDataObject):
2063         * platform/chromium/ChromiumDataObject.h:
2064         (WebCore::ChromiumDataObject::create):
2065         (WebCore::ChromiumDataObject::urlTitle):
2066         (WebCore::ChromiumDataObject::setUrlTitle):
2067         (WebCore::ChromiumDataObject::htmlBaseUrl):
2068         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
2069         (WebCore::ChromiumDataObject::containsFilenames):
2070         (WebCore::ChromiumDataObject::filenames):
2071         (WebCore::ChromiumDataObject::setFilenames):
2072         (WebCore::ChromiumDataObject::fileExtension):
2073         (WebCore::ChromiumDataObject::setFileExtension):
2074         (WebCore::ChromiumDataObject::fileContentFilename):
2075         (WebCore::ChromiumDataObject::setFileContentFilename):
2076         (WebCore::ChromiumDataObject::fileContent):
2077         (WebCore::ChromiumDataObject::setFileContent):
2078         * platform/chromium/ClipboardChromium.cpp:
2079         (WebCore::normalizeType):
2080         (WebCore::ClipboardChromium::clearData):
2081         (WebCore::ClipboardChromium::clearAllData):
2082         (WebCore::ClipboardChromium::getData):
2083         (WebCore::ClipboardChromium::setData):
2084         (WebCore::ClipboardChromium::types):
2085         (WebCore::ClipboardChromium::files):
2086         (WebCore::writeImageToDataObject):
2087         (WebCore::ClipboardChromium::declareAndWriteDragImage):
2088         (WebCore::ClipboardChromium::writeURL):
2089         (WebCore::ClipboardChromium::writeRange):
2090         (WebCore::ClipboardChromium::writePlainText):
2091         * platform/chromium/ClipboardChromiumWin.cpp:
2092         (WebCore::ClipboardChromium::validateFileName):
2093         * platform/chromium/ClipboardMimeTypes.cpp:
2094         * platform/chromium/ClipboardMimeTypes.h:
2095         * platform/chromium/DragDataChromium.cpp:
2096         (WebCore::containsHTML):
2097         (WebCore::DragData::containsURL):
2098         (WebCore::DragData::asURL):
2099         (WebCore::DragData::containsFiles):
2100         (WebCore::DragData::asFilenames):
2101         (WebCore::DragData::containsPlainText):
2102         (WebCore::DragData::asPlainText):
2103         (WebCore::DragData::canSmartReplace):
2104         (WebCore::DragData::asFragment):
2105         * platform/chromium/ReadableDataObject.cpp:
2106         (WebCore::ReadableDataObject::getURL):
2107         (WebCore::ReadableDataObject::getHTML):
2108         * platform/chromium/WritableDataObject.cpp:
2109         (WebCore::WritableDataObject::clearData):
2110         (WebCore::WritableDataObject::setData):
2111         (WebCore::WritableDataObject::setURL):
2112         (WebCore::WritableDataObject::setHTML):
2113
2114 2010-09-30  Chris Marrin  <cmarrin@apple.com>
2115
2116         Reviewed by Simon Fraser.
2117
2118         Make 2D accelerated canvas rendering build on Mac
2119         https://bugs.webkit.org/show_bug.cgi?id=46007
2120
2121         Add accelerated 2D rendering files to Mac build, fix build errors,
2122         add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is
2123         enabled, and add a skeleton of the mac specific file so it builds.
2124
2125         DrawingBufferMac.mm, the Mac specific file does nothing right now
2126         other than initialize and create a layer. The rest will be added
2127         when I do the actual implementation. 
2128
2129         The most significant change was to SharedGraphicsContext3D, which
2130         had a static local OwnPtr in one of the methods. This was causing
2131         the exit time destructor warning. Getting rid of the OwnPtr fixed
2132         the problem. Since the pointer that was being wrapped was to a
2133         static object that would never get destroyed, the OwnPtr was not
2134         necessary.
2135
2136         I also added the ACCELERATED_2D_CANVAS flag to build-webkit
2137         and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore.
2138         But right now the flag is off by default.
2139
2140         * Configurations/FeatureDefines.xcconfig:
2141         * WebCore.xcodeproj/project.pbxproj:
2142         * platform/graphics/gpu/DrawingBuffer.cpp:
2143         * platform/graphics/gpu/DrawingBuffer.h:
2144         (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback):
2145         * platform/graphics/gpu/LoopBlinnClassifier.cpp:
2146         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
2147         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp:
2148         * platform/graphics/gpu/Shader.cpp:
2149         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2150         (WebCore::SharedGraphicsContext3D::allContexts):
2151         * platform/graphics/gpu/SolidFillShader.cpp:
2152         * platform/graphics/gpu/TexShader.cpp:
2153         * platform/graphics/gpu/Texture.cpp:
2154         * platform/graphics/gpu/Texture.h:
2155         * platform/graphics/gpu/TilingData.cpp:
2156         * platform/graphics/gpu/mac: Added.
2157         * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added.
2158         (WebCore::DrawingBuffer::DrawingBuffer):
2159         (WebCore::DrawingBuffer::~DrawingBuffer):
2160         (WebCore::DrawingBuffer::reset):
2161         (WebCore::DrawingBuffer::platformLayer):
2162
2163 2010-09-30  Renata Hodovan  <reni@inf.u-szeged.hu>
2164
2165         Reviewed by Dirk Schulze.
2166
2167         SVGFECompositeElement doesn't support dynamic invalidation, when attributes change.
2168         https://bugs.webkit.org/show_bug.cgi?id=46902
2169
2170         Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html
2171                svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html
2172                svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html
2173                svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html
2174                svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html
2175                svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html
2176                svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html
2177                svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html
2178                svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html
2179                svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html
2180                svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html
2181                svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html
2182                svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html
2183                svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html
2184
2185         * svg/SVGFECompositeElement.cpp:
2186         (WebCore::SVGFECompositeElement::svgAttributeChanged):
2187         * svg/SVGFECompositeElement.h:
2188
2189 2010-09-29  Jeremy Orlow  <jorlow@chromium.org>
2190
2191         Reviewed by Steve Block.
2192
2193         Finished IDBTransaction for IndexedDB
2194         https://bugs.webkit.org/show_bug.cgi?id=46823
2195
2196         Switch the rest of IndexedDB to use transactions.
2197         Implement most of setVersion.
2198         Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc.
2199         Switch to using the standard cross thread task stuff.
2200         Make everything threadsafe so it works with cross thread copy
2201             (will be useful in the future).
2202         Fix some subtle bugs in transactions.
2203         
2204         Various bits of clean up (when I couldn't resist).
2205
2206         * bindings/js/JSIDBAnyCustom.cpp:
2207         (WebCore::toJS):
2208         * bindings/v8/IDBBindingUtilities.cpp:
2209         (WebCore::LocalContext::LocalContext):
2210         (WebCore::LocalContext::~LocalContext):
2211         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
2212         * bindings/v8/SerializedScriptValue.cpp:
2213         (WebCore::SerializedScriptValue::release):
2214         (WebCore::SerializedScriptValue::SerializedScriptValue):
2215         * bindings/v8/SerializedScriptValue.h:
2216         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2217         (WebCore::toV8):
2218         * platform/CrossThreadCopier.cpp:
2219         * storage/IDBAny.cpp:
2220         (WebCore::IDBAny::idbFactory):
2221         (WebCore::IDBAny::idbTransaction):
2222         (WebCore::IDBAny::set):
2223         * storage/IDBAny.h:
2224         * storage/IDBCallbacks.h:
2225         * storage/IDBCursor.cpp:
2226         (WebCore::IDBCursor::IDBCursor):
2227         (WebCore::IDBCursor::update):
2228         (WebCore::IDBCursor::continueFunction):
2229         (WebCore::IDBCursor::remove):
2230         * storage/IDBCursor.h:
2231         (WebCore::IDBCursor::create):
2232         * storage/IDBCursorBackendImpl.cpp:
2233         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
2234         (WebCore::IDBCursorBackendImpl::update):
2235         (WebCore::IDBCursorBackendImpl::updateInternal):
2236         (WebCore::IDBCursorBackendImpl::continueFunction):
2237         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
2238         (WebCore::IDBCursorBackendImpl::remove):
2239         (WebCore::IDBCursorBackendImpl::removeInternal):
2240         * storage/IDBCursorBackendImpl.h:
2241         (WebCore::IDBCursorBackendImpl::create):
2242         * storage/IDBDatabase.cpp:
2243         (WebCore::IDBDatabase::setSetVersionTransaction):
2244         (WebCore::IDBDatabase::createObjectStore):
2245         (WebCore::IDBDatabase::removeObjectStore):
2246         (WebCore::IDBDatabase::setVersion):
2247         (WebCore::IDBDatabase::close):
2248         * storage/IDBDatabase.h:
2249         * storage/IDBDatabase.idl:
2250         * storage/IDBDatabaseBackendImpl.cpp:
2251         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2252         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
2253         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
2254         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal):
2255         (WebCore::IDBDatabaseBackendImpl::setVersion):
2256         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
2257         (WebCore::IDBDatabaseBackendImpl::close):
2258         * storage/IDBDatabaseBackendImpl.h:
2259         * storage/IDBDatabaseBackendInterface.h:
2260         * storage/IDBFactory.cpp:
2261         (WebCore::IDBFactory::open):
2262         * storage/IDBIndex.cpp:
2263         (WebCore::IDBIndex::IDBIndex):
2264         (WebCore::IDBIndex::openObjectCursor):
2265         (WebCore::IDBIndex::openCursor):
2266         (WebCore::IDBIndex::getObject):
2267         (WebCore::IDBIndex::get):
2268         * storage/IDBIndex.h:
2269         (WebCore::IDBIndex::create):
2270         * storage/IDBIndexBackendImpl.cpp:
2271         (WebCore::IDBIndexBackendImpl::openCursorInternal):
2272         (WebCore::IDBIndexBackendImpl::openObjectCursor):
2273         (WebCore::IDBIndexBackendImpl::openCursor):
2274         (WebCore::IDBIndexBackendImpl::getInternal):
2275         (WebCore::IDBIndexBackendImpl::getObject):
2276         (WebCore::IDBIndexBackendImpl::get):
2277         * storage/IDBIndexBackendImpl.h:
2278         * storage/IDBIndexBackendInterface.h:
2279         * storage/IDBKey.cpp:
2280         (WebCore::IDBKey::IDBKey):
2281         * storage/IDBKey.h:
2282         * storage/IDBKeyRange.h:
2283         * storage/IDBObjectStore.cpp:
2284         (WebCore::IDBObjectStore::IDBObjectStore):
2285         (WebCore::IDBObjectStore::add):
2286         (WebCore::IDBObjectStore::put):
2287         (WebCore::IDBObjectStore::remove):
2288         (WebCore::IDBObjectStore::createIndex):
2289         (WebCore::IDBObjectStore::index):
2290         (WebCore::IDBObjectStore::removeIndex):
2291         (WebCore::IDBObjectStore::openCursor):
2292         * storage/IDBObjectStore.idl:
2293         * storage/IDBObjectStoreBackendImpl.cpp:
2294         (WebCore::IDBObjectStoreBackendImpl::get):
2295         (WebCore::IDBObjectStoreBackendImpl::getInternal):
2296         (WebCore::IDBObjectStoreBackendImpl::put):
2297         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2298         (WebCore::IDBObjectStoreBackendImpl::remove):
2299         (WebCore::IDBObjectStoreBackendImpl::removeInternal):
2300         (WebCore::IDBObjectStoreBackendImpl::createIndex):
2301         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2302         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
2303         (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
2304         (WebCore::IDBObjectStoreBackendImpl::openCursor):
2305         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
2306         * storage/IDBObjectStoreBackendImpl.h:
2307         * storage/IDBObjectStoreBackendInterface.h:
2308         * storage/IDBRequest.cpp:
2309         (WebCore::IDBRequest::IDBRequest):
2310         (WebCore::IDBRequest::resetReadyState):
2311         (WebCore::IDBRequest::onSuccess):
2312         (WebCore::IDBRequest::timerFired):
2313         * storage/IDBRequest.h:
2314         (WebCore::IDBRequest::create):
2315         * storage/IDBTransactionBackendImpl.cpp:
2316         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2317         (WebCore::IDBTransactionBackendImpl::scheduleTask):
2318         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
2319         (WebCore::IDBTransactionBackendImpl::run):
2320         (WebCore::IDBTransactionBackendImpl::start):
2321         (WebCore::IDBTransactionBackendImpl::commit):
2322         (WebCore::IDBTransactionBackendImpl::timerFired):
2323         * storage/IDBTransactionBackendImpl.h:
2324
2325 2010-09-30  Csaba Osztrogonác  <ossy@webkit.org>
2326
2327         Reviewed by Martin Robinson.
2328
2329         [Gtk] build still broken since r68521
2330         https://bugs.webkit.org/show_bug.cgi?id=46795
2331
2332         makevalues.pl and makeprop.pl generate 3 files in one run.
2333         Double or triple target is incorrect, because on a multicore
2334         machine make processes targets in parallel.
2335
2336         Setting a->b->c dependencies for 3 generated files guarantees
2337         that make doesn't execute the recipe of the rule more than one.
2338
2339         * GNUmakefile.am: Dependencies and missing headers added.
2340
2341 2010-09-30  Andrey Kosyakov  <caseq@chromium.org>
2342
2343         Unreviewed build fix (marked ResourceRawHeaders.h as private)
2344
2345         * WebCore.xcodeproj/project.pbxproj:
2346
2347 2010-09-29  Andrey Kosyakov  <caseq@chromium.org>
2348
2349         Reviewed by Pavel Feldman.
2350
2351         Web Inspector: display headers actually used by network stack in Resources tab
2352         https://bugs.webkit.org/show_bug.cgi?id=46092
2353
2354         * GNUmakefile.am:
2355         * WebCore.gypi:
2356         * WebCore.pro:
2357         * WebCore.vcproj/WebCore.vcproj:
2358         * inspector/InspectorController.cpp:
2359         (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
2360         * inspector/InspectorResource.cpp:
2361         (WebCore::InspectorResource::updateResponse):
2362         * platform/network/ResourceRawHeaders.h: Added.
2363         * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
2364         (WebCore::ResourceRequestBase::reportRawHeaders):
2365         (WebCore::ResourceRequestBase::setReportRawHeaders):
2366         (WebCore::ResourceRequestBase::ResourceRequestBase):
2367         * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
2368         (WebCore::ResourceResponseBase::resourceRawHeaders):
2369         (WebCore::ResourceResponseBase::setResourceRawHeaders):
2370         * platform/network/ResourceResponseBase.h:
2371
2372 2010-09-29  Andrey Kosyakov  <caseq@chromium.org>
2373
2374         Reviewed by Pavel Feldman.
2375
2376         Web Inspector: display headers actually used by network stack in Resources tab
2377         https://bugs.webkit.org/show_bug.cgi?id=46092
2378
2379         * GNUmakefile.am:
2380         * WebCore.gypi:
2381         * WebCore.pro:
2382         * WebCore.vcproj/WebCore.vcproj:
2383         * inspector/InspectorController.cpp:
2384         (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible.
2385         * inspector/InspectorResource.cpp:
2386         (WebCore::InspectorResource::updateResponse):
2387         * platform/network/ResourceRawHeaders.h: Added.
2388         * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting.
2389         (WebCore::ResourceRequestBase::reportRawHeaders):
2390         (WebCore::ResourceRequestBase::setReportRawHeaders):
2391         (WebCore::ResourceRequestBase::ResourceRequestBase):
2392         * platform/network/ResourceResponseBase.cpp: Added support for raw headers.
2393         (WebCore::ResourceResponseBase::resourceRawHeaders):
2394         (WebCore::ResourceResponseBase::setResourceRawHeaders):
2395         * platform/network/ResourceResponseBase.h:
2396
2397 2010-09-30  Andreas Kling  <andreas.kling@nokia.com>
2398
2399         Reviewed by Tor Arne Vestbø.
2400
2401         [Qt] V8 port: Unbreak build
2402
2403         Add missing <wtf/text/CString.h> include.
2404
2405         * loader/PingLoader.cpp:
2406
2407 2010-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
2408
2409         Reviewed by Pavel Feldman.
2410
2411         Web Inspector: assign the resource loading finish time which was obtained from the network stack
2412         as the end time for the corresponding event in Timeline.
2413         See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664
2414
2415         https://bugs.webkit.org/show_bug.cgi?id=46789
2416
2417         * inspector/InspectorController.cpp:
2418         (WebCore::InspectorController::didFinishLoading):
2419         (WebCore::InspectorController::didFailLoading):
2420         * inspector/InspectorTimelineAgent.cpp:
2421         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2422         * inspector/InspectorTimelineAgent.h:
2423
2424 2010-09-29  Pavel Feldman  <pfeldman@chromium.org>
2425
2426         Reviewed by Timothy Hatcher.
2427
2428         Web Inspector: implement sorting by timeline in network panel + filtering.
2429         https://bugs.webkit.org/show_bug.cgi?id=45657
2430
2431         A number of drive-by fixes, sorting by timeline added,
2432         0-based timeline for duration added, filters added,
2433         more love for detailed view + nice headers.
2434
2435         * English.lproj/localizedStrings.js:
2436         * inspector/front-end/DataGrid.js:
2437         (WebInspector.DataGrid):
2438         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
2439         (WebInspector.DataGrid.prototype.headerTableHeader):
2440         * inspector/front-end/NetworkPanel.js:
2441         (WebInspector.NetworkPanel):
2442         (WebInspector.NetworkPanel.prototype.get statusBarItems):
2443         (WebInspector.NetworkPanel.prototype._createTable):
2444         (WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML):
2445         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
2446         (WebInspector.NetworkPanel.prototype._sortByTimeline):
2447         (WebInspector.NetworkPanel.prototype._sortItems):
2448         (WebInspector.NetworkPanel.prototype._createFilterPanel):
2449         (WebInspector.NetworkPanel.prototype._showCategory):
2450         (WebInspector.NetworkPanel.prototype._hideCategory):
2451         (WebInspector.NetworkPanel.prototype._updateFilter):
2452         (WebInspector.NetworkPanel.prototype._filter):
2453         (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded):
2454         (WebInspector.NetworkPanel.prototype.reset):
2455         (WebInspector.NetworkPanel.prototype._setLargerResources):
2456         (WebInspector.NetworkDataGridNode.prototype.createCells):
2457         (WebInspector.NetworkDataGridNode.prototype._createDivInTD):
2458         (WebInspector.NetworkDataGridNode.prototype._refreshURLCell):
2459         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
2460         (WebInspector.NetworkDataGridNode.prototype._appendSubtitle):
2461         (WebInspector.NetworkDataGridNode.SizeComparator):
2462         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
2463         * inspector/front-end/ProfilesPanel.js:
2464         (WebInspector.ProfilesPanel):
2465         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
2466         * inspector/front-end/StoragePanel.js:
2467         (WebInspector.StoragePanel):
2468         * inspector/front-end/TimelineGrid.js:
2469         (WebInspector.TimelineGrid.prototype.updateDividers):
2470         * inspector/front-end/TimelineOverviewPane.js:
2471         (WebInspector.TimelineOverviewPane):
2472         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
2473         * inspector/front-end/inspector.css:
2474         (.data-grid th.sort-ascending > div::after):
2475         (.data-grid th.sort-descending > div::after):
2476         (.status-bar-items):
2477         * inspector/front-end/networkPanel.css:
2478         (.network.panel .data-grid td):
2479         (.network.panel .data-grid th):
2480         (.network.panel .data-grid.small th):
2481         (.network.panel .data-grid .data-container):
2482         (.network.panel .data-grid.small .data-container):
2483         (.network.panel .data-grid select):
2484         (.network.panel .data-grid td.time-column):
2485         (.network-cell-subtitle):
2486         (.network-header-subtitle):
2487         (.network-event-divider):
2488         (.network.panel .network-timeline-grid.small .network-event-divider):
2489         (.network.panel .resources-dividers-label-bar):
2490         (.network.panel .network-timeline-grid.small .resources-dividers-label-bar):
2491         (.network.panel .resources-divider-label):
2492         (.network.panel .resources-dividers-label-bar .resources-divider):
2493         (.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider):
2494         (.network.panel .resources-divider.first .resources-divider-label):
2495         (.network.panel .resources-dividers-label-bar .resources-divider.first):
2496         (#network-filter):
2497         (.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other):
2498         (.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other):
2499
2500 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2501
2502         Reviewed by Simon Hausmann.
2503
2504         [Qt] Ensure we always report a valid size for the video
2505
2506         Some QtMultimedia-backends require a paint before even giving us
2507         a size, so we start out by using the default video size, and then
2508         update it once QtMultimedia starts feeding us valid sizes.
2509
2510         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2511         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
2512         (WebCore::MediaPlayerPrivateQt::nativeSizeChanged):
2513         (WebCore::MediaPlayerPrivateQt::setSize):
2514         (WebCore::MediaPlayerPrivateQt::naturalSize):
2515         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2516
2517 2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
2518
2519         Reviewed by Andreas Kling.
2520
2521         RenderSVGTextPath lacks isSVGTextPath() method
2522         https://bugs.webkit.org/show_bug.cgi?id=46888
2523
2524         Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have.
2525
2526         * rendering/RenderObject.h:
2527         (WebCore::RenderObject::isSVGTextPath): Return false.
2528         * rendering/RenderSVGTextPath.h: Changed indentation of whole file.
2529         (WebCore::RenderSVGTextPath::isSVGTextPath): Return true.
2530         (WebCore::RenderSVGTextPath::renderName):
2531         (WebCore::toRenderSVGTextPath): Add helper casting methods.
2532
2533 2010-09-30  Nikolas Zimmermann  <nzimmermann@rim.com>
2534
2535         Reviewed by Dirk Schulze.
2536
2537         AffineTransform should expose methods calculating the x/y scale factors
2538         https://bugs.webkit.org/show_bug.cgi?id=46887
2539
2540         Expose methods calculating the x/y scale factors for an AffineTransform. 
2541
2542         * platform/graphics/transforms/AffineTransform.cpp:
2543         (WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions.
2544         (WebCore::AffineTransform::xScale):
2545         (WebCore::AffineTransform::yScale):
2546         * platform/graphics/transforms/AffineTransform.h:
2547
2548 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2549
2550         Reviewed by Simon Hausmann.
2551
2552         [Qt] Ensure that the media player backend does not leave any resources around
2553
2554         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2555         (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt):
2556
2557 2010-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2558
2559         Reviewed by Simon Hausmann.
2560
2561         Minor cleanup of MediaPlayerPrivateQt
2562
2563         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2564         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
2565         (WebCore::MediaPlayerPrivateQt::currentTime):
2566         (WebCore::MediaPlayerPrivateQt::positionChanged):
2567         (WebCore::MediaPlayerPrivateQt::paint):
2568
2569 2010-09-30  Jochen Eisinger  <jochen@chromium.org>
2570
2571         Reviewed by Jeremy Orlow.
2572
2573         Mark unused parameters as such.
2574         https://bugs.webkit.org/show_bug.cgi?id=46880
2575
2576         * inspector/InspectorDOMAgent.cpp:
2577         * page/Geolocation.cpp:
2578         (WebCore::Geolocation::clearWatch):
2579
2580 2010-09-29  Pavel Podivilov  <podivilov@chromium.org>
2581
2582         Reviewed by Pavel Feldman.
2583
2584         Web Inspector: extract Inspector Instrumentation API as a class.
2585         https://bugs.webkit.org/show_bug.cgi?id=46614
2586
2587         * CMakeLists.txt:
2588         * GNUmakefile.am:
2589         * WebCore.gypi:
2590         * WebCore.pro:
2591         * WebCore.vcproj/WebCore.vcproj:
2592         * WebCore.xcodeproj/project.pbxproj:
2593         * bindings/js/JSXMLHttpRequestCustom.cpp:
2594         (WebCore::JSXMLHttpRequest::send):
2595         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2596         (WebCore::V8XMLHttpRequest::sendCallback):
2597         * dom/CharacterData.cpp:
2598         (WebCore::CharacterData::dispatchModifiedEvent):
2599         * dom/ContainerNode.cpp:
2600         (WebCore::ContainerNode::insertBefore):
2601         (WebCore::ContainerNode::parserInsertBefore):
2602         (WebCore::ContainerNode::replaceChild):
2603         (WebCore::ContainerNode::appendChild):
2604         (WebCore::ContainerNode::parserAddChild):
2605         (WebCore::notifyChildInserted):
2606         (WebCore::dispatchChildRemovalEvents):
2607         * dom/Element.cpp:
2608         (WebCore::Element::setAttribute):
2609         (WebCore::Element::removeAttribute):
2610         * inspector/InspectorController.cpp:
2611         (WebCore::InspectorController::InspectorController):
2612         (WebCore::InspectorController::~InspectorController):
2613         (WebCore::InspectorController::connectFrontend):
2614         (WebCore::InspectorController::disconnectFrontend):
2615         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
2616         * inspector/InspectorController.h:
2617         * inspector/InspectorInstrumentation.cpp: Added.
2618         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2619         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2620         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2621         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2622         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2623         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
2624         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
2625         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
2626         * inspector/InspectorInstrumentation.h: Added.
2627         (WebCore::InspectorInstrumentation::frontendCreated):
2628         (WebCore::InspectorInstrumentation::frontendDeleted):
2629         (WebCore::InspectorInstrumentation::hasFrontends):
2630         (WebCore::InspectorInstrumentation::willInsertDOMNode):
2631         (WebCore::InspectorInstrumentation::didInsertDOMNode):
2632         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
2633         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
2634         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
2635         (WebCore::InspectorInstrumentation::characterDataModified):
2636         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
2637         (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
2638         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
2639         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
2640         * workers/SharedWorker.cpp:
2641
2642 2010-09-30  Kwang Yul Seo  <skyul@company100.net>
2643
2644         Reviewed by Darin Adler.
2645
2646         Build fix: Add ENABLE(INSPECTOR) guard
2647         https://bugs.webkit.org/show_bug.cgi?id=46852
2648
2649         Page does not have inspectorController() when ENABLE(INSPECTOR) is 0.
2650
2651         * inspector/InspectorController.h:
2652         (WebCore::InspectorController::inspectorControllerForDocument):
2653
2654 2010-09-30  Michael Nordman  <michaeln@google.com>
2655
2656         Reviewed by David Levin.
2657
2658         Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse
2659         across threads and to compare platform specific data members of ResourceRequest.
2660         - Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData.
2661         - Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method
2662           is already present on ResourceResponseBase.
2663         - Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base
2664           classes and extended those base classes in the platform specific headers to provide a place
2665           to hold additional fields.
2666         - Used this mechanism to have the chromium port's data members make the hop.
2667         https://bugs.webkit.org/show_bug.cgi?id=46430
2668
2669         No new tests. Just plumbing.
2670
2671         * WebCore.exp.in: removed the symbol for the now inlined == operator
2672         * WebCore.gypi: added chromium/ResourceResponse.cpp
2673         * platform/network/ResourceRequestBase.cpp:
2674         (WebCore::ResourceRequestBase::adopt):
2675         (WebCore::ResourceRequestBase::copyData):
2676         (WebCore::ResourceRequestBase::compare):
2677         * platform/network/ResourceRequestBase.h:
2678         (WebCore::ResourceRequestBase::platformCompare):
2679         (WebCore::operator==):
2680         (WebCore::operator!=):
2681         * platform/network/ResourceResponseBase.cpp:
2682         (WebCore::ResourceResponseBase::asResourceResponse):
2683         (WebCore::ResourceResponseBase::adopt):
2684         (WebCore::ResourceResponseBase::copyData):
2685         * platform/network/ResourceResponseBase.h:
2686         * platform/network/android/ResourceRequest.h:
2687         (WebCore::ResourceRequest::doPlatformCopyData):
2688         (WebCore::ResourceRequest::doPlatformAdopt):
2689         * platform/network/android/ResourceResponse.h:
2690         (WebCore::ResourceResponse::doPlatformCopyData):
2691         (WebCore::ResourceResponse::doPlatformAdopt):
2692         * platform/network/cf/ResourceRequest.h:
2693         (WebCore::ResourceRequest::doPlatformCopyData):
2694         (WebCore::ResourceRequest::doPlatformAdopt):
2695         * platform/network/cf/ResourceResponse.h:
2696         (WebCore::ResourceResponse::doPlatformCopyData):
2697         (WebCore::ResourceResponse::doPlatformAdopt):
2698         * platform/network/chromium/ResourceRequest.cpp:
2699         (WebCore::ResourceRequest::doPlatformCopyData):
2700         (WebCore::ResourceRequest::doPlatformAdopt):
2701         * platform/network/chromium/ResourceRequest.h:
2702         * platform/network/chromium/ResourceResponse.cpp: Added.
2703         (WebCore::ResourceResponse::doPlatformCopyData):
2704         (WebCore::ResourceResponse::doPlatformAdopt):
2705         * platform/network/chromium/ResourceResponse.h:
2706         * platform/network/curl/ResourceRequest.h:
2707         (WebCore::ResourceRequest::doPlatformCopyData):
2708         (WebCore::ResourceRequest::doPlatformAdopt):
2709         * platform/network/curl/ResourceResponse.h:
2710         (WebCore::ResourceResponse::doPlatformCopyData):
2711         (WebCore::ResourceResponse::doPlatformAdopt):
2712         * platform/network/mac/ResourceRequest.h:
2713         (WebCore::ResourceRequest::doPlatformCopyData):
2714         (WebCore::ResourceRequest::doPlatformAdopt):
2715         * platform/network/mac/ResourceResponse.h:
2716         (WebCore::ResourceResponse::doPlatformCopyData):
2717         (WebCore::ResourceResponse::doPlatformAdopt):
2718         * platform/network/qt/ResourceRequest.h:
2719         (WebCore::ResourceRequest::doPlatformCopyData):
2720         (WebCore::ResourceRequest::doPlatformAdopt):
2721         * platform/network/qt/ResourceResponse.h:
2722         (WebCore::ResourceResponse::doPlatformCopyData):
2723         (WebCore::ResourceResponse::doPlatformAdopt):
2724         * platform/network/soup/ResourceRequest.h:
2725         (WebCore::ResourceRequest::doPlatformCopyData):
2726         (WebCore::ResourceRequest::doPlatformAdopt):
2727         * platform/network/soup/ResourceResponse.h:
2728         (WebCore::ResourceResponse::doUpdateResourceResponse):
2729         (WebCore::ResourceResponse::doPlatformCopyData):
2730         (WebCore::ResourceResponse::doPlatformAdopt):
2731
2732 2010-09-29  Chris Rogers  <crogers@google.com>
2733
2734         Reviewed by Kenneth Russell.
2735
2736         Put default initialize() and uninitialize() methods in AudioNode
2737         https://bugs.webkit.org/show_bug.cgi?id=46767
2738
2739         No new tests since audio API is not yet implemented.
2740
2741         * webaudio/AudioNode.cpp:
2742         (WebCore::AudioNode::initialize):
2743         (WebCore::AudioNode::uninitialize):
2744         * webaudio/AudioNode.h:
2745
2746 2010-09-29  Kent Tamura  <tkent@chromium.org>
2747
2748         Reviewed by Dimitri Glazkov.
2749
2750         Refactor HTMLInputElement: Make DeprecatedInputType private.
2751         https://bugs.webkit.org/show_bug.cgi?id=46791
2752
2753         No new tests because this doesn't change any behavior.
2754
2755         * html/HTMLInputElement.cpp:
2756         (WebCore::HTMLInputElement::createTypeMap):
2757         * html/HTMLInputElement.h:
2758          Move DeprecatedInputType, deprecatedInputType() and
2759          parseToDateComponents() to the private section, make
2760          createTypeMap() a member function of HTMLInputElement.
2761         (WebCore::HTMLInputElement::deprecatedInputType):
2762
2763 2010-09-29  Mihai Parparita  <mihaip@chromium.org>
2764
2765         Reviewed by Darin Fisher.
2766
2767         REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes
2768         https://bugs.webkit.org/show_bug.cgi?id=46324
2769         
2770         Revert same document check to the way it was before r66238 for history
2771         entries created by pushState or fragment changes. Logic fror determining
2772         if same document navigation should be used is moved to HistoryItem.
2773
2774         Tests: fast/history/same-document-iframes-changing-fragment.html
2775                fast/history/same-document-iframes-changing-pushstate.html
2776
2777         * history/HistoryItem.cpp:
2778         (WebCore::HistoryItem::shouldDoSameDocumentNavigationTo):
2779         (WebCore::HistoryItem::hasSameDocumentTree):
2780         (WebCore::HistoryItem::hasSameFrames):
2781         * history/HistoryItem.h:
2782         * loader/FrameLoader.cpp:
2783         (WebCore::FrameLoader::loadItem):
2784
2785         * loader/FrameLoader.cpp:
2786         (WebCore::FrameLoader::loadItem):
2787
2788 2010-09-29  MORITA Hajime  <morrita@google.com>
2789
2790         Unreviewed build fix.
2791         
2792         WebCore::ESpeak causes missing symbol with no ENABLE_SVG
2793         https://bugs.webkit.org/show_bug.cgi?id=46865
2794
2795         Moves ESpeak related function definitions outside ENABLE_SVG block.
2796
2797         * css/CSSPrimitiveValueMappings.h:
2798         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2799         (WebCore::CSSPrimitiveValue::operator ESpeak):
2800         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
2801
2802 2010-09-29  Chris Rogers  <crogers@google.com>
2803
2804         Reviewed by Kenneth Russell.
2805
2806         Add AudioChannelSplitter files
2807         https://bugs.webkit.org/show_bug.cgi?id=46290
2808
2809         No new tests since audio API is not yet implemented.
2810
2811         * webaudio/AudioChannelSplitter.cpp: Added.
2812         (WebCore::AudioChannelSplitter::AudioChannelSplitter):
2813         (WebCore::AudioChannelSplitter::process):
2814         (WebCore::AudioChannelSplitter::reset):
2815         * webaudio/AudioChannelSplitter.h: Added.
2816         (WebCore::AudioChannelSplitter::create):
2817         * webaudio/AudioChannelSplitter.idl: Added.
2818
2819 2010-09-29  Kinuko Yasuda  <kinuko@chromium.org>
2820
2821         Reviewed by David Levin.
2822
2823         Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries
2824         https://bugs.webkit.org/show_bug.cgi?id=46563
2825
2826         Test: fast/filesystem/read-directory.html
2827
2828         * fileapi/DOMFileSystem.cpp:
2829         (WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader
2830         as a parameter.
2831         * fileapi/DOMFileSystem.h:
2832         (WebCore::DOMFileSystem::scheduleCallback): Added.
2833         * fileapi/DirectoryReader.cpp:
2834         (WebCore::DirectoryReader::DirectoryReader): Added initializer for
2835         m_hasMore flag.
2836         (WebCore::DirectoryReader::readEntries): Changed to schedule
2837         EntriesCallback with an empty array if m_hasMore flag is set false.
2838         * fileapi/DirectoryReader.h:
2839         (WebCore::DirectoryReader::filesystem): Added.
2840         (WebCore::DirectoryReader::setHasMore): Added.
2841         * fileapi/FileSystemCallbacks.cpp:
2842         (WebCore::EntriesCallbacks::create):
2843         (WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take
2844         DirectoryReader as a parameter.
2845         (WebCore::EntriesCallbacks::didReadDirectoryEntry):
2846         (WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to
2847         trigger the second callback when hasMore is false, and 2) to update
2848         the DirectoryReader's m_hasMore flag.
2849         * fileapi/FileSystemCallbacks.h:
2850
2851 2010-09-29  Chris Rogers  <crogers@google.com>
2852
2853         Reviewed by Kenneth Russell.
2854
2855         Add AudioGainNode files
2856         https://bugs.webkit.org/show_bug.cgi?id=46286
2857
2858         No new tests since audio API is not yet implemented.
2859
2860         * webaudio/AudioGainNode.cpp: Added.
2861         (WebCore::AudioGainNode::AudioGainNode):
2862         (WebCore::AudioGainNode::process):
2863         (WebCore::AudioGainNode::reset):
2864         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
2865         * webaudio/AudioGainNode.h: Added.
2866         (WebCore::AudioGainNode::create):
2867         (WebCore::AudioGainNode::gain):
2868         * webaudio/AudioGainNode.idl: Added.
2869
2870 2010-09-29  Chris Rogers  <crogers@google.com>
2871
2872         Reviewed by Kenneth Russell.
2873
2874         Add AudioChannelMerger files
2875         https://bugs.webkit.org/show_bug.cgi?id=46291
2876
2877         No new tests since audio API is not yet implemented.
2878
2879         * webaudio/AudioChannelMerger.cpp: Added.
2880         (WebCore::AudioChannelMerger::AudioChannelMerger):
2881         (WebCore::AudioChannelMerger::process):
2882         (WebCore::AudioChannelMerger::reset):
2883         * webaudio/AudioChannelMerger.h: Added.
2884         (WebCore::AudioChannelMerger::create):
2885         * webaudio/AudioChannelMerger.idl: Added.
2886
2887 2010-09-29  Chris Fleizach  <cfleizach@apple.com>
2888
2889         No review. Missed file for patch.
2890
2891         AX: implement CSS3 Speech "speak"
2892         https://bugs.webkit.org/show_bug.cgi?id=46827
2893
2894         * css/CSSParser.cpp:
2895         (WebCore::CSSParser::parseValue):
2896
2897 2010-09-29  Enrica Casucci  <enrica@apple.com>
2898
2899         Reviewed by Darin Adler.
2900
2901         Crash at lineBreakExistsAtPosition + 125
2902         <rdar://problem/7028809> 
2903         https://bugs.webkit.org/show_bug.cgi?id=46770
2904         
2905         lineBreakExistsAtPosition is called from InsertTextCommand::input,
2906         where we compute the downstream position of the endingSelection().
2907         Downstream can return the original position, that comes from a VisibleSelection
2908         but there is no guarantee that its renderer is still there. Everywhere we dereference
2909         a renderer we check if it's null.
2910         
2911         There is no regression test.
2912         
2913         * editing/htmlediting.cpp:
2914         (WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null
2915         before dereferencing it.
2916
2917 2010-09-29  Sam Weinig  <sam@webkit.org>
2918
2919         Reviewed by Darin Adler.
2920
2921         Add additional checks to StringBuilder.
2922         <rdar://problem/7761248>
2923
2924         * platform/text/StringBuilder.cpp:
2925         (WebCore::checkAppend):
2926         (WebCore::StringBuilder::append):
2927         (WebCore::StringBuilder::toString):
2928         (WebCore::StringBuilder::clear):
2929         (WebCore::StringBuilder::length):
2930         * platform/text/StringBuilder.h:
2931         (WebCore::StringBuilder::StringBuilder):
2932         (WebCore::StringBuilder::setNonNull):
2933         (WebCore::StringBuilder::isNull):
2934
2935 2010-09-29  Anders Carlsson  <andersca@apple.com>
2936
2937         Reviewed by Darin Adler.
2938
2939         plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown
2940         https://bugs.webkit.org/show_bug.cgi?id=46715
2941         <rdar://problem/8485909>
2942
2943         Remove exclamation points from exceptions.
2944
2945         * bindings/v8/V8NPObject.cpp:
2946         (WebCore::npObjectInvokeImpl):
2947         * bridge/c/c_instance.cpp:
2948         (JSC::Bindings::CInstance::invokeMethod):
2949         (JSC::Bindings::CInstance::invokeDefaultMethod):
2950         (JSC::Bindings::CInstance::invokeConstruct):
2951
2952 2010-09-29  Anders Carlsson  <andersca@apple.com>
2953
2954         Reviewed by Darin Adler.
2955
2956         Add additional check to Text::wholeText.
2957         <rdar://problem/8304795>
2958
2959         * dom/Text.cpp:
2960         (WebCore::Text::wholeText):
2961
2962 2010-09-29  Brian Weinstein  <bweinstein@apple.com>
2963
2964         Reviewed by Brady Eidson.
2965
2966         REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled
2967         <https://bugs.webkit.org/show_bug.cgi?id=46773>
2968         <rdar://problem/8390975>
2969         
2970         After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin
2971         document could cause Safari to crash.
2972         
2973         If a plugin load on an initial document is cancelled, we cancel the main resource load (where the
2974         main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual
2975         loading path like we do on the initial load of a plugin in a plugin document.
2976
2977         Tests: plugins/plugin-document-load-prevented-userscript.html
2978                plugins/plugin-document-willSendRequest-null.html
2979
2980         * html/HTMLEmbedElement.cpp:
2981         (WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a
2982             plugin document, call a function on PluginDocument that cancels the main resource load, and
2983             sets a plugin document flag.
2984         * html/PluginDocument.cpp:
2985         (WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be
2986             null if the load was cancelled.
2987         (WebCore::PluginDocument::PluginDocument): Initialize the new variable.
2988         (WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document
2989             (which is a plugin in the case of a plugin document).
2990         * html/PluginDocument.h:
2991         (WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin
2992             manually.
2993         (WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin
2994             manually.
2995         (WebCore::toPluginDocument):
2996         * loader/SubframeLoader.cpp:
2997         (WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin
2998             document.
2999
3000 2010-09-29  David Hyatt  <hyatt@apple.com>
3001
3002         Reviewed by Sam Weinig.
3003
3004         https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition
3005         block-flow-aware.
3006
3007         * rendering/RenderBlock.cpp:
3008         (WebCore::RenderBlock::estimateLogicalTopPosition):
3009         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
3010         (WebCore::RenderBlock::collapsedMarginAfterForChild):
3011         * rendering/RenderBlock.h:
3012
3013 2010-09-29  Chris Rogers  <crogers@google.com>
3014
3015         Reviewed by Kenneth Russell.
3016
3017         Minor cleanup to AudioContext
3018         https://bugs.webkit.org/show_bug.cgi?id=46843
3019
3020         No new tests since audio API is not yet implemented
3021
3022         * webaudio/AudioContext.cpp:
3023         (WebCore::AudioContext::lock):
3024         (WebCore::AudioContext::handleDeferredFinishDerefs):
3025
3026 2010-09-29  MORITA Hajime  <morrita@google.com>
3027
3028         Reviewed by Eric Seidel.
3029
3030         Assertion failed when accessing -webkit-margin-top-collapse via computed style.
3031         https://bugs.webkit.org/show_bug.cgi?id=46798
3032         
3033         There was a switch statement which missed enum entries in getPropertyCSSValue().
3034         This change added these entries to prevent the leak.
3035         It also added extra case statements to encourage the compiler's help.
3036
3037         Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html
3038
3039         * css/CSSComputedStyleDeclaration.cpp:
3040         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3041
3042 2010-09-29  Chris Rogers  <crogers@google.com>
3043
3044         Reviewed by Kenneth Russell.
3045
3046         Limit number of AudioNode deletions per render quantum in AudioContext
3047         https://bugs.webkit.org/show_bug.cgi?id=46834
3048
3049         No new tests since audio API is not yet implemented.
3050
3051         * webaudio/AudioContext.cpp:
3052         (WebCore::AudioContext::handlePostRenderTasks):
3053         (WebCore::AudioContext::deleteMarkedNodes):
3054
3055 2010-09-29  David Hyatt  <hyatt@apple.com>
3056
3057         Reviewed by Simon Fraser.
3058
3059         https://bugs.webkit.org/show_bug.cgi?id=46838
3060         
3061         Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox.  I'm inverting the way these are called
3062         and putting the methods on RenderBlock instead.  The methods can be named better this way and the getters
3063         can operate on RenderBoxModelObjects instead of just RenderBoxes.
3064
3065         * rendering/RenderBlock.cpp:
3066         (WebCore::RenderBlock::layoutBlockChild):
3067         (WebCore::RenderBlock::marginBeforeForChild):
3068         (WebCore::RenderBlock::marginAfterForChild):
3069         (WebCore::RenderBlock::marginStartForChild):
3070         (WebCore::RenderBlock::marginEndForChild):
3071         (WebCore::RenderBlock::setMarginStartForChild):
3072         (WebCore::RenderBlock::setMarginEndForChild):
3073         (WebCore::RenderBlock::setMarginBeforeForChild):
3074         (WebCore::RenderBlock::setMarginAfterForChild):
3075         * rendering/RenderBlock.h:
3076         (WebCore::RenderBlock::logicalHeightForChild):
3077         (WebCore::RenderBlock::logicalTopForChild):
3078         * rendering/RenderBox.cpp:
3079         (WebCore::RenderBox::marginBefore):
3080         (WebCore::RenderBox::marginAfter):
3081         (WebCore::RenderBox::marginStart):
3082         (WebCore::RenderBox::marginEnd):
3083         (WebCore::RenderBox::setMarginStart):
3084         (WebCore::RenderBox::setMarginEnd):
3085         (WebCore::RenderBox::setMarginBefore):
3086         (WebCore::RenderBox::setMarginAfter):
3087         (WebCore::RenderBox::computeLogicalWidth):
3088         (WebCore::RenderBox::computeInlineDirectionMargins):
3089         (WebCore::RenderBox::computeBlockDirectionMargins):
3090         * rendering/RenderBox.h:
3091         (WebCore::RenderBox::setMarginTop):
3092         (WebCore::RenderBox::setMarginBottom):
3093         (WebCore::RenderBox::setMarginLeft):
3094         (WebCore::RenderBox::setMarginRight):
3095
3096 2010-09-29  Dan Bernstein  <mitz@apple.com>
3097
3098         Reviewed by Sam Weinig.
3099
3100         Removed input type site-specific quirk for mail.google.com
3101         https://bugs.webkit.org/show_bug.cgi?id=46836
3102
3103         * bindings/js/JSHTMLInputElementCustom.cpp:
3104         (WebCore::needsGmailQuirk): Removed.
3105         (WebCore::JSHTMLInputElement::type): Removed this custom getter. 
3106         * html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute
3107         from the type attribute.
3108
3109 2010-09-29  Joseph Pecoraro  <joepeck@webkit.org>
3110
3111         Reviewed by Simon Fraser.
3112
3113         CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
3114         https://bugs.webkit.org/show_bug.cgi?id=46777
3115
3116         It should not be possible to get to be in the LoadingFromSourceElement
3117         state with a null current source node. This was a possible scenario
3118         where the current source node was cleared but the load state was not
3119         cleared as well. Tried and could not create a test case for this.
3120
3121         * html/HTMLMediaElement.cpp:
3122         (WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node.
3123
3124 2010-09-29  David Hyatt  <hyatt@apple.com>
3125
3126         Reviewed by Dan Bernstein.
3127
3128         https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights.  Rename stretchesToViewHeight.
3129
3130         * page/FrameView.cpp:
3131         (WebCore::FrameView::layout):
3132         * rendering/RenderBlock.cpp:
3133         (WebCore::RenderBlock::layoutBlock):
3134         * rendering/RenderBlockLineLayout.cpp:
3135         (WebCore::RenderBlock::layoutInlineChildren):
3136         * rendering/RenderBox.cpp:
3137         (WebCore::RenderBox::computeLogicalHeight):
3138         * rendering/RenderBox.h:
3139         (WebCore::RenderBox::stretchesToViewport):
3140         * rendering/RenderBoxModelObject.cpp:
3141         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
3142
3143 2010-09-29  Chris Fleizach  <cfleizach@apple.com>
3144
3145         Reviewed by Darin Adler.
3146
3147         AX: implement CSS3 Speech "speak"
3148         https://bugs.webkit.org/show_bug.cgi?id=46827
3149
3150         Support the "speak" style as defined in
3151         http://www.w3.org/TR/css3-speech/#speak
3152
3153         This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet.
3154
3155         Test: platform/mac/accessibility/css-speech-speak.html
3156
3157         * accessibility/AccessibilityObject.h:
3158         (WebCore::AccessibilityObject::speakProperty):
3159         * accessibility/AccessibilityRenderObject.cpp:
3160         (WebCore::AccessibilityRenderObject::speakProperty):
3161         * accessibility/AccessibilityRenderObject.h:
3162         * accessibility/mac/AccessibilityObjectWrapper.mm:
3163         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3164         * css/CSSComputedStyleDeclaration.cpp:
3165         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3166         * css/CSSPrimitiveValueMappings.h:
3167         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3168         (WebCore::CSSPrimitiveValue::operator ESpeak):
3169         * css/CSSPropertyNames.in:
3170         * css/CSSStyleSelector.cpp:
3171         (WebCore::CSSStyleSelector::applyProperty):
3172         * css/CSSValueKeywords.in:
3173         * rendering/style/RenderStyle.h:
3174         (WebCore::InheritedFlags::speak):
3175         (WebCore::InheritedFlags::setSpeak):
3176         (WebCore::InheritedFlags::initialSpeak):
3177         * rendering/style/RenderStyleConstants.h:
3178         * rendering/style/StyleRareInheritedData.cpp:
3179         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3180         (WebCore::StyleRareInheritedData::operator==):
3181         * rendering/style/StyleRareInheritedData.h:
3182
3183 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
3184
3185         Reviewed by Antonio Gomes.
3186
3187         [Curl] Fix unused and unitialized warnings.
3188         https://bugs.webkit.org/show_bug.cgi?id=46831
3189
3190         No new tests since no new funcionality has been added.
3191
3192         * platform/network/curl/ResourceHandleCurl.cpp:
3193         (WebCore::allowsAnyHTTPSCertificateHosts):
3194         * platform/network/curl/ResourceHandleManager.cpp:
3195         (WebCore::ResourceHandleManager::ResourceHandleManager):
3196         (WebCore::handleLocalReceiveResponse):
3197         (WebCore::ResourceHandleManager::downloadTimerCallback):
3198         (WebCore::ResourceHandleManager::initializeHandle):
3199
3200 2010-09-29  David Hyatt  <hyatt@apple.com>
3201
3202         Reviewed by Sam Weinig.
3203
3204         https://bugs.webkit.org/show_bug.cgi?id=46824
3205         
3206         Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware.
3207
3208         fast/blockflow/root-lr.html progresses as a result of this change.
3209
3210         * rendering/RenderBlock.cpp:
3211         (WebCore::RenderBlock::estimateLogicalTopPosition):
3212         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
3213         (WebCore::RenderBlock::setLogicalTopForChild):
3214         (WebCore::RenderBlock::layoutBlockChild):
3215         * rendering/RenderBlock.h:
3216         (WebCore::RenderBlock::logicalHeightForChild):
3217         (WebCore::RenderBlock::logicalTopForChild):
3218         * rendering/RenderBox.h:
3219
3220 2010-09-29  Ryosuke Niwa  <rniwa@webkit.org>
3221
3222         Reviewed by Antonio Gomes.
3223
3224         queryCommandValue "formatBlock" always returns false
3225         https://bugs.webkit.org/show_bug.cgi?id=21305
3226
3227         Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly
3228         because Firefox and Internet Explorer support the same set of elements
3229         (address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera.
3230         See the bug for the detailed discussion.
3231
3232         WebKit's implementation returns the local name of the lowest common ancestor
3233         of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p.
3234         It returns "" when there is no such an ancestor or there is no selection.
3235
3236         Test: editing/execCommand/query-format-block.html
3237
3238         * editing/Editor.cpp:
3239         (WebCore::isElementForFormatBlockCommand):
3240         (WebCore::Editor::elementForFormatBlockCommand):
3241         * editing/Editor.h:
3242         * editing/EditorCommand.cpp:
3243         (WebCore::valueFormatBlock):
3244         (WebCore::createCommandMap):
3245
3246 2010-09-29  Matt Perry  <mpcomplete@chromium.org>
3247
3248         Reviewed by Darin Fisher.
3249
3250         Remove obsolete registerExtension variants from chromium port.
3251         https://bugs.webkit.org/show_bug.cgi?id=46683
3252
3253         * bindings/v8/V8DOMWindowShell.cpp:
3254         (WebCore::V8DOMWindowShell::createNewContext):
3255         * bindings/v8/V8Proxy.cpp:
3256         (WebCore::V8Proxy::registeredExtensionWithV8):
3257         (WebCore::V8Proxy::registerExtension):
3258         * bindings/v8/V8Proxy.h:
3259
3260 2010-09-29  Martin Robinson  <mrobinson@igalia.com>
3261
3262         Reviewed by Chris Fleizach.
3263
3264         [GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb
3265         https://bugs.webkit.org/show_bug.cgi?id=46822
3266
3267         When parentObjectUnignored returns null in objectAndOffsetUnignored consider that
3268         a failure case. Handle this failure appropriately at all call sites.
3269
3270         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3271         (webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored.
3272         (objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and
3273         return 0 to indicate failure when that happens.
3274         * editing/gtk/SelectionControllerGtk.cpp:
3275         (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure
3276         case of objectAndOffsetUnignored.
3277
3278 2010-09-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3279
3280         Unreviewed, rolling out r68657.
3281         http://trac.webkit.org/changeset/68657
3282         https://bugs.webkit.org/show_bug.cgi?id=46820
3283
3284         reason "Breaks win debug build" (Requested by podivilov on
3285         #webkit).
3286
3287         * CMakeLists.txt:
3288         * GNUmakefile.am:
3289         * WebCore.gypi:
3290         * WebCore.pro:
3291         * WebCore.xcodeproj/project.pbxproj:
3292         * bindings/js/JSXMLHttpRequestCustom.cpp:
3293         (WebCore::JSXMLHttpRequest::send):
3294         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3295         (WebCore::V8XMLHttpRequest::sendCallback):
3296         * dom/CharacterData.cpp:
3297         (WebCore::CharacterData::dispatchModifiedEvent):
3298         * dom/ContainerNode.cpp:
3299         (WebCore::ContainerNode::insertBefore):
3300         (WebCore::ContainerNode::parserInsertBefore):
3301         (WebCore::ContainerNode::replaceChild):
3302         (WebCore::ContainerNode::appendChild):
3303         (WebCore::ContainerNode::parserAddChild):
3304         (WebCore::notifyChildInserted):
3305         (WebCore::dispatchChildRemovalEvents):
3306         * dom/Element.cpp:
3307         (WebCore::Element::setAttribute):
3308         (WebCore::Element::removeAttribute):
3309         * inspector/InspectorController.cpp:
3310         (WebCore::InspectorController::InspectorController):
3311         (WebCore::InspectorController::~InspectorController):
3312         (WebCore::InspectorController::connectFrontend):
3313         (WebCore::InspectorController::disconnectFrontend):
3314         (WebCore::InspectorController::willInsertDOMNodeImpl):
3315         (WebCore::InspectorController::didInsertDOMNodeImpl):
3316         (WebCore::InspectorController::willRemoveDOMNodeImpl):
3317         (WebCore::InspectorController::didRemoveDOMNodeImpl):
3318         (WebCore::InspectorController::willModifyDOMAttrImpl):
3319         (WebCore::InspectorController::didModifyDOMAttrImpl):
3320         (WebCore::InspectorController::characterDataModifiedImpl):
3321         (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl):
3322         * inspector/InspectorController.h:
3323         (WebCore::InspectorController::willInsertDOMNode):
3324         (WebCore::InspectorController::didInsertDOMNode):
3325         (WebCore::InspectorController::willRemoveDOMNode):
3326         (WebCore::InspectorController::willModifyDOMAttr):
3327         (WebCore::InspectorController::didModifyDOMAttr):
3328         (WebCore::InspectorController::characterDataModified):
3329         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
3330         (WebCore::InspectorController::inspectorControllerForScriptExecutionContext):
3331         (WebCore::InspectorController::inspectorControllerForNode):
3332         (WebCore::InspectorController::inspectorControllerForDocument):
3333         * inspector/InspectorInstrumentation.cpp: Removed.
3334         * inspector/InspectorInstrumentation.h: Removed.
3335         * workers/SharedWorker.cpp:
3336
3337 2010-09-29  Xiaomei Ji  <xji@chromium.org>
3338
3339         Reviewed by David Levin.
3340
3341         Performance improvement for FontLinux.
3342         https://bugs.webkit.org/show_bug.cgi?id=46374
3343
3344         Reduce new/delete operations by storing the maximum capacity of the glyph
3345         array and use that value in subsequent HB_ShapeItem calls. (Note that a
3346         call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the
3347         capacity.)
3348
3349         Also be consistent with zero'ing the glyph arrays before calling 
3350         HB_ShapeItem.
3351
3352         There is no functionality changes so no new tests are added.
3353  
3354         * platform/graphics/chromium/FontLinux.cpp:
3355         (WebCore::TextRunWalker::createGlyphArrays):
3356         (WebCore::TextRunWalker::resetGlyphArrays):
3357         (WebCore::TextRunWalker::shapeGlyphs):
3358
3359 2010-09-29  Pavel Podivilov  <podivilov@chromium.org>
3360
3361         Reviewed by Pavel Feldman.
3362
3363         Web Inspector: extract Inspector Instrumentation API as a class.
3364         https://bugs.webkit.org/show_bug.cgi?id=46614
3365
3366         * CMakeLists.txt:
3367         * GNUmakefile.am:
3368         * WebCore.gypi:
3369         * WebCore.pro:
3370         * WebCore.xcodeproj/project.pbxproj:
3371         * bindings/js/JSXMLHttpRequestCustom.cpp:
3372         (WebCore::JSXMLHttpRequest::send):
3373         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3374         (WebCore::V8XMLHttpRequest::sendCallback):
3375         * dom/CharacterData.cpp:
3376         (WebCore::CharacterData::dispatchModifiedEvent):
3377         * dom/ContainerNode.cpp:
3378         (WebCore::ContainerNode::insertBefore):
3379         (WebCore::ContainerNode::parserInsertBefore):
3380         (WebCore::ContainerNode::replaceChild):
3381         (WebCore::ContainerNode::appendChild):
3382         (WebCore::ContainerNode::parserAddChild):
3383         (WebCore::notifyChildInserted):
3384         (WebCore::dispatchChildRemovalEvents):
3385         * dom/Element.cpp:
3386         (WebCore::Element::setAttribute):
3387         (WebCore::Element::removeAttribute):
3388         * inspector/InspectorController.cpp:
3389         (WebCore::InspectorController::InspectorController):
3390         (WebCore::InspectorController::~InspectorController):
3391         (WebCore::InspectorController::connectFrontend):
3392         (WebCore::InspectorController::disconnectFrontend):
3393         (WebCore::InspectorController::instrumentWillSendXMLHttpRequest):
3394         * inspector/InspectorController.h:
3395         * inspector/InspectorInstrumentation.cpp: Added.
3396         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3397         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3398         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3399         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3400         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3401         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
3402         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
3403         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
3404         * inspector/InspectorInstrumentation.h: Added.
3405         (WebCore::InspectorInstrumentation::frontendCreated):
3406         (WebCore::InspectorInstrumentation::frontendDeleted):
3407         (WebCore::InspectorInstrumentation::hasFrontends):
3408         (WebCore::InspectorInstrumentation::willInsertDOMNode):
3409         (WebCore::InspectorInstrumentation::didInsertDOMNode):
3410         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
3411         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
3412         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
3413         (WebCore::InspectorInstrumentation::characterDataModified):
3414         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
3415         (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext):
3416         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
3417         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
3418
3419 2010-09-29  David Hyatt  <hyatt@apple.com>
3420
3421         Reviewed by Sam Weinig.
3422
3423         https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls)
3424         to be block-flow-aware.
3425
3426         * rendering/RenderBlock.cpp:
3427         (WebCore::RenderBlock::layoutBlock):
3428         (WebCore::RenderBlock::handleAfterSideOfBlock):
3429         (WebCore::RenderBlock::layoutBlockChildren):
3430         * rendering/RenderBlock.h:
3431         * rendering/RenderBox.h:
3432         (WebCore::RenderBox::scrollbarLogicalHeight):
3433
3434 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
3435
3436         Reviewed by Antonio Gomes.
3437
3438         [EFL] General small fixes.
3439         https://bugs.webkit.org/show_bug.cgi?id=46813
3440
3441         This commit spots a comparison between signed and unsigned integer
3442         expressions, a missing return and a never-called function.
3443
3444         No new tests since no new funcionality has been added.
3445
3446         * platform/efl/SharedBufferEfl.cpp:
3447         (WebCore::SharedBuffer::createWithContentsOfFile):
3448
3449 2010-09-29  Philippe Normand  <pnormand@igalia.com>
3450
3451         Reviewed by Gustavo Noronha Silva.
3452
3453         build still broken since r68521
3454         https://bugs.webkit.org/show_bug.cgi?id=46795
3455
3456         Call make-values.pl once only. It seems calling it multiple times
3457         in the same build produces a wrong CSSValueKeywordsHash.h which
3458         has a duplicate declaration of its valueList variable. The double
3459         call is triggered by the double targets in the Makefile rules and
3460         makevalues.pl generates one of them, which screws up the build. A
3461         more proper fix should be done with the advices on
3462         http://www.cmcrossroads.com/cm-basics/12905-rules-with-multiple-outputs-in-gnu-make
3463
3464         * GNUmakefile.am:
3465
3466 2010-09-29  João Paulo Rechi Vita  <jprvita@profusion.mobi>
3467
3468         Unreviewed build fix.
3469
3470         Fix CMake build for ENABLE_PROGRESS_TAG.
3471         https://bugs.webkit.org/show_bug.cgi?id=46808
3472
3473         No new tests since it's a build fix.
3474
3475         * CMakeLists.txt:
3476
3477 2010-09-29  Yury Semikhatsky  <yurys@chromium.org>
3478
3479         Reviewed by Pavel Feldman.
3480
3481         [v8] Use generic mechanism to report exceptions in V8CustomVoidCallback
3482         https://bugs.webkit.org/show_bug.cgi?id=46803
3483
3484         No new tests. It's covered by existing tests under LayoutTests/storage
3485
3486         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3487         (WebCore::invokeCallback):
3488
3489 2010-09-29  Satish Sampath  <satish@chromium.org>
3490
3491         Reviewed by Jeremy Orlow.
3492
3493         Rename the input element's @speech attribute to @webkitspeech since it is still experimental.
3494         https://bugs.webkit.org/show_bug.cgi?id=46799
3495
3496         * bindings/generic/RuntimeEnabledFeatures.h:
3497         (WebCore::RuntimeEnabledFeatures::webkitspeechEnabled): Rename the runtime feature flag getter.
3498         * css/CSSPrimitiveValueMappings.h:
3499         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3500         * css/CSSValueKeywords.in: Rename the css style name.
3501         * css/html.css: Rename the css style name.
3502         (input::-webkit-input-speech-button):
3503         * html/HTMLAttributeNames.in: Rename the @speech attribute.
3504         * html/HTMLInputElement.cpp: Update code using the attribute.
3505         (WebCore::HTMLInputElement::parseMappedAttribute):
3506         (WebCore::HTMLInputElement::isSpeechEnabled):
3507         * html/HTMLInputElement.idl: Rename the @speech attribute.
3508
3509 2010-09-29  MORITA Hajime  <morrita@google.com>
3510
3511         [Chromium] failed to build without ACCELERATED_COMPOSITING
3512         https://bugs.webkit.org/show_bug.cgi?id=46793
3513
3514         Moved constant definitions from inside ACCELERATED_COMPOSITING to
3515         outside of the condition.
3516         
3517         * WebCore.gypi:
3518         * platform/graphics/chromium/VideoFrameChromium.cpp: Added just for defining constants.
3519         * platform/graphics/chromium/VideoLayerChromium.cpp:
3520
3521 2010-09-28  Pavel Feldman  <pfeldman@chromium.org>
3522
3523         Reviewed by Timothy Hatcher.
3524
3525         Web Inspector: [Resources panel] Need more visible "at a glance".
3526         https://bugs.webkit.org/show_bug.cgi?id=45657
3527
3528         * WebCore.gypi:
3529         * WebCore.vcproj/WebCore.vcproj:
3530         * inspector/front-end/DataGrid.js:
3531         (WebInspector.DataGrid):
3532         (WebInspector.DataGrid.prototype.updateWidths):
3533         (WebInspector.DataGrid.prototype.sortNodes):
3534         (WebInspector.DataGrid.prototype._resizerDragging):
3535         (WebInspector.DataGrid.prototype._endResizerDragging):
3536         (WebInspector.DataGridNode.prototype.selectable.true.get element):
3537         (WebInspector.DataGridNode.prototype.createCells):
3538         (WebInspector.DataGridNode.prototype.refresh):