5c09d92d7d04c6e91d0813a44cad9698bd01fcec
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: highlight XHR breakpoint when hit.
6         https://bugs.webkit.org/show_bug.cgi?id=47253
7
8         * inspector/InspectorController.cpp:
9         (WebCore::InspectorController::didCommitLoad):
10         (WebCore::InspectorController::setNativeBreakpoint):
11         (WebCore::InspectorController::removeNativeBreakpoint):
12         (WebCore::InspectorController::findEventListenerBreakpoint):
13         (WebCore::InspectorController::findXHRBreakpoint):
14         * inspector/InspectorController.h:
15         * inspector/InspectorInstrumentation.cpp:
16         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
17         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
18         * inspector/front-end/BreakpointManager.js:
19         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
20         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
21         (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved):
22         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
23         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
24         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint):
25         (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend):
26         (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend):
27         (WebInspector.BreakpointManager.prototype.debuggerPaused):
28         (WebInspector.BreakpointManager.prototype.debuggerResumed):
29         (WebInspector.NativeBreakpoint):
30         (WebInspector.NativeBreakpoint.prototype.get enabled):
31         (WebInspector.NativeBreakpoint.prototype.set enabled):
32         (WebInspector.NativeBreakpoint.prototype.remove):
33         * inspector/front-end/BreakpointsSidebarPane.js:
34         (WebInspector.BreakpointItem):
35         (WebInspector.BreakpointItem.prototype._breakpointClicked):
36         (WebInspector.BreakpointItem.prototype._hitStateChanged):
37         * inspector/front-end/CallStackSidebarPane.js:
38         (WebInspector.CallStackSidebarPane.prototype.updateStatus):
39         * inspector/front-end/inspector.css:
40         (.breakpoint-list .breakpoint-hit):
41         * inspector/front-end/inspector.js:
42         (WebInspector.pausedScript):
43         (WebInspector.resumedScript):
44
45 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
46
47         Reviewed by Xan Lopez.
48
49         [GTK] Fix the build for GTK+ 3
50         https://bugs.webkit.org/show_bug.cgi?id=47249
51
52         Use GdkVisual instead of GdkColormap. GdkColormap has been removed
53         in gtk3.
54
55         * plugins/gtk/PluginViewGtk.cpp:
56         (WebCore::PluginView::platformStart):
57         * plugins/gtk/gtk2xtbin.c:
58         (gtk_xtbin_new):
59
60 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
61
62         Reviewed by Xan Lopez.
63
64         [GTK] Fix the build for GTK+ 3
65         https://bugs.webkit.org/show_bug.cgi?id=47249
66
67         Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
68         are deprecated in gtk2 and have been removed in gtk3. Equivalent
69         API has been added to GdkWindow.
70
71         * platform/gtk/GtkVersioning.c:
72         (getDefaultGDKPointerDevice):
73         * platform/gtk/GtkVersioning.h:
74         * platform/gtk/PlatformScreenGtk.cpp:
75         (WebCore::getVisual):
76         (WebCore::screenAvailableRect):
77
78 2010-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
79
80         Reviewed by Andreas Kling.
81
82         [Qt] Disconnect signals before destroying MediaPlayerPrivateQt
83
84         https://bugs.webkit.org/show_bug.cgi?id=47073
85
86         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
87
88 2010-10-07  Alexander Pavlov  <apavlov@chromium.org>
89
90         Unreviewed, release build fix.
91
92         * inspector/InspectorStyleSheet.cpp:
93         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
94         * inspector/InspectorStyleSheet.h:
95         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
96         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
97
98 2010-10-07  Pavel Podivilov  <podivilov@chromium.org>
99
100         Unreviewed, build fix.
101
102         Build fix for r69283.
103
104         * dom/Document.cpp:
105         (WebCore::Document::inspectorController):
106         * dom/Document.h:
107
108 2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
109
110         Reviewed by Xan Lopez.
111
112         [GTK] Fix the build for GTK+ 3
113         https://bugs.webkit.org/show_bug.cgi?id=47249
114
115         Don't use gtk_size_request_get_size(). It has been removed,
116         gtk_widget_get_preferred_size() should be used instead
117
118         * platform/gtk/PopupMenuGtk.cpp:
119         (WebCore::PopupMenuGtk::show):
120
121 2010-10-06  Alexander Pavlov  <apavlov@chromium.org>
122
123         Reviewed by Pavel Feldman.
124
125         Web Inspector: Implement handling of CSS operations in InspectorCSSAgent.
126         Property toggling not implemented yet. The code is not going live.
127         https://bugs.webkit.org/show_bug.cgi?id=45825
128
129         * CMakeLists.txt:
130         * GNUmakefile.am:
131         * WebCore.gypi:
132         * WebCore.pro:
133         * WebCore.vcproj/WebCore.vcproj:
134         * WebCore.xcodeproj/project.pbxproj:
135         * inspector/InspectorCSSAgent.cpp: Added.
136         (WebCore::InspectorCSSAgent::buildObjectForStyle):
137         (WebCore::InspectorCSSAgent::parentStyleSheet):
138         (WebCore::InspectorCSSAgent::asCSSStyleRule):
139         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
140         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
141         (WebCore::InspectorCSSAgent::reset):
142         (WebCore::InspectorCSSAgent::getMatchedRulesForNode2):
143         (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2):
144         (WebCore::InspectorCSSAgent::getAttributeStylesForNode2):
145         (WebCore::InspectorCSSAgent::getInlineStyleForNode2):
146         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
147         (WebCore::InspectorCSSAgent::getInheritedStylesForNode2):
148         (WebCore::InspectorCSSAgent::getAllStyles2):
149         (WebCore::InspectorCSSAgent::getStyleSheet2):
150         (WebCore::InspectorCSSAgent::setStyleSheetText2):
151         (WebCore::InspectorCSSAgent::setStyleText2):
152         (WebCore::InspectorCSSAgent::toggleProperty2):
153         (WebCore::InspectorCSSAgent::setRuleSelector2):
154         (WebCore::InspectorCSSAgent::addRule2):
155         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
156         (WebCore::InspectorCSSAgent::inlineStyleElement):
157         (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties):
158         (WebCore::InspectorCSSAgent::shorthandValue):
159         (WebCore::InspectorCSSAgent::shorthandPriority):
160         (WebCore::InspectorCSSAgent::longhandProperties):
161         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
162         (WebCore::InspectorCSSAgent::elementForId):
163         (WebCore::InspectorCSSAgent::bindStyleSheet):
164         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
165         (WebCore::InspectorCSSAgent::styleSheetForId):
166         (WebCore::InspectorCSSAgent::detectOrigin):
167         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
168         (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles):
169         (WebCore::InspectorCSSAgent::didRemoveDocument):
170         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
171         * inspector/InspectorCSSAgent.h: Added.
172         (WebCore::InspectorCSSAgent::create):
173         * inspector/InspectorDOMAgent.cpp:
174         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
175         (WebCore::InspectorDOMAgent::setDOMListener):
176         (WebCore::InspectorDOMAgent::unbind):
177         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
178         (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
179         * inspector/InspectorDOMAgent.h:
180         (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
181         (WebCore::InspectorDOMAgent::documents):
182         * inspector/InspectorStyleSheet.cpp: Added.
183         (ParsedStyleSheet::cssStyleSheet):
184         (ParsedStyleSheet::text):
185         (ParsedStyleSheet::hasText):
186         (ParsedStyleSheet::sourceData):
187         (ParsedStyleSheet::hasSourceData):
188         (ParsedStyleSheet::ParsedStyleSheet):
189         (ParsedStyleSheet::setText):
190         (ParsedStyleSheet::setSourceData):
191         (ParsedStyleSheet::ruleSourceDataAt):
192         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
193         (WebCore::InspectorStyleSheet::~InspectorStyleSheet):
194         (WebCore::InspectorStyleSheet::setText):
195         (WebCore::InspectorStyleSheet::setRuleSelector):
196         (WebCore::InspectorStyleSheet::addRule):
197         (WebCore::InspectorStyleSheet::ruleForId):
198         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
199         (WebCore::InspectorStyleSheet::buildObjectForRule):
200         (WebCore::InspectorStyleSheet::buildObjectForStyle):
201         (WebCore::InspectorStyleSheet::styleForId):
202         (WebCore::InspectorStyleSheet::setStyleText):
203         (WebCore::InspectorStyleSheet::ownerDocument):
204         (WebCore::InspectorStyleSheet::ruleSourceDataFor):
205         (WebCore::InspectorStyleSheet::ruleIndexByStyle):
206         (WebCore::InspectorStyleSheet::ensureParsedDataReady):
207         (WebCore::InspectorStyleSheet::text):
208         (WebCore::InspectorStyleSheet::ensureText):
209         (WebCore::InspectorStyleSheet::ensureSourceData):
210         (WebCore::InspectorStyleSheet::innerSetStyleSheetText):
211         (WebCore::InspectorStyleSheet::innerSetStyleText):
212         (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle):
213         (WebCore::InspectorStyleSheet::findPageRuleWithStyle):
214         (WebCore::InspectorStyleSheet::fullRuleId):
215         (WebCore::InspectorStyleSheet::revalidateStyle):
216         (WebCore::InspectorStyleSheet::styleSheetText):
217         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
218         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
219         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
220         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
221         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
222         (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument):
223         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
224         (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
225         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
226         * inspector/InspectorStyleSheet.h: Added.
227         (WebCore::InspectorStyleSheet::create):
228         (WebCore::InspectorStyleSheet::id):
229         (WebCore::InspectorStyleSheet::pageStyleSheet):
230         (WebCore::InspectorStyleSheet::canBind):
231         (WebCore::InspectorStyleSheet::fullRuleOrStyleId):
232         (WebCore::InspectorStyleSheet::ruleOrStyleId):
233         (WebCore::InspectorStyleSheet::fullStyleId):
234         (WebCore::InspectorStyleSheetForInlineStyle::create):
235         (WebCore::InspectorStyleSheetForInlineStyle::styleForId):
236         (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor):
237         (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle):
238         * inspector/InspectorUtilities.cpp: Added.
239         (WebCore::InspectorUtilities::resourceContentForURL):
240         * inspector/InspectorUtilities.h: Added.
241
242 2010-10-05  Pavel Podivilov  <podivilov@chromium.org>
243
244         Reviewed by Pavel Feldman.
245
246         Web Inspector: extract Inspector Instrumentation API as a class
247         https://bugs.webkit.org/show_bug.cgi?id=47173
248
249         * bindings/js/JSXMLHttpRequestCustom.cpp:
250         (WebCore::JSXMLHttpRequest::send):
251         * bindings/js/ScriptController.cpp:
252         (WebCore::ScriptController::evaluateInWorld):
253         * bindings/v8/V8DOMWindowShell.cpp:
254         * bindings/v8/V8Proxy.cpp:
255         (WebCore::V8Proxy::evaluate):
256         (WebCore::V8Proxy::callFunction):
257         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
258         (WebCore::V8XMLHttpRequest::sendCallback):
259         * dom/Document.cpp:
260         (WebCore::Document::recalcStyle):
261         * dom/Document.h:
262         * dom/Node.cpp:
263         (WebCore::Node::dispatchGenericEvent):
264         * html/parser/HTMLDocumentParser.cpp:
265         (WebCore::HTMLDocumentParser::pumpTokenizer):
266         * html/parser/HTMLDocumentParser.h:
267         * inspector/InspectorInstrumentation.cpp:
268         (WebCore::InspectorInstrumentation::hasFrontend):
269         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
270         * inspector/InspectorInstrumentation.h:
271         (WebCore::InspectorInstrumentation::hasFrontends):
272         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
273         (WebCore::InspectorInstrumentation::inspectorControllerForDocument):
274         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
275         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
276         * inspector/InspectorTimelineAgent.cpp:
277         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
278         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
279         * inspector/InspectorTimelineAgent.h:
280         * loader/ResourceLoader.cpp:
281         (WebCore::ResourceLoader::didReceiveResponse):
282         (WebCore::ResourceLoader::didReceiveData):
283         * loader/loader.cpp:
284         (WebCore::Loader::load):
285         * page/DOMTimer.cpp:
286         (WebCore::DOMTimer::install):
287         (WebCore::DOMTimer::removeById):
288         (WebCore::DOMTimer::fired):
289         * page/DOMTimer.h:
290         * page/DOMWindow.cpp:
291         (WebCore::DOMWindow::dispatchEvent):
292         * page/DOMWindow.h:
293         * page/FrameView.cpp:
294         (WebCore::FrameView::layout):
295         (WebCore::FrameView::paintContents):
296         * page/FrameView.h:
297         * page/Page.cpp:
298         * page/Page.h:
299         * rendering/RenderLayerBacking.cpp:
300         (WebCore::RenderLayerBacking::paintContents):
301         * xml/XMLHttpRequest.cpp:
302         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
303
304 2010-10-07  Zraly Mike  <mike.zraly@nokia.com>
305
306         Reviewed by Andreas Kling.
307
308         Windowless flash plugin is not rendered in Symbian
309         https://bugs.webkit.org/show_bug.cgi?id=47172
310
311         * plugins/symbian/PluginViewSymbian.cpp:
312         (WebCore::PluginView::platformStart):
313         Add call to updatePluginWidget() following changes to
314         platform widget.  This is needed to set PluginView's
315         m_windowRect and m_clipRect members properly after
316         the proxy widget and its container get created.
317
318 2010-10-07  Andreas Kling  <kling@webkit.org>
319
320         Reviewed by Nikolas Zimmermann.
321
322         Rename (and move) RenderPath to svg/RenderSVGPath
323         https://bugs.webkit.org/show_bug.cgi?id=47053
324
325         Also renamed RenderObject::isRenderPath() to isSVGPath()
326
327         * Android.mk:
328         * CMakeLists.txt:
329         * GNUmakefile.am:
330         * WebCore.gypi:
331         * WebCore.order:
332         * WebCore.pro:
333         * WebCore.vcproj/WebCore.vcproj:
334         * WebCore.xcodeproj/project.pbxproj:
335         * rendering/RenderObject.h:
336         (WebCore::RenderObject::isSVGPath):
337         * rendering/RenderPath.cpp: Removed.
338         * rendering/RenderPath.h: Removed.
339         * rendering/RenderSVGHiddenContainer.cpp:
340         * rendering/RenderSVGResourceClipper.cpp:
341         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
342         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
343         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
344         * rendering/RenderSVGResourceContainer.cpp:
345         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
346         * rendering/RenderSVGResourceSolidColor.cpp:
347         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
348         * rendering/RenderTreeAsText.cpp:
349         (WebCore::write):
350         * rendering/SVGRenderSupport.cpp:
351         (WebCore::SVGRenderSupport::layoutChildren):
352         * rendering/SVGRenderTreeAsText.cpp:
353         (WebCore::writeStyle):
354         (WebCore::operator<<):
355         (WebCore::write):
356         * rendering/SVGRenderTreeAsText.h:
357         * rendering/style/SVGRenderStyle.cpp:
358         (WebCore::SVGRenderStyle::diff):
359         * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp.
360         (WebCore::RenderSVGPath::RenderSVGPath):
361         (WebCore::RenderSVGPath::fillContains):
362         (WebCore::RenderSVGPath::strokeContains):
363         (WebCore::RenderSVGPath::layout):
364         (WebCore::RenderSVGPath::fillAndStrokePath):
365         (WebCore::RenderSVGPath::paint):
366         (WebCore::RenderSVGPath::addFocusRingRects):
367         (WebCore::RenderSVGPath::nodeAtFloatPoint):
368         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
369         (WebCore::RenderSVGPath::updateCachedBoundaries):
370         * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h.
371         (WebCore::RenderSVGPath::isSVGPath):
372         (WebCore::RenderSVGPath::renderName):
373         (WebCore::toRenderSVGPath):
374         * svg/SVGCircleElement.cpp:
375         (WebCore::SVGCircleElement::svgAttributeChanged):
376         * svg/SVGEllipseElement.cpp:
377         (WebCore::SVGEllipseElement::svgAttributeChanged):
378         * svg/SVGGradientElement.cpp:
379         * svg/SVGLineElement.cpp:
380         (WebCore::SVGLineElement::svgAttributeChanged):
381         * svg/SVGPathElement.cpp:
382         (WebCore::SVGPathElement::svgAttributeChanged):
383         * svg/SVGPolyElement.cpp:
384         (WebCore::SVGPolyElement::svgAttributeChanged):
385         * svg/SVGRectElement.cpp:
386         (WebCore::SVGRectElement::svgAttributeChanged):
387         * svg/SVGStyledLocatableElement.cpp:
388         * svg/SVGStyledTransformableElement.cpp:
389         (WebCore::SVGStyledTransformableElement::createRenderer):
390
391 2010-10-06  Yury Semikhatsky  <yurys@chromium.org>
392
393         Reviewed by Pavel Feldman.
394
395         Web Inspector: clear line highlight when switching current view
396         https://bugs.webkit.org/show_bug.cgi?id=47262
397
398         * inspector/front-end/SourceFrame.js:
399         (WebInspector.SourceFrame.prototype.clearLineHighlight):
400         * inspector/front-end/SourceView.js:
401         (WebInspector.SourceView.prototype.hide):
402         * inspector/front-end/TextViewer.js:
403         (WebInspector.TextViewer.prototype.highlightLine):
404         (WebInspector.TextViewer.prototype.clearLineHighlight):
405
406 2010-10-06  Chris Evans  <cevans@google.com>
407
408         Reviewed by David Levin.
409
410         https://bugs.webkit.org/show_bug.cgi?id=47313
411
412         Fix integer errors with enormous input strings to newline normalization APIs.
413
414         * platform/text/LineEnding.cpp:
415         (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now).
416         (WebCore::normalizeToCROrLF): use the correct type for a string length.
417
418 2010-10-06  Kent Tamura  <tkent@chromium.org>
419
420         Unreviewed, build fix.
421
422         Windows build fix for r69272.
423
424         * html/BaseDateAndTimeInputType.cpp:
425         (WebCore::BaseDateAndTimeInputType::stepBase):
426          Use defaultStepBase() instead of defaultStepBase.
427         * html/InputType.h:
428         (WebCore::InputType::defaultStepBase):
429          Make defaultStepBase static function.
430         * html/NumberInputType.cpp:
431         (WebCore::NumberInputType::stepBase):
432          Use defaultStepBase() instead of defaultStepBase.
433
434 2010-10-06  Kent Tamura  <tkent@chromium.org>
435
436         Reviewed by Dimitri Glazkov.
437
438         Refactor HTMLInputElement: Move range/step related functions
439         https://bugs.webkit.org/show_bug.cgi?id=47251
440
441         Move the content of the following functions:
442          - rangeUnderflow()
443          - rangeOverflow()
444          - minimum()
445          - maximum()
446          - stepMismatch()
447          - stepBase()
448
449         getStepParameters() was split into InputType::defaultStep() and
450         stepScaleFactor().
451
452         * html/BaseDateAndTimeInputType.cpp:
453         (WebCore::BaseDateAndTimeInputType::rangeUnderflow):
454         (WebCore::BaseDateAndTimeInputType::rangeOverflow):
455         (WebCore::BaseDateAndTimeInputType::stepMismatch):
456         (WebCore::BaseDateAndTimeInputType::stepBase):
457         * html/BaseDateAndTimeInputType.h:
458         * html/DateInputType.cpp:
459         (WebCore::DateInputType::minimum):
460         (WebCore::DateInputType::maximum):
461         (WebCore::DateInputType::defaultStep):
462         (WebCore::DateInputType::stepScaleFactor):
463         (WebCore::DateInputType::parsedStepValueShouldBeInteger):
464         * html/DateInputType.h:
465         * html/DateTimeInputType.cpp:
466         (WebCore::DateTimeInputType::minimum):
467         (WebCore::DateTimeInputType::maximum):
468         (WebCore::DateTimeInputType::defaultStep):
469         (WebCore::DateTimeInputType::stepScaleFactor):
470         (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger):
471         * html/DateTimeInputType.h:
472         * html/DateTimeLocalInputType.cpp:
473         (WebCore::DateTimeLocalInputType::minimum):
474         (WebCore::DateTimeLocalInputType::maximum):
475         (WebCore::DateTimeLocalInputType::defaultStep):
476         (WebCore::DateTimeLocalInputType::stepScaleFactor):
477         (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger):
478         * html/DateTimeLocalInputType.h:
479         * html/HTMLInputElement.cpp:
480         (WebCore::HTMLInputElement::rangeUnderflow):
481         (WebCore::HTMLInputElement::rangeOverflow):
482         (WebCore::HTMLInputElement::minimum):
483         (WebCore::HTMLInputElement::maximum):
484         (WebCore::HTMLInputElement::stepMismatch):
485         (WebCore::HTMLInputElement::getAllowedValueStep):
486         (WebCore::HTMLInputElement::applyStep):
487         (WebCore::HTMLInputElement::handleKeyEventForRange):
488         (WebCore::HTMLInputElement::stepUpFromRenderer):
489         * html/HTMLInputElement.h:
490         * html/InputType.cpp:
491         (WebCore::InputType::patternMismatch):
492         (WebCore::InputType::rangeUnderflow):
493         (WebCore::InputType::rangeOverflow):
494         (WebCore::InputType::minimum):
495         (WebCore::InputType::maximum):
496         (WebCore::InputType::stepMismatch):
497         (WebCore::InputType::stepBase):
498         (WebCore::InputType::defaultStep):
499         (WebCore::InputType::stepScaleFactor):
500         (WebCore::InputType::parsedStepValueShouldBeInteger):
501         (WebCore::InputType::scaledStepValeuShouldBeInteger):
502         * html/InputType.h:
503         * html/MonthInputType.cpp:
504         (WebCore::MonthInputType::minimum):
505         (WebCore::MonthInputType::maximum):
506         (WebCore::MonthInputType::defaultStep):
507         (WebCore::MonthInputType::stepScaleFactor):
508         (WebCore::MonthInputType::parsedStepValueShouldBeInteger):
509         * html/MonthInputType.h:
510         * html/NumberInputType.cpp:
511         (WebCore::NumberInputType::rangeUnderflow):
512         (WebCore::NumberInputType::rangeOverflow):
513         (WebCore::NumberInputType::minimum):
514         (WebCore::NumberInputType::maximum):
515         (WebCore::NumberInputType::stepMismatch):
516         (WebCore::NumberInputType::stepBase):
517         (WebCore::NumberInputType::defaultStep):
518         (WebCore::NumberInputType::stepScaleFactor):
519         * html/NumberInputType.h:
520         * html/RangeInputType.cpp:
521         (WebCore::RangeInputType::rangeUnderflow):
522         (WebCore::RangeInputType::rangeOverflow):
523         (WebCore::RangeInputType::minimum):
524         (WebCore::RangeInputType::maximum):
525         (WebCore::RangeInputType::stepMismatch):
526         (WebCore::RangeInputType::stepBase):
527         (WebCore::RangeInputType::defaultStep):
528         (WebCore::RangeInputType::stepScaleFactor):
529         * html/RangeInputType.h:
530         * html/TimeInputType.cpp:
531         (WebCore::TimeInputType::minimum):
532         (WebCore::TimeInputType::maximum):
533         (WebCore::TimeInputType::defaultStep):
534         (WebCore::TimeInputType::stepScaleFactor):
535         (WebCore::TimeInputType::scaledStepValeuShouldBeInteger):
536         * html/TimeInputType.h:
537         * html/WeekInputType.cpp:
538         (WebCore::WeekInputType::minimum):
539         (WebCore::WeekInputType::maximum):
540         (WebCore::WeekInputType::stepBase):
541         (WebCore::WeekInputType::defaultStep):
542         (WebCore::WeekInputType::stepScaleFactor):
543         (WebCore::WeekInputType::parsedStepValueShouldBeInteger):
544         * html/WeekInputType.h:
545
546 2010-10-06  Simon Fraser  <simon.fraser@apple.com>
547
548         Reviewed by Dan Bernstein, Darin Adler.
549
550         :first-letter should apply to "punctuation" after the first letter
551         https://bugs.webkit.org/show_bug.cgi?id=45986
552         
553         Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after
554         the :first-letter character.
555         
556         The spec does not describe whitespace behavior, and browsers are inconsistent.
557         This patch allows whitespace (including non-breaking spaces) before and after the
558         leading punctuation, and before the trailing punctuation.
559
560         Test: fast/css/first-letter-punctuation.html
561
562         * rendering/RenderBlock.cpp:
563         (WebCore::isPunctuationForFirstLetter):
564         (WebCore::shouldSkipForFirstLetter):
565         (WebCore::RenderBlock::updateFirstLetter):
566
567 2010-10-06  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
568
569         Reviewed by Darin Fisher.
570
571         Released the pluginNode in PluginDocument::detach() and prevents a memory leak.
572         https://bugs.webkit.org/show_bug.cgi?id=47129
573
574         * html/PluginDocument.cpp:
575         (WebCore::PluginDocument::detach):
576         * html/PluginDocument.h:
577
578 2010-10-06  Vincent Scheib  <scheib@chromium.org>
579
580         Reviewed by Kenneth Russell.
581
582         [chromium] Thumbnail generation asserts on zero alpha values.
583         https://bugs.webkit.org/show_bug.cgi?id=47292
584
585         Test: Tested manually by running debug mode, and analyzing in PIX.
586
587         * platform/graphics/chromium/LayerRendererChromium.cpp:
588         (WebCore::LayerRendererChromium::drawLayers):
589
590 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
591
592         Unreviewed, trying to fix chromium Windows build.
593
594         Explicitly give the parameter value that has a default parameter value.
595
596         * page/DOMWindow.cpp:
597         (WebCore::DOMWindow::requestFileSystem):
598         * workers/WorkerContext.cpp:
599         (WebCore::WorkerContext::requestFileSystem):
600
601 2010-10-06  Darin Adler  <darin@apple.com>
602
603         Try to fix Windows build.
604
605         * platform/graphics/cg/ColorCG.cpp:
606         (WebCore::cachedCGColor): Put in braces to make the Windows compiler
607         happy with this file.
608
609         * platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h.
610
611 2010-10-06  Darin Adler  <darin@apple.com>
612
613         Reviewed by Alexey Proskuryakov.
614
615         Cache CGColor as we do NSColor
616         https://bugs.webkit.org/show_bug.cgi?id=47226
617
618         This fixes performance problems on certain web pages that use
619         multiple colors. Once in the past we were using NSColor. Now that
620         we are using CGColor, we need the same sort of caching that we have
621         for NSColor.
622
623         One example: <http://results.active.com/uploads/html/100759.html>.
624
625         * WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h.
626
627         * platform/graphics/Color.h: Replace createCGColor with cachedCGColor.
628
629         * platform/graphics/cg/ColorCG.cpp:
630         (WebCore::cachedCGColorSpace): Added.
631         (WebCore::leakCGColor): Added. 
632         (WebCore::cachedCGColor): Added.
633
634         * platform/graphics/cg/GraphicsContextCG.cpp:
635         (WebCore::setCGFillColor): Use cachedCGColor.
636         (WebCore::setCGStrokeColor): Ditto.
637         (WebCore::GraphicsContext::fillRect): Ditto.
638         (WebCore::GraphicsContext::setPlatformShadow): Ditto.
639
640         * platform/graphics/cg/GraphicsContextCG.h: Added.
641         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
642         Moved the color space functions here.
643
644         * platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting.
645
646         * platform/graphics/mac/ColorMac.mm: Removed the createCGColor
647         function.
648
649         * platform/graphics/mac/GraphicsContextMac.mm:
650         (WebCore::drawFocusRingToContext): Removed innappropriate use of
651         RetainPtr for the arguments to this function.
652         (WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor.
653
654         * platform/graphics/mac/GraphicsLayerCA.mm:
655         (WebCore::setLayerBorderColor): Use cachedCGColor.
656         (WebCore::setLayerBackgroundColor): Ditto.
657         * platform/graphics/win/GraphicsContextCGWin.cpp:
658         (WebCore::GraphicsContext::drawFocusRing): Ditto.
659         * platform/graphics/win/GraphicsLayerCACF.cpp:
660         (WebCore::setLayerBorderColor): Ditto.
661         (WebCore::setLayerBackgroundColor): Ditto.
662
663         * platform/graphics/win/WKCACFLayerRenderer.cpp:
664         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use
665         CGColorCreateGenericRGB for color used only for debugging.
666         * platform/graphics/win/WebTiledLayer.cpp:
667         (WebCore::WebTiledLayer::addTile): Ditto.
668
669 2010-10-06  Peter Kasting  <pkasting@google.com>
670
671         Reviewed by James Robinson
672
673         ScrollViews without scrollbars should not eat scroll events
674         https://bugs.webkit.org/show_bug.cgi?id=47036
675
676         * platform/ScrollView.cpp:
677         (WebCore::ScrollView::wheelEvent):
678
679 2010-10-06  Daniel Bates  <dbates@rim.com>
680
681         Reviewed by Darin Adler.
682
683         ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet
684         when <frameset> has CSS content property
685         https://bugs.webkit.org/show_bug.cgi?id=47314
686
687         Fixes an issue where sending a mouse event to an HTML Frameset Element that
688         whose content was replaced via the CSS content property causes an assertion
689         failure.
690
691         By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as
692         to support resizing a frame within the set. When a <frameset> specifies an
693         image in its CSS content property we create a generic render object (RenderObject)
694         for the frame set instead of a RenderFrameSet object. The event handler code
695         in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer
696         to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement
697         must check that its renderer is of type RenderFrameSet before casting to this type.
698
699         Test: fast/frames/crash-frameset-CSS-content-property.html
700
701         * html/HTMLFrameSetElement.cpp:
702         (WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is
703         of type RenderFrameSet before casting it as such.
704
705 2010-10-06  Albert J. Wong  <ajwong@chromium.org>
706
707         Reviewed by Andreas Kling.
708
709         r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false.
710         https://bugs.webkit.org/show_bug.cgi?id=47315
711
712         Compile fix. No tests.
713
714         * platform/graphics/filters/FETile.cpp:
715         (WebCore::FETile::apply):
716
717 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
718
719         Unreviewed, fixing screwed up ChangeLogs.
720
721 2010-10-06  Kinuko Yasuda  <kinuko@chromium.org>
722
723         Reviewed by David Levin.
724
725         Add FileSystemSync implementation for Worker
726         https://bugs.webkit.org/show_bug.cgi?id=47044
727
728         Tests: fast/filesystem/async-operations.html
729                fast/filesystem/workers/async-operations.html
730                fast/filesystem/workers/sync-operations.html
731
732         * GNUmakefile.am:
733         * WebCore.gypi:
734         * WebCore.pro:
735         * WebCore.vcproj/WebCore.vcproj:
736         * WebCore.xcodeproj/project.pbxproj:
737         * bindings/generic/RuntimeEnabledFeatures.h: Removed
738         requestFileSystemEnabled() as I changed the idl/generator to
739         use fileSystemEnabled for all the FileSystem related features.
740         * fileapi/DOMFileSystem.cpp:
741         * fileapi/DOMFileSystem.h:
742         * fileapi/DOMFileSystemBase.cpp:
743         (WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem.
744         (WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem.
745         (WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem.
746         (WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem.
747         (WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem.
748         (WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem.
749         (WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem.
750         (WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem.
751         (WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem.
752         * fileapi/DOMFileSystemBase.h:
753         * fileapi/DOMFileSystemSync.h:
754         * fileapi/DirectoryEntry.cpp:
755         (WebCore::DirectoryEntry::DirectoryEntry): Updated to call
756         DOMFileSystemBase's method instead of DOMFileSystem's one.
757         (WebCore::DirectoryEntry::getFile): Ditto.
758         (WebCore::DirectoryEntry::getDirectory): Ditto.
759         * fileapi/DirectoryEntry.h:
760         * fileapi/DirectoryEntrySync.cpp:
761         (WebCore::DirectoryEntrySync::getFile): Implemented.
762         (WebCore::DirectoryEntrySync::getDirectory): Implemented.
763         * fileapi/DirectoryReader.h:
764         * fileapi/DirectoryReaderSync.cpp:
765         (WebCore::DirectoryReaderSync::readEntries): Implemented.
766         * fileapi/Entry.cpp:
767         (WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method.
768         (WebCore::Entry::getMetadata): Ditto.
769         (WebCore::Entry::moveTo): Ditto.
770         (WebCore::Entry::copyTo): Ditto.
771         (WebCore::Entry::remove): Ditto.
772         (WebCore::Entry::getParent): Ditto.
773         * fileapi/Entry.h:
774         * fileapi/Entry.idl:
775         * fileapi/EntryArraySync.cpp:
776         (WebCore::EntryArraySync::create): Added.
777         * fileapi/EntryArraySync.h:
778         * fileapi/EntryBase.h:
779         (WebCore::EntryBase::filesystem): Added.
780         * fileapi/EntrySync.cpp:
781         (WebCore::EntrySync::create): Implemented.
782         (WebCore::EntrySync::getMetadata): Implemented.
783         (WebCore::EntrySync::moveTo): Implemented.
784         (WebCore::EntrySync::copyTo): Implemented.
785         (WebCore::EntrySync::remove): Implemented.
786         * fileapi/EntrySync.h:
787         * fileapi/FileEntry.cpp:
788         * fileapi/FileEntry.h:
789         * fileapi/FileSystemCallbacks.cpp:
790         (WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase
791         instead of DOMFileSystem.
792         (WebCore::EntryCallbacks::EntryCallbacks): Ditto.
793         (WebCore::EntriesCallbacks::create): Ditto.
794         (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
795         * fileapi/FileSystemCallbacks.h:
796         * fileapi/LocalFileSystem.cpp:
797         (WebCore::LocalFileSystem::requestFileSystem): Added synchronous
798         parameter.
799         * fileapi/LocalFileSystem.h:
800         * fileapi/Metadata.h:
801         * fileapi/SyncCallbackHelper.h: Added. This defines a helper template
802         for synchronous implementation.
803         * page/DOMWindow.idl:
804         * platform/AsyncFileSystem.h:
805         (WebCore::AsyncFileSystem::waitCompletion): Added.
806         * workers/WorkerContext.cpp:
807         (WebCore::WorkerContext::requestFileSystemSync): Added.
808         * workers/WorkerContext.h:
809         * workers/WorkerContext.idl:
810
811 2010-10-06  Andrei Popescu  <andreip@google.com>
812
813         Reviewed by Jeremy Orlow.
814
815         IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts.
816         https://bugs.webkit.org/show_bug.cgi?id=47245
817
818         Recover metadata properly by adding abort tasks that
819         are run when a transaction aborts.
820  
821         * storage/IDBDatabase.cpp:
822         (WebCore::IDBDatabase::createObjectStore):
823         (WebCore::IDBDatabase::removeObjectStore):
824         * storage/IDBDatabaseBackendImpl.cpp:
825         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
826         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
827         (WebCore::IDBDatabaseBackendImpl::setVersion):
828         (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
829         (WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
830         (WebCore::IDBDatabaseBackendImpl::resetVersion):
831         * storage/IDBDatabaseBackendImpl.h:
832         * storage/IDBObjectStoreBackendImpl.cpp:
833         (WebCore::IDBObjectStoreBackendImpl::createIndex):
834         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
835         (WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
836         (WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
837         * storage/IDBObjectStoreBackendImpl.h:
838         * storage/IDBTransactionBackendImpl.cpp:
839         (WebCore::IDBTransactionBackendImpl::scheduleTask):
840         (WebCore::IDBTransactionBackendImpl::abort):
841         * storage/IDBTransactionBackendImpl.h:
842         * storage/IDBTransactionBackendInterface.h:
843         * storage/IDBTransactionCoordinator.h:
844
845 2010-10-06  David Hyatt  <hyatt@apple.com>
846
847         Reviewed by Dan Bernstein.
848
849         https://bugs.webkit.org/show_bug.cgi?id=47306
850         
851         Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware.
852
853         * rendering/RenderBlockLineLayout.cpp:
854         (WebCore::RenderBlock::determineStartPosition):
855         (WebCore::RenderBlock::determineEndPosition):
856         (WebCore::RenderBlock::matchedEndLine):
857
858 22010-10-06  Chris Fleizach  <cfleizach@apple.com>
859
860         Reviewed by Beth Dakin.
861
862         REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks.
863         https://bugs.webkit.org/show_bug.cgi?id=45832
864
865         Test: fast/events/mouse-focus-imagemap.html
866
867         * html/HTMLAreaElement.cpp:
868         (WebCore::HTMLAreaElement::isKeyboardFocusable):
869         (WebCore::HTMLAreaElement::isMouseFocusable):
870         (WebCore::HTMLAreaElement::isFocusable):
871         (WebCore::HTMLAreaElement::updateFocusAppearance):
872         * html/HTMLAreaElement.h:
873
874 010-10-06  David Hyatt  <hyatt@apple.com>
875
876         Reviewed by Dan Bernstein.
877
878         https://bugs.webkit.org/show_bug.cgi?id=47303
879
880         Convert layoutInlineChildren to be block-flow-aware.  None of the functions it calls are patched yet.
881
882         * rendering/RenderBlock.cpp:
883         (WebCore::RenderBlock::layoutBlock):
884         * rendering/RenderBlock.h:
885         (WebCore::RenderBlock::forceLayoutInlineChildren):
886         * rendering/RenderBlockLineLayout.cpp:
887         (WebCore::RenderBlock::layoutInlineChildren):
888         (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
889         (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
890         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
891         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
892         * rendering/RenderBox.h:
893         (WebCore::RenderBox::logicalLeftLayoutOverflow):
894         (WebCore::RenderBox::logicalRightLayoutOverflow):
895         (WebCore::RenderBox::logicalLeftVisualOverflow):
896         (WebCore::RenderBox::logicalRightVisualOverflow):
897
898 2010-10-06  David Hyatt  <hyatt@apple.com>
899
900         Reviewed by Dan Bernstein.
901
902         https://bugs.webkit.org/show_bug.cgi?id=47298
903         
904         Rename blockHeight to blockLogicalHeight.
905
906         * rendering/RenderBlock.cpp:
907         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
908         * rendering/RenderBlockLineLayout.cpp:
909         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
910         (WebCore::RenderBlock::layoutInlineChildren):
911         (WebCore::RenderBlock::determineStartPosition):
912         (WebCore::RenderBlock::determineEndPosition):
913         (WebCore::RenderBlock::matchedEndLine):
914         * rendering/RootInlineBox.cpp:
915         (WebCore::RootInlineBox::RootInlineBox):
916         (WebCore::RootInlineBox::adjustPosition):
917         * rendering/RootInlineBox.h:
918         (WebCore::RootInlineBox::blockLogicalHeight):
919         (WebCore::RootInlineBox::setBlockLogicalHeight):
920         * rendering/svg/SVGRootInlineBox.cpp:
921         (WebCore::SVGRootInlineBox::layoutRootBox):
922
923 2010-10-05  James Robinson  <jamesr@chromium.org>
924
925         Reviewed by Kenneth Russell.
926
927         [chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia
928         https://bugs.webkit.org/show_bug.cgi?id=47242
929
930         Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData
931         since that call mutates the software backing store.
932
933         Test: fast/canvas/canvas-putImageData.html
934
935         * platform/graphics/skia/ImageBufferSkia.cpp:
936         (WebCore::ImageBuffer::putUnmultipliedImageData):
937
938 2010-10-06  Alexey Proskuryakov  <ap@apple.com>
939
940         Reviewed by Brady Eidson.
941
942         https://bugs.webkit.org/show_bug.cgi?id=47294
943         <rdar://problem/8425647>Application cache isn't consulted on redirect
944
945         Test: http/tests/appcache/main-resource-redirect.html
946
947         * loader/MainResourceLoader.cpp:
948         (WebCore::MainResourceLoader::continueAfterNavigationPolicy): If we have substitute data now
949         (presumably after a redirect is served by appcache), switch to it.
950         (WebCore::MainResourceLoader::willSendRequest): Check appcache for the new URL.
951
952         * loader/MainResourceLoader.h: Made handleDataLoadSoon() take a const ResourceRequest
953         reference - it doesn't ever modify it, and we can call it from continueAfterNavigationPolicy() now.
954
955 2010-10-06  Alejandro G. Castro  <alex@igalia.com>
956
957         Reviewed by Dirk Schulze.
958
959         ContextShadow should not use the blur radius as kernel size of the
960         box blurs
961         https://bugs.webkit.org/show_bug.cgi?id=46918
962
963         Calculate the size of the kernel in the blur algorithm using the radius instead
964         of using the blur distance directly. Change the name of the variables to match the
965         terminology in the spec.
966
967         * platform/graphics/ContextShadow.cpp:
968         (WebCore::ContextShadow::ContextShadow):
969         (WebCore::ContextShadow::clear):
970         (WebCore::ContextShadow::blurLayerImage):
971         (WebCore::ContextShadow::calculateLayerBoundingRect):
972         * platform/graphics/ContextShadow.h:
973
974 2010-10-06  Andras Becsi  <abecsi@webkit.org>
975
976         Reviewed by Kenneth Rohde Christiansen.
977
978         [Qt] Correct CamelCase of socketSentdata() in SocketStreamHandlePrivate 
979         to fix "QMetaObject::invokeMethod: No such method" warnings in layout tests.
980         https://bugs.webkit.org/show_bug.cgi?id=47284
981
982         No new tests needed.
983
984         * platform/network/qt/SocketStreamHandlePrivate.h:
985         * platform/network/qt/SocketStreamHandleQt.cpp:
986         (WebCore::SocketStreamHandlePrivate::socketSentData):
987
988 2010-10-06  David Hyatt  <hyatt@apple.com>
989
990         Reviewed by Dan Bernstein.
991
992         https://bugs.webkit.org/show_bug.cgi?id=47285
993
994         Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode.
995         Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow
996         as appropriate.
997
998         * css/CSSComputedStyleDeclaration.cpp:
999         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1000         * css/CSSParser.cpp:
1001         (WebCore::CSSParser::parseValue):
1002         * css/CSSPrimitiveValueMappings.h:
1003         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1004         (WebCore::CSSPrimitiveValue::operator WritingMode):
1005         (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
1006         * css/CSSProperty.cpp:
1007         (WebCore::resolveToPhysicalProperty):
1008         (WebCore::CSSProperty::resolveDirectionAwareProperty):
1009         * css/CSSProperty.h:
1010         * css/CSSPropertyNames.in:
1011         * css/CSSStyleSelector.cpp:
1012         (WebCore::CSSStyleSelector::styleForDocument):
1013         (WebCore::CSSStyleSelector::adjustRenderStyle):
1014         (WebCore::CSSStyleSelector::applyDeclarations):
1015         (WebCore::CSSStyleSelector::applyProperty):
1016         * css/CSSValueKeywords.in:
1017         * rendering/RenderBlock.cpp:
1018         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1019         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
1020         (WebCore::RenderBlock::setLogicalLeftForChild):
1021         (WebCore::RenderBlock::setLogicalTopForChild):
1022         (WebCore::RenderBlock::layoutBlockChild):
1023         (WebCore::RenderBlock::insertFloatingObject):
1024         (WebCore::RenderBlock::addOverhangingFloats):
1025         (WebCore::RenderBlock::addIntrudingFloats):
1026         (WebCore::RenderBlock::collapsedMarginBeforeForChild):
1027         (WebCore::RenderBlock::collapsedMarginAfterForChild):
1028         (WebCore::RenderBlock::marginBeforeForChild):
1029         (WebCore::RenderBlock::marginAfterForChild):
1030         (WebCore::RenderBlock::marginStartForChild):
1031         (WebCore::RenderBlock::marginEndForChild):
1032         (WebCore::RenderBlock::setMarginStartForChild):
1033         (WebCore::RenderBlock::setMarginEndForChild):
1034         (WebCore::RenderBlock::setMarginBeforeForChild):
1035         (WebCore::RenderBlock::setMarginAfterForChild):
1036         (WebCore::RenderBlock::marginValuesForChild):
1037         * rendering/RenderBlock.h:
1038         (WebCore::RenderBlock::logicalWidthForChild):
1039         (WebCore::RenderBlock::logicalHeightForChild):
1040         (WebCore::RenderBlock::logicalTopForChild):
1041         (WebCore::RenderBlock::logicalRightOffsetForContent):
1042         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1043         (WebCore::RenderBlock::logicalTopForFloat):
1044         (WebCore::RenderBlock::logicalBottomForFloat):
1045         (WebCore::RenderBlock::logicalLeftForFloat):
1046         (WebCore::RenderBlock::logicalRightForFloat):
1047         (WebCore::RenderBlock::logicalWidthForFloat):
1048         (WebCore::RenderBlock::setLogicalTopForFloat):
1049         (WebCore::RenderBlock::setLogicalLeftForFloat):
1050         (WebCore::RenderBlock::setLogicalHeightForFloat):
1051         (WebCore::RenderBlock::setLogicalWidthForFloat):
1052         * rendering/RenderBox.cpp:
1053         (WebCore::RenderBox::marginBefore):
1054         (WebCore::RenderBox::marginAfter):
1055         (WebCore::RenderBox::marginStart):
1056         (WebCore::RenderBox::marginEnd):
1057         (WebCore::RenderBox::setMarginStart):
1058         (WebCore::RenderBox::setMarginEnd):
1059         (WebCore::RenderBox::setMarginBefore):
1060         (WebCore::RenderBox::setMarginAfter):
1061         (WebCore::RenderBox::styleDidChange):
1062         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1063         (WebCore::RenderBox::computeLogicalWidth):
1064         (WebCore::RenderBox::computeLogicalHeight):
1065         (WebCore::RenderBox::availableLogicalHeightUsing):
1066         (WebCore::RenderBox::avoidsFloats):
1067         * rendering/RenderBox.h:
1068         (WebCore::RenderBox::logicalLeft):
1069         (WebCore::RenderBox::logicalTop):
1070         (WebCore::RenderBox::logicalWidth):
1071         (WebCore::RenderBox::logicalHeight):
1072         (WebCore::RenderBox::setLogicalLeft):
1073         (WebCore::RenderBox::setLogicalTop):
1074         (WebCore::RenderBox::setLogicalWidth):
1075         (WebCore::RenderBox::setLogicalHeight):
1076         (WebCore::RenderBox::setLogicalLocation):
1077         (WebCore::RenderBox::contentLogicalWidth):
1078         (WebCore::RenderBox::contentLogicalHeight):
1079         (WebCore::RenderBox::stretchesToViewport):
1080         (WebCore::RenderBox::intrinsicLogicalWidth):
1081         (WebCore::RenderBox::intrinsicLogicalHeight):
1082         (WebCore::RenderBox::availableWidth):
1083         (WebCore::RenderBox::availableHeight):
1084         (WebCore::RenderBox::scrollbarLogicalHeight):
1085         (WebCore::RenderBox::isWritingModeRoot):
1086         * rendering/RenderFieldset.cpp:
1087         (WebCore::RenderFieldset::paintBoxDecorations):
1088         (WebCore::RenderFieldset::paintMask):
1089         * rendering/RenderImage.cpp:
1090         (WebCore::RenderImage::computeReplacedLogicalWidth):
1091         (WebCore::RenderImage::computeReplacedLogicalHeight):
1092         * rendering/RenderInline.cpp:
1093         (WebCore::RenderInline::marginLeft):
1094         (WebCore::RenderInline::marginRight):
1095         (WebCore::RenderInline::marginTop):
1096         (WebCore::RenderInline::marginBottom):
1097         * rendering/RenderTableCell.cpp:
1098         (WebCore::RenderTableCell::paddingTop):
1099         (WebCore::RenderTableCell::paddingBottom):
1100         (WebCore::RenderTableCell::paddingLeft):
1101         (WebCore::RenderTableCell::paddingRight):
1102         * rendering/RenderView.h:
1103         (WebCore::RenderView::viewLogicalWidth):
1104         (WebCore::RenderView::viewLogicalHeight):
1105         * rendering/RootInlineBox.cpp:
1106         (WebCore::RootInlineBox::RootInlineBox):
1107         * rendering/style/RenderStyle.cpp:
1108         (WebCore::RenderStyle::diff):
1109         (WebCore::RenderStyle::logicalWidth):
1110         (WebCore::RenderStyle::logicalHeight):
1111         (WebCore::RenderStyle::logicalMinWidth):
1112         (WebCore::RenderStyle::logicalMaxWidth):
1113         (WebCore::RenderStyle::logicalMinHeight):
1114         (WebCore::RenderStyle::logicalMaxHeight):
1115         (WebCore::RenderStyle::borderBeforeWidth):
1116         (WebCore::RenderStyle::borderAfterWidth):
1117         (WebCore::RenderStyle::borderStartWidth):
1118         (WebCore::RenderStyle::borderEndWidth):
1119         (WebCore::RenderStyle::marginBefore):
1120         (WebCore::RenderStyle::marginAfter):
1121         (WebCore::RenderStyle::marginBeforeUsing):
1122         (WebCore::RenderStyle::marginAfterUsing):
1123         (WebCore::RenderStyle::marginStart):
1124         (WebCore::RenderStyle::marginEnd):
1125         (WebCore::RenderStyle::marginStartUsing):
1126         (WebCore::RenderStyle::marginEndUsing):
1127         (WebCore::RenderStyle::paddingBefore):
1128         (WebCore::RenderStyle::paddingAfter):
1129         (WebCore::RenderStyle::paddingStart):
1130         (WebCore::RenderStyle::paddingEnd):
1131         * rendering/style/RenderStyle.h:
1132         (WebCore::InheritedFlags::setBitDefaults):
1133         (WebCore::InheritedFlags::writingMode):
1134         (WebCore::InheritedFlags::isHorizontalWritingMode):
1135         (WebCore::InheritedFlags::setWritingMode):
1136         (WebCore::InheritedFlags::initialWritingMode):
1137         * rendering/style/RenderStyleConstants.h:
1138         * rendering/style/SVGRenderStyle.h:
1139         (WebCore::SVGRenderStyle::initialWritingMode):
1140         (WebCore::SVGRenderStyle::setWritingMode):
1141         (WebCore::SVGRenderStyle::writingMode):
1142         * rendering/style/SVGRenderStyleDefs.h:
1143
1144 2010-10-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1145
1146         Unreviewed, rolling out r69201.
1147         http://trac.webkit.org/changeset/69201
1148         https://bugs.webkit.org/show_bug.cgi?id=47279
1149
1150         This change broke the WebKitGTK+ build for GTK+ 2.0.
1151         (Requested by mrobinson on #webkit).
1152
1153         * platform/gtk/GtkVersioning.c:
1154         (getDefaultGDKPointerDevice):
1155         * platform/gtk/GtkVersioning.h:
1156         * platform/gtk/PlatformScreenGtk.cpp:
1157         (WebCore::getVisual):
1158         (WebCore::screenAvailableRect):
1159
1160 2010-10-06  Stephen White  <senorblanco@chromium.org>
1161
1162         Reviewed by James Robinson.
1163         https://bugs.webkit.org/show_bug.cgi?id=47282
1164
1165         Robustify the creation of SharedGraphicsContext3D against shader
1166         compilation failures.
1167
1168         Covered by any canvas 2D layout test, when opened in chrome with 
1169         --enable-accelerated-2d-canvas --in-process-webgl.
1170
1171         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1172         (WebCore::SharedGraphicsContext3D::create):
1173         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1174         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1175
1176 2010-10-06  Luiz Agostini  <luiz.agostini@openbossa.org>
1177
1178         Reviewed by Kenneth Rohde Christiansen.
1179
1180         Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
1181         https://bugs.webkit.org/show_bug.cgi?id=47268
1182
1183         Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
1184
1185         * dom/ViewportArguments.cpp:
1186         (WebCore::findConfigurationForViewportData):
1187         * dom/ViewportArguments.h:
1188
1189 2010-10-06  Renata Hodovan  <reni@inf.u-szeged.hu>
1190
1191         Reviewed by Nikolas Zimmermann.
1192
1193         SVGFEMergeNodeElement doesn't support dynamic invalidation, when attributes change.
1194         https://bugs.webkit.org/show_bug.cgi?id=47181
1195
1196         Since feMergeNode doesn't have own renderer, we have to call the invalidation via its parent.
1197
1198         Tests: svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html
1199                svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html
1200
1201         * svg/SVGFEMergeNodeElement.cpp:
1202         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
1203         * svg/SVGFEMergeNodeElement.h:
1204
1205 2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1206
1207         Reviewed by Martin Robinson.
1208
1209         [GTK] Remove unused code from gtk2drawing.c
1210         https://bugs.webkit.org/show_bug.cgi?id=47086
1211
1212         gtk2drawing.c was copied from mozilla and contains a lot of code that is not
1213         used by WebKit. Most of that unused code is uncompatible with gtk3, so
1214         removing it will make easier porting to gtk3.
1215
1216         * platform/gtk/gtk2drawing.c:
1217         (moz_gtk_get_widget_border):
1218         (moz_gtk_widget_paint):
1219         (moz_gtk_destroy_theme_parts_widgets):
1220         * platform/gtk/gtkdrawing.h:
1221
1222 2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1223
1224         Reviewed by Xan Lopez.
1225
1226         [GTK] Use pixbufs instead of pixmaps when creating platform cursors
1227         https://bugs.webkit.org/show_bug.cgi?id=47087
1228
1229         gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a
1230         pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead
1231         for both gtk2 and gtk3.
1232
1233         * platform/gtk/CursorGtk.cpp:
1234         (WebCore::createNamedCursor):
1235         * platform/gtk/GtkVersioning.c:
1236         (gdk_cairo_format_for_content):
1237         (gdk_cairo_surface_coerce_to_image):
1238         (convert_alpha):
1239         (convert_no_alpha):
1240         (gdk_pixbuf_get_from_surface):
1241         * platform/gtk/GtkVersioning.h:
1242
1243 2010-10-06  Pavel Podivilov  <podivilov@chromium.org>
1244
1245         Reviewed by Yury Semikhatsky.
1246
1247         Web Inspector: add event listener breakpoints sidebar pane
1248         https://bugs.webkit.org/show_bug.cgi?id=46738
1249
1250         * inspector/front-end/BreakpointManager.js:
1251         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
1252         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint.breakpoint.compareTo):
1253         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
1254         (WebInspector.NativeBreakpoint):
1255         (WebInspector.NativeBreakpoint.prototype._setOnBackend.didSet):
1256         (WebInspector.NativeBreakpoint.prototype._setOnBackend):
1257         * inspector/front-end/BreakpointsSidebarPane.js:
1258         (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog):
1259         (WebInspector.BreakpointItem):
1260         (WebInspector.EventListenerBreakpointsSidebarPane):
1261         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate):
1262         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCheckbox):
1263         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
1264         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._eventNameCheckboxClicked):
1265         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointEnableChanged):
1266         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
1267         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset):
1268         * inspector/front-end/EventListenersSidebarPane.js:
1269         ():
1270         * inspector/front-end/PropertiesSection.js:
1271         (WebInspector.PropertiesSection):
1272         * inspector/front-end/ScriptsPanel.js:
1273         (WebInspector.ScriptsPanel):
1274         (WebInspector.ScriptsPanel.prototype.reset):
1275         * inspector/front-end/inspector.css:
1276         (.section .properties, .event-bar .event-properties):
1277         (.section.expanded .properties, .event-bar.expanded .event-properties):
1278         (ol.properties-tree):
1279         (ol.properties-tree li):
1280         (ol.properties-tree li.parent):
1281         (ol.properties-tree li.parent::before):
1282         (ol.properties-tree li.parent.expanded::before):
1283         (ol.properties-tree li .info):
1284         (ol.properties-tree ol, .stack-trace ol, ol.stack-trace):
1285         (ol.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace):
1286         (ol.stack-trace):
1287         (.event-listener-breakpoints .event-category):
1288         (ol.event-listener-breakpoints.properties-tree .children li):
1289         (.event-listener-breakpoints .checkbox-elem):
1290         * inspector/front-end/inspector.js:
1291         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
1292         (WebInspector.createXHRBreakpointsSidebarPane):
1293
1294 2010-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1295
1296         Reviewed by Xan Lopez.
1297
1298         [GTK] Port to gtk+3 (2.91.0)
1299         https://bugs.webkit.org/show_bug.cgi?id=47249
1300
1301         Do not use GdkDrawable deprecated API
1302
1303         Some methods of GdkDrawable are deprecated in gtk2 and have been
1304         remmoved in gtk3. Equivalent API has been added to GdkWindow.
1305
1306         * platform/gtk/GtkVersioning.c:
1307         (getDefaultGDKPointerDevice):
1308         * platform/gtk/GtkVersioning.h:
1309         * platform/gtk/PlatformScreenGtk.cpp:
1310         (WebCore::getVisual):
1311         (WebCore::screenAvailableRect):
1312
1313 2010-10-06  Ryuan Choi  <ryuan.choi@samsung.com>
1314
1315         Reviewed by Antonio Gomes.
1316
1317         [EFL] Support Progress Tag
1318         https://bugs.webkit.org/show_bug.cgi?id=45951
1319
1320         Implement to render progress tag.
1321
1322         No new tests. Existing tests in fast/dom/HTMLProgressElement.
1323
1324         * platform/efl/RenderThemeEfl.cpp:
1325         (WebCore::RenderThemeEfl::paintThemePart):
1326         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
1327         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
1328         (WebCore::RenderThemeEfl::paintProgressBar):
1329         * platform/efl/RenderThemeEfl.h:
1330
1331 2010-10-06  Patrick Gansterer  <paroga@webkit.org>
1332
1333         Reviewed by Darin Adler.
1334
1335         Add KURL::protocolIsData()
1336         https://bugs.webkit.org/show_bug.cgi?id=47219
1337
1338         * page/Page.cpp:
1339         (WebCore::Page::userStyleSheetLocationChanged):
1340         * page/SecurityOrigin.cpp:
1341         (WebCore::SecurityOrigin::taintsCanvas):
1342         * page/XSSAuditor.cpp:
1343         (WebCore::XSSAuditor::findInRequest):
1344         * platform/KURL.h:
1345         (WebCore::KURL::protocolIsData):
1346         * platform/network/curl/ResourceHandleManager.cpp:
1347         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
1348         (WebCore::ResourceHandleManager::startJob):
1349         * platform/network/win/ResourceHandleWin.cpp:
1350         (WebCore::ResourceHandle::start):
1351         (WebCore::ResourceHandle::fileLoadTimer):
1352
1353 2010-10-06  Alexander Pavlov  <apavlov@chromium.org>
1354
1355         Reviewed by Pavel Feldman.
1356
1357         CSSParser: Enable rule selector source range extraction.
1358         API modification followed by clients.
1359         https://bugs.webkit.org/show_bug.cgi?id=46367
1360
1361         Some code removal suggested by Darin Adler.
1362
1363         * css/CSSGrammar.y:
1364         * css/CSSParser.cpp:
1365         (WebCore::CSSParser::CSSParser):
1366         (WebCore::CSSParser::parseSheet):
1367         (WebCore::CSSParser::parseDeclaration):
1368         (WebCore::CSSParser::createStyleRule):
1369         (WebCore::CSSParser::markSelectorListStart):
1370         (WebCore::CSSParser::markSelectorListEnd):
1371         (WebCore::CSSParser::markRuleBodyStart):
1372         (WebCore::CSSParser::markRuleBodyEnd):
1373         (WebCore::CSSParser::markPropertyStart):
1374         (WebCore::CSSParser::markPropertyEnd):
1375         * css/CSSParser.h:
1376         (WebCore::CSSParser::resetSelectorListMarks):
1377         (WebCore::CSSParser::resetRuleBodyMarks):
1378         (WebCore::CSSParser::resetPropertyMarks):
1379         * css/CSSPropertySourceData.cpp:
1380         * css/CSSPropertySourceData.h:
1381         (WebCore::CSSRuleSourceData::create):
1382         * inspector/InspectorCSSStore.cpp:
1383         (WebCore::InspectorCSSStore::getRuleSourceData):
1384         (WebCore::InspectorCSSStore::extractRanges):
1385         (WebCore::InspectorCSSStore::getStyleAttributeRanges):
1386         * inspector/InspectorCSSStore.h:
1387         * inspector/InspectorDOMAgent.cpp:
1388         (WebCore::InspectorDOMAgent::getStyleSourceData):
1389
1390 2010-10-06  Dirk Schulze  <krit@webkit.org>
1391
1392         Added reviewer to commit r69187.
1393
1394 2010-10-06  Dirk Schulze  <krit@webkit.org>
1395
1396         Reviewed by Nikolas Zimmermann.
1397
1398         SVG feMorphology - big radii cause huge ImageBuffer sizes
1399         https://bugs.webkit.org/show_bug.cgi?id=47263
1400
1401         The current code in FEMorphology::determineAbsolutePaintRect calculates the smallest paint rect by inflate the paint rect
1402         of a previous effect with the radius. This was meant as an optimization, but I forgot to clip the calculated image size
1403         by the maximal effect size. This caused huge image sizes for big radii.
1404
1405         This is covered by svg/filters/feMorphology-invalid-radius.svg and fixes the crashes on Windows and Snow Leopard bots.
1406
1407         * platform/graphics/filters/FEMorphology.cpp:
1408         (WebCore::FEMorphology::determineAbsolutePaintRect):
1409
1410 2010-10-06  Alejandro G. Castro  <alex@igalia.com>
1411
1412         Reviewed by Dirk Schulze.
1413
1414         Fixed crash in gtk bots (filter-empty-g.svg) after r69181.
1415
1416         * rendering/RenderSVGResourceFilter.cpp:
1417         (WebCore::RenderSVGResourceFilter::postApplyResource):
1418
1419 2010-10-06  Antonio Gomes  <agomes@rim.org>
1420
1421         Reviewed by Kenneth Rohde Christiansen.
1422
1423         Rename HitTestResult::rectFromPoint to rectForPoint
1424         https://bugs.webkit.org/show_bug.cgi?id=47261
1425
1426         As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20.
1427
1428         * WebCore.exp.in:
1429         * dom/Document.cpp:
1430         (WebCore::Document::nodesFromRect):
1431         * rendering/EllipsisBox.cpp:
1432         (WebCore::EllipsisBox::nodeAtPoint):
1433         * rendering/HitTestResult.cpp:
1434         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1435         (WebCore::HitTestResult::rectForPoint):
1436         * rendering/HitTestResult.h:
1437         (WebCore::HitTestResult::rectForPoint):
1438         * rendering/InlineFlowBox.cpp:
1439         (WebCore::InlineFlowBox::nodeAtPoint):
1440         * rendering/InlineTextBox.cpp:
1441         (WebCore::InlineTextBox::nodeAtPoint):
1442         * rendering/RenderBlock.cpp:
1443         (WebCore::RenderBlock::nodeAtPoint):
1444         (WebCore::RenderBlock::hitTestColumns):
1445         * rendering/RenderBox.cpp:
1446         (WebCore::RenderBox::nodeAtPoint):
1447         * rendering/RenderLayer.cpp:
1448         (WebCore::RenderLayer::hitTestLayer):
1449         (WebCore::RenderLayer::hitTestChildLayerColumns):
1450         * rendering/RenderTable.cpp:
1451         (WebCore::RenderTable::nodeAtPoint):
1452         * rendering/RenderTableSection.cpp:
1453         (WebCore::RenderTableSection::nodeAtPoint):
1454
1455 2010-10-06  Dirk Schulze  <krit@webkit.org>
1456
1457         Reviewed by Martin Robinson.
1458
1459         SVGs with filters look grainy when scaled
1460         https://bugs.webkit.org/show_bug.cgi?id=5526
1461
1462         Fixed issues on Cairos shadow implementation after the changes to FilterEffects.
1463         Cairo calculates the inflation of the effect rect itself. Respect this for FEGaussianBlur.
1464         This is just a temporary solution, since Cairo and Qt will use ContextShadow soon.
1465
1466         * platform/graphics/GraphicsContext.h:
1467         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1468         (WebCore::drawBorderlessRectShadow):
1469         (WebCore::GraphicsContext::applyPlatformShadow):
1470         (WebCore::GraphicsContext::createShadowMask):
1471         (WebCore::GraphicsContext::drawTiledShadow):
1472         (WebCore::GraphicsContext::fillRoundedRect):
1473         * platform/graphics/filters/ImageBufferFilter.cpp:
1474         (WebCore::ImageBufferFilter::ImageBufferFilter):
1475         (WebCore::ImageBufferFilter::create):
1476         * platform/graphics/filters/ImageBufferFilter.h:
1477         (WebCore::ImageBufferFilter::filterRegion):
1478         (WebCore::ImageBufferFilter::sourceImageRect):
1479
1480 2010-10-06  Nikolas Zimmermann  <nzimmermann@rim.com>
1481
1482         Reviewed by Dirk Schulze.
1483
1484         Only execute first SVG text layout phase if needed
1485         https://bugs.webkit.org/show_bug.cgi?id=47254
1486
1487         The first SVG text layout phase which computes the per-character metrics and extracts
1488         the x/y/dx/dy/rotate values from the SVG DOM is currently executed upon every RenderSVGText::layout() call.
1489
1490         Optimize this, by only calling it:
1491         - if x/y/dx/dy/rotate value lists change
1492         - the style of a RenderSVGInlineText changes (eg. font-size changes influence metrics)
1493         - the text content of any of the children in the <text> subtree change
1494
1495         No change in layout tests, a pure performance change - covered by existing tests.
1496
1497         * rendering/RenderSVGResourceGradient.cpp:
1498         (WebCore::createMaskAndSwapContextForTextGradient): Adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
1499         (WebCore::clipToTextMask): Ditto.
1500         * rendering/SVGRenderSupport.cpp:
1501         * rendering/SVGRenderSupport.h: Move findTreeRootObject to RenderSVGText::locateRenderSVGTextAncestor().
1502         * rendering/svg/RenderSVGInline.cpp:
1503         (WebCore::RenderSVGInline::objectBoundingBox): adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor().
1504         (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
1505         (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
1506         (WebCore::RenderSVGInline::absoluteQuads): Ditto.
1507         * rendering/svg/RenderSVGInlineText.cpp:
1508         (WebCore::RenderSVGInlineText::styleDidChange): Call setNeedsPositioningValuesUpdate() on the RenderSVGText root object, if diff == StyleDifferenceLayout.
1509         * rendering/svg/RenderSVGText.cpp:
1510         (WebCore::RenderSVGText::RenderSVGText): Initialize m_needsPositioningValuesUpdate.
1511         (WebCore::RenderSVGText::locateRenderSVGTextAncestor): New helper function, moved from SVGRenderSupport, to a more sensible place.
1512         (WebCore::RenderSVGText::layout): Only execute the first SVG text layout phase, if m_needsPositioningValuesUpdate=true.
1513         * rendering/svg/RenderSVGText.h:
1514         (WebCore::RenderSVGText::setNeedsPositioningValuesUpdate):
1515         (WebCore::toRenderSVGText): Add new helper casting methods, like most other renderers have.
1516         * svg/SVGTextPositioningElement.cpp:
1517         (WebCore::updatePositioningValuesInRenderer):
1518         (WebCore::SVGTextPositioningElement::svgAttributeChanged): If x/y/dx/dy/rotate changes, call setNeedsPositioningValuesUpdate on the RenderSVGText root object.
1519         (WebCore::SVGTextPositioningElement::childrenChanged): If any children changes (addition, removal), do the same.
1520         * svg/SVGTextPositioningElement.h:
1521
1522 2010-10-05  Andrey Kosyakov  <caseq@chromium.org>
1523
1524         Reviewed by Yury Semikhatsky.
1525
1526         Web Inspector: [Extensions API] Expose access to resource bodies
1527         Added support for encoding resource in WebInspector.getResourceContent()
1528         https://bugs.webkit.org/show_bug.cgi?id=45953
1529
1530         * inspector/Inspector.idl: Added encoding parameter to getResourceContent()
1531         * inspector/InspectorController.cpp:
1532         (WebCore::InspectorController::getResourceContent):
1533         * inspector/InspectorController.h:
1534         * inspector/InspectorResource.cpp: Added sourceBytes() to return encoded representation of resource's binary body.
1535         (WebCore::InspectorResource::sourceBytes):
1536         * inspector/InspectorResource.h:
1537         * inspector/front-end/ExtensionAPI.js:
1538         (WebInspector.injectedExtensionAPI.Resources.prototype.getContent):
1539         * inspector/front-end/ExtensionServer.js:
1540         (WebInspector.ExtensionServer):
1541         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1542         (WebInspector.ExtensionServer.prototype._onGetResourceContent.onContentAvailable):
1543         (WebInspector.getEncodedResourceContent):
1544         * inspector/front-end/NetworkPanel.js:
1545         (WebInspector.getResourceContent):
1546         * inspector/front-end/ResourcesPanel.js:
1547         (WebInspector.getResourceContent):
1548
1549 2010-10-06  David Hyatt  <hyatt@apple.com>
1550
1551         Reviewed by Dan Bernstein.
1552
1553         https://bugs.webkit.org/show_bug.cgi?id=47235
1554         
1555         Make "lr" block-flow fieldsets work.
1556         
1557         (1) Patched html.css rules for legends and fieldsets to use logical margins and padding.
1558         (2) Converted just enough of computePreferredLogicalWidths to make basic examples work.
1559         (3) Removed the extra border drawing code from fieldsets so that the "clip out the legend" approach
1560         is now just always used.  It's silly to keep the old border drawing code in (which has already gotten out
1561         of sync with the base class) just to avoid a save/restore and some clipping.
1562         (4) Modified the layout/painting routines to place the legend properly and to be able to draw it in
1563         both the top and the left borders.
1564
1565         Added fast/blockflow/fieldsets.html
1566
1567         * css/html.css:
1568         (legend):
1569         (fieldset):
1570         * rendering/RenderBlock.cpp:
1571         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
1572         (WebCore::RenderBlock::setLogicalLeftForChild):
1573         (WebCore::RenderBlock::setLogicalTopForChild):
1574         (WebCore::RenderBlock::layoutBlockChild):
1575         (WebCore::RenderBlock::computePreferredLogicalWidths):
1576         * rendering/RenderBlock.h:
1577         * rendering/RenderFieldset.cpp:
1578         (WebCore::RenderFieldset::layoutLegend):
1579         (WebCore::RenderFieldset::paintBoxDecorations):
1580         (WebCore::RenderFieldset::paintMask):
1581         * rendering/RenderFieldset.h:
1582
1583 2010-10-06  Patrick Gansterer  <paroga@webkit.org>
1584
1585         Reviewed by Darin Adler.
1586
1587         Move parseDataUrl() from CURL into own file
1588         https://bugs.webkit.org/show_bug.cgi?id=41462
1589
1590         Move the data URL parsing algorithm into a new file to use it in ResourceHandleWin too.
1591
1592         * CMakeLists.txt:
1593         * WebCore.gypi:
1594         * WebCore.vcproj/WebCore.vcproj:
1595         * platform/network/DataURL.cpp: Added.
1596         (WebCore::handleDataURL):
1597         * platform/network/DataURL.h: Added.
1598         * platform/network/curl/ResourceHandleManager.cpp:
1599         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
1600         (WebCore::ResourceHandleManager::startJob):
1601         * platform/network/win/ResourceHandleWin.cpp:
1602         (WebCore::ResourceHandle::start):
1603         (WebCore::ResourceHandle::fileLoadTimer):
1604
1605 2010-10-06  Dirk Schulze  <krit@webkit.org>
1606
1607         Reviewed by Nikolas Zimmermann.
1608
1609         SVGs with filters look grainy when scaled
1610         https://bugs.webkit.org/show_bug.cgi?id=5526
1611
1612         SVG filter effects need smarter size calculation
1613         https://bugs.webkit.org/show_bug.cgi?id=31370
1614
1615         SVG elements use Filters before own transformations
1616         https://bugs.webkit.org/show_bug.cgi?id=32486
1617
1618         Calculate all filter results in device space instead of the filtered objects user space. This change is similar to
1619         the patches for SVG Pattern and SVG Masker before. It avoids pixelation and guarantees smooth filter results for
1620         every scale level and is independent of any transformation to the target element or any ancester of the target.
1621         The second part of this patch reduces the size of every effect to the smallest affected region instead of the complete
1622         filter primitive subregion (http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion). We just use the subregion
1623         as clipping region, like mentioned in the SVG specification, to make the affected region even smaller now.
1624
1625         This is a huge speed up. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and
1626         renders in less than a second.
1627         Some examples on svg-wow.org can be viewed the first time now, since the subregions were much bigger than the affected
1628         region.
1629         There's still more potential to speed up filters, by further reducing the ImageBuffer sizes.
1630         Renamed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the
1631         user space now.
1632         The absolute paint rect is calculated by determineAbsolutePaintRect() and gets called by FilterEffect::effectContext() on
1633         applying the effect.
1634         Partly rewrote filter resolution (http://www.w3.org/TR/SVG/filters.html#FilterElementFilterResAttribute) to work with the
1635         new concept. This also corrects the old behavior to match the SVG specification.
1636
1637         Tests: svg/filters/filterRes1.svg
1638                svg/filters/filterRes2.svg
1639                svg/filters/filterRes3.svg
1640
1641         * platform/graphics/cairo/GraphicsContextCairo.cpp: Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates.
1642         (WebCore::GraphicsContext::createShadowMask):
1643         * platform/graphics/filters/FEBlend.cpp: Renamed repaintRectInLocalCoordinates to absolutePaintRect.
1644         (WebCore::FEBlend::apply):
1645         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
1646         (WebCore::FEColorMatrix::apply):
1647         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
1648         (WebCore::FEComponentTransfer::apply):
1649         * platform/graphics/filters/FEComposite.cpp: Ditto.
1650         (WebCore::FEComposite::determineAbsolutePaintRect):
1651         (WebCore::FEComposite::apply):
1652         * platform/graphics/filters/FEComposite.h:
1653         * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
1654         (WebCore::FEConvolveMatrix::apply):
1655         * platform/graphics/filters/FEConvolveMatrix.h:
1656         (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
1657         * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
1658         (WebCore::FEDisplacementMap::apply):
1659         * platform/graphics/filters/FEDisplacementMap.h:
1660         (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
1661         * platform/graphics/filters/FEFlood.cpp: Ditto.
1662         (WebCore::FEFlood::apply):
1663         * platform/graphics/filters/FEFlood.h:
1664         (WebCore::FEFlood::determineAbsolutePaintRect):
1665         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
1666         (WebCore::calculateKernelSize):
1667         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
1668         (WebCore::FEGaussianBlur::apply):
1669         * platform/graphics/filters/FEGaussianBlur.h:
1670         * platform/graphics/filters/FELighting.cpp: Ditto.
1671         (WebCore::FELighting::apply):
1672         * platform/graphics/filters/FEMerge.cpp: Ditto.
1673         (WebCore::FEMerge::apply):
1674         * platform/graphics/filters/FEMorphology.cpp: Ditto.
1675         (WebCore::FEMorphology::determineAbsolutePaintRect):
1676         (WebCore::FEMorphology::apply):
1677         * platform/graphics/filters/FEMorphology.h:
1678         * platform/graphics/filters/FEOffset.cpp: Ditto.
1679         (WebCore::FEOffset::determineAbsolutePaintRect):
1680         (WebCore::FEOffset::apply):
1681         * platform/graphics/filters/FEOffset.h:
1682         * platform/graphics/filters/FETile.cpp: Ditto.
1683         (WebCore::FETile::determineFilterPrimitiveSubregion):
1684         (WebCore::FETile::apply):
1685         * platform/graphics/filters/FETile.h:
1686         (WebCore::FETile::determineAbsolutePaintRect):
1687         * platform/graphics/filters/FETurbulence.cpp: Ditto.
1688         (WebCore::FETurbulence::apply):
1689         * platform/graphics/filters/FETurbulence.h:
1690         (WebCore::FETurbulence::determineAbsolutePaintRect):
1691         * platform/graphics/filters/Filter.h:
1692         (WebCore::Filter::applyHorizontalScale): Map horizontal effect values to absolute coordinates.
1693         (WebCore::Filter::applyVerticalScale): Map vertical effect values to absolute coordinates.
1694         (WebCore::Filter::mapAbsolutePointToLocalPoint):
1695         (WebCore::Filter::filterRegionInUserSpace):
1696         * platform/graphics/filters/FilterEffect.cpp: Ditto.
1697         (WebCore::FilterEffect::determineFilterPrimitiveSubregion):
1698         (WebCore::FilterEffect::determineAbsolutePaintRect):
1699         (WebCore::FilterEffect::requestedRegionOfInputImageData):
1700         (WebCore::FilterEffect::drawingRegionOfInputImage):
1701         (WebCore::FilterEffect::effectContext):
1702         * platform/graphics/filters/FilterEffect.h:
1703         (WebCore::FilterEffect::absolutePaintRect):
1704         (WebCore::FilterEffect::setAbsolutePaintRect):
1705         (WebCore::FilterEffect::maxEffectRect): The subregion in absolute coordinates for SVG.
1706         (WebCore::FilterEffect::setMaxEffectRect):
1707         * platform/graphics/filters/SourceAlpha.cpp: Ditto.
1708         (WebCore::SourceAlpha::determineAbsolutePaintRect):
1709         (WebCore::SourceAlpha::apply):
1710         * platform/graphics/filters/SourceAlpha.h:
1711         * platform/graphics/filters/SourceGraphic.cpp: Ditto.
1712         (WebCore::SourceGraphic::determineAbsolutePaintRect):
1713         (WebCore::SourceGraphic::apply):
1714         * platform/graphics/filters/SourceGraphic.h:
1715         * rendering/RenderSVGResourceFilter.cpp:
1716         (WebCore::RenderSVGResourceFilter::applyResource):
1717         (WebCore::RenderSVGResourceFilter::postApplyResource):
1718         * rendering/RenderSVGResourceFilter.h:
1719         (WebCore::FilterData::FilterData):
1720         * svg/graphics/filters/SVGFEImage.cpp: Ditto.
1721         (WebCore::FEImage::apply):
1722         * svg/graphics/filters/SVGFEImage.h:
1723         (WebCore::FEImage::determineAbsolutePaintRect):
1724         * svg/graphics/filters/SVGFilter.cpp:
1725         (WebCore::SVGFilter::SVGFilter):
1726         (WebCore::SVGFilter::determineFilterPrimitiveSubregion):
1727         (WebCore::SVGFilter::applyHorizontalScale):
1728         (WebCore::SVGFilter::applyVerticalScale):
1729         (WebCore::SVGFilter::create):
1730         * svg/graphics/filters/SVGFilter.h:
1731         (WebCore::SVGFilter::effectBoundingBoxMode):
1732         (WebCore::SVGFilter::filterRegionInUserSpace):
1733         (WebCore::SVGFilter::filterRegion):
1734         (WebCore::SVGFilter::mapAbsolutePointToLocalPoint): Map absolute point to local point in userspace.
1735         (WebCore::SVGFilter::sourceImageRect):
1736         (WebCore::SVGFilter::maxImageSize):
1737
1738 2010-10-06  Pavel Podivilov  <podivilov@chromium.org>
1739
1740         Reviewed by Yury Semikhatsky.
1741
1742         Web Inspector: add "Set Breakpoint" item to XHR resource context menu.
1743         https://bugs.webkit.org/show_bug.cgi?id=47085
1744
1745         * English.lproj/localizedStrings.js:
1746         * inspector/front-end/ResourcesPanel.js:
1747         (WebInspector.ResourcesPanel.prototype._contextMenu):
1748
1749 2010-10-05  Kinuko Yasuda  <kinuko@chromium.org>
1750
1751         Reviewed by David Levin.
1752
1753         Add idl and mock classes for FileSystemSync for FileSystem API
1754         https://bugs.webkit.org/show_bug.cgi?id=46405
1755
1756         Added bunch of *Sync classes, plus refactored some classes:
1757         Added DOMFileSystemBase as a common base class for DOMFileSystem and
1758         DOMFileSystemSync.
1759         Added EntryBase as a common base class for Entry and EntrySync.
1760         Added DirectoryReaderBase as a common base class for DirectoryReader and
1761         DirectoryReaderSync.
1762
1763         Test: fast/filesystem/workers/
1764
1765         * CMakeLists.txt: Added new files.
1766         * DerivedSources.cpp: Added new files.
1767         * DerivedSources.make: Added new files.
1768         * GNUmakefile.am: Added new files.
1769         * WebCore.gypi: Added new files.
1770         * WebCore.pri: Added new files.
1771         * WebCore.pro: Added new files.
1772         * WebCore.vcproj/WebCore.vcproj: Added new files. Also removed the duplicated fileapi\FileEntry.cpp entry.
1773         * WebCore.xcodeproj/project.pbxproj: Added new files.
1774         * bindings/js/JSDirectoryEntrySyncCustom.cpp: Added.
1775         * bindings/js/JSEntrySyncCustom.cpp: Added.
1776         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Added.
1777         * bindings/v8/custom/V8EntrySyncCustom.cpp: Added.
1778         * fileapi/DOMFileSystemBase.cpp: Added.
1779         * fileapi/DOMFileSystemBase.h: Added.
1780         * fileapi/DOMFileSystemSync.cpp: Added.
1781         * fileapi/DOMFileSystemSync.h: Added.
1782         * fileapi/DOMFileSystemSync.idl: Added.
1783         * fileapi/DirectoryEntrySync.cpp: Added.
1784         * fileapi/DirectoryEntrySync.h: Added.
1785         * fileapi/DirectoryEntrySync.idl: Added.
1786         * fileapi/DirectoryReaderBase.h: Added.
1787         * fileapi/DirectoryReaderSync.cpp: Added.
1788         * fileapi/DirectoryReaderSync.h: Added.
1789         * fileapi/DirectoryReaderSync.idl: Added.
1790         * fileapi/EntryArraySync.cpp: Added.
1791         * fileapi/EntryArraySync.h: Added.
1792         * fileapi/EntryArraySync.idl: Added.
1793         * fileapi/EntryBase.h: Added.
1794         * fileapi/EntrySync.cpp: Added.
1795         * fileapi/EntrySync.h: Added.
1796         * fileapi/EntrySync.idl: Added.
1797         * fileapi/FileEntrySync.cpp: Added.
1798         * fileapi/FileEntrySync.h: Added.
1799         * fileapi/FileEntrySync.idl: Added.
1800
1801 2010-10-05  Kent Tamura  <tkent@chromium.org>
1802
1803         Reviewed by Dimitri Glazkov.
1804
1805         REGRESSION (r67166): "Placeholder" text remains in input box after 2nd focus()
1806         https://bugs.webkit.org/show_bug.cgi?id=45940
1807
1808         Test: fast/forms/input-placeholder-focus-twice.html
1809
1810         * html/HTMLFormControlElement.h: Make supportsPlaceholder() public.
1811         * rendering/RenderTextControlSingleLine.cpp:
1812         (WebCore::RenderTextControlSingleLine::updateFromElement):
1813          We always need to update the renderer value with the DOM value if
1814          the element supports the placeholder feature.
1815          Note: the placeholder feature and "unacceptable renderer value"
1816          are exclusive.
1817
1818 2010-10-05  Kyusun Kim  <maniagoon@company100.net>
1819
1820         Reviewed by Kent Tamura.
1821
1822         [BREWMP] Translate key code in PlatformKeyboardEvent with IKeysMapping
1823         https://bugs.webkit.org/show_bug.cgi?id=47234
1824
1825         Brew MP devices have a variey of key configurations and use modifiers to
1826         input capital letters, symbols and special characters. Use IKeysMapping to translate key code.
1827
1828         * platform/brew/PlatformKeyboardEventBrew.cpp:
1829         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1830
1831 2010-10-05  W. James MacLean  <wjmaclean@chromium.org>
1832
1833         Reviewed by James Robinson.
1834
1835         [chromium] Add mipmap support for ImageLayerChromium
1836         https://bugs.webkit.org/show_bug.cgi?id=46493
1837
1838         Mipmap behaviour can be tested with existing tests.
1839         Tests in LayoutTests/compositing/images/ will detect if
1840         mipmaps fail.
1841
1842         * platform/graphics/chromium/ContentLayerChromium.cpp:
1843         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
1844         (WebCore::isPowerOfTwo):
1845         (WebCore::ContentLayerChromium::updateTextureRect):
1846         * platform/graphics/chromium/ContentLayerChromium.h:
1847         (WebCore::ContentLayerChromium::SharedValues::npotSupported):
1848         * platform/graphics/chromium/ImageLayerChromium.cpp:
1849         (WebCore::ImageLayerChromium::updateContents):
1850
1851 2010-10-05  Adam Barth  <abarth@webkit.org>
1852
1853         Reviewed by Darin Adler.
1854
1855         Issue in treebuilder parsing related to table tags
1856         https://bugs.webkit.org/show_bug.cgi?id=47190
1857
1858         Update ASSERT to match the spec and our behavior.
1859
1860         * html/parser/HTMLTreeBuilder.cpp:
1861         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1862
1863 2010-10-05  Victoria Kirst  <vrk@google.com>
1864
1865         Reviewed by James Robinson.
1866
1867         VideoLayerChromium releases old resources if the LayerRenderer changes.
1868         https://bugs.webkit.org/show_bug.cgi?id=47030
1869
1870         Refactored LayerChromium to have a virtual cleanupResources() method
1871         that will release textures/other context-dependent resources when a
1872         LayerRenderer changes. ContentLayerChromium and VideoLayerChromium now
1873         override this method to perform cleanup.
1874
1875         * platform/graphics/chromium/ContentLayerChromium.cpp:
1876         * platform/graphics/chromium/ContentLayerChromium.h:
1877         * platform/graphics/chromium/LayerChromium.cpp:
1878         (WebCore::LayerChromium::setLayerRenderer):
1879         * platform/graphics/chromium/LayerChromium.h:
1880         (WebCore::LayerChromium::cleanupResources):
1881         * platform/graphics/chromium/VideoLayerChromium.cpp:
1882         (WebCore::VideoLayerChromium::~VideoLayerChromium):
1883         (WebCore::VideoLayerChromium::cleanupResources):
1884         * platform/graphics/chromium/VideoLayerChromium.h:
1885
1886 2010-10-05  Kinuko Yasuda  <kinuko@chromium.org>
1887
1888         Reviewed by Jian Li.
1889
1890         FileEntry::file needs to be implemented
1891         https://bugs.webkit.org/show_bug.cgi?id=47192
1892
1893         Test: fast/filesystem/file-from-file-entry.html
1894
1895         * fileapi/FileEntry.cpp:
1896         (WebCore::FileEntry::file): Implemented.
1897
1898 2010-09-29  Alpha Lam  <hclam@chromium.org>
1899
1900         Reviewed by James Robinson.
1901
1902         Render textures in video frame directly.
1903         https://bugs.webkit.org/show_bug.cgi?id=46765
1904
1905         Render textures in VideoLayerChromium directly if the video frame type
1906         is GL texture. In the future VideoLayerChromium will not allocate
1907         textures and perform textures upload as those operations will be done
1908         in Chromium to minimize memory copy. This patch will help moving toward
1909         this direction and facilitate hardware video decoding.
1910
1911         * platform/graphics/chromium/VideoFrameChromium.h:
1912         * platform/graphics/chromium/VideoFrameProvider.h:
1913         (WebCore::VideoFrameProvider::~VideoFrameProvider):
1914         * platform/graphics/chromium/VideoLayerChromium.cpp:
1915         (WebCore::VideoLayerChromium::VideoLayerChromium):
1916         (WebCore::VideoLayerChromium::~VideoLayerChromium):
1917         (WebCore::VideoLayerChromium::updateContents):
1918         (WebCore::VideoLayerChromium::draw):
1919         (WebCore::VideoLayerChromium::releaseCurrentFrame):
1920         (WebCore::VideoLayerChromium::resetFrameParameters):
1921         (WebCore::VideoLayerChromium::saveCurrentFrame):
1922         * platform/graphics/chromium/VideoLayerChromium.h:
1923         (WebCore::VideoLayerChromium::SharedValues::initialized):
1924
1925 2010-10-05  Fady Samuel  <fsamuel@chromium.org>
1926
1927         Reviewed by Darin Adler.
1928
1929         REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages
1930         https://bugs.webkit.org/show_bug.cgi?id=45131
1931
1932         When border-collapse: separate property is set on the table, paintObject
1933         may skip repainting cells, if the dirty region only touches one row/col of pixels.
1934
1935         Test: fast/table/simple_paint_separate_borders.html
1936
1937         * rendering/RenderTableSection.cpp:
1938         (WebCore::RenderTableSection::paintObject):  
1939             Don't subtract one from the right and bottom of the dirty paint rect.
1940
1941 2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
1942
1943         Reviewed by Darin Fisher.
1944
1945         PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node.
1946         https://bugs.webkit.org/show_bug.cgi?id=47129
1947
1948         * html/PluginDocument.cpp:
1949         (WebCore::PluginDocumentParser::createDocumentStructure):
1950         (WebCore::PluginDocument::pluginWidget):
1951         (WebCore::PluginDocument::pluginNode):
1952         * html/PluginDocument.h:
1953         (WebCore::PluginDocument::setPluginNode):
1954
1955 2010-10-05  Andreas Kling  <kling@webkit.org>
1956
1957         Reviewed by Tor Arne Vestbø.
1958
1959         [Qt] Re-enable single-NPP_SetWindow quirk for 64-bit
1960         https://bugs.webkit.org/show_bug.cgi?id=45363
1961
1962         This is still causing trouble for people, so let's put the
1963         quirk back until we can figure this out properly.
1964
1965         * plugins/PluginPackage.cpp:
1966         (WebCore::PluginPackage::determineQuirks):
1967
1968 2010-10-05  Jian Li  <jianli@chromium.org>
1969
1970         Reviewed by Nate Chapin.
1971
1972         [V8] Add FileReader to active DOM map
1973         https://bugs.webkit.org/show_bug.cgi?id=47205
1974
1975         We need to have a custom FileReader V8 constructor in order to add object
1976         into active DOM map to prevent it from GC-ed when it is still in-use.
1977
1978         * Android.v8bindings.mk:
1979         * WebCore.gypi:
1980         * bindings/scripts/CodeGeneratorV8.pm:
1981         * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
1982         (WebCore::V8FileReader::constructorCallback):
1983         * fileapi/FileReader.idl:
1984
1985 2010-10-05  Vincent Scheib  <scheib@chromium.org>
1986
1987         Reviewed by Kenneth Russell.
1988
1989         [chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer
1990         https://bugs.webkit.org/show_bug.cgi?id=47193
1991
1992         Test: Accelerated compositor test infrastructure still coming online. Tested manually.
1993
1994         * platform/graphics/chromium/LayerRendererChromium.cpp:
1995         (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
1996         (WebCore::LayerRendererChromium::prepareToDrawLayers):
1997         (WebCore::LayerRendererChromium::drawLayers):
1998
1999 2010-10-05  Nico Weber  <thakis@chromium.org>
2000
2001         Reviewed by Andreas Kling.
2002
2003         Fix clang build
2004         https://bugs.webkit.org/show_bug.cgi?id=47198
2005
2006         * page/Chrome.h:
2007         Declare ViewportArguments as struct, not as class.
2008
2009 2010-10-05  David Hyatt  <hyatt@apple.com>
2010
2011         Reviewed by Sam Weinig.
2012
2013         https://bugs.webkit.org/show_bug.cgi?id=47204
2014         
2015         Make isSelfCollapsingBlock use logical height instead of height in all its checks.
2016
2017         Added fast/blockflow/self-collapsing-block.html
2018
2019         * rendering/RenderBlock.cpp:
2020         (WebCore::RenderBlock::isSelfCollapsingBlock):
2021
2022 2010-10-05  Eric Uhrhane  <ericu@chromium.org>
2023
2024         Reviewed by David Levin.
2025
2026         Relax restrictions on FileWriter::didWrite calls
2027         https://bugs.webkit.org/show_bug.cgi?id=47139
2028
2029         No new tests; they're still waiting on the first implementation.
2030
2031         * fileapi/FileWriter.cpp:
2032         (WebCore::FileWriter::FileWriter):
2033         (WebCore::FileWriter::write):
2034         (WebCore::FileWriter::didWrite):
2035         * fileapi/FileWriter.h:
2036
2037 2010-10-05  Daniel Cheng  <dcheng@chromium.org>
2038
2039         Reviewed by Tony Chang.
2040
2041         [chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list')
2042         https://bugs.webkit.org/show_bug.cgi?id=46943
2043
2044         We no longer parse the input of setData('text/uri-list') and only store
2045         the valid URLs that were parsed out.
2046
2047         Test: editing/pasteboard/dataTransfer-setData-getData.html
2048
2049         * platform/chromium/ChromiumDataObject.cpp:
2050         (WebCore::ChromiumDataObject::clearData):
2051         (WebCore::ChromiumDataObject::clearAllExceptFiles):
2052         (WebCore::ChromiumDataObject::types):
2053         (WebCore::ChromiumDataObject::getData):
2054         (WebCore::ChromiumDataObject::setData):
2055         * platform/chromium/ChromiumDataObject.h:
2056
2057 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
2058
2059         Reviewed by Xan Lopez.
2060
2061         [GTK] Support FontPlatformData::isFixedPitch for custom fonts
2062         https://bugs.webkit.org/show_bug.cgi?id=47124
2063
2064         Instead of determining whether or not a font is a fixed-width font
2065         lazily, do it up front. For fonts not backed by Fontconfig patterns,
2066         fetch information about whether or not the font is fixed-width from
2067         the FreeType face.
2068
2069         No new tests as this should not change functionality.
2070
2071         * platform/graphics/cairo/FontPlatformDataFreeType.cpp:
2072         (WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member
2073         from the Fontconfig pattern or the FreeType face.
2074         (WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member.
2075         (WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member.
2076         * platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member.
2077
2078 2010-10-05  David Hyatt  <hyatt@apple.com>
2079
2080         Reviewed by Anders Carlsson.
2081
2082         https://bugs.webkit.org/show_bug.cgi?id=47199
2083         
2084         Make float positioning work in block layout with block children.
2085         It doesn't work yet from inside line layout, since line layout is unpatched.
2086
2087         Added fast/blockflow/floats-in-block-layout.html
2088
2089         * rendering/RenderBlock.cpp:
2090         (WebCore::RenderBlock::adjustFloatingBlock):
2091         (WebCore::RenderBlock::setLogicalLeftForChild):
2092         (WebCore::RenderBlock::setLogicalTopForChild):
2093         (WebCore::RenderBlock::insertFloatingObject):
2094         (WebCore::RenderBlock::positionNewFloats):
2095         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2096         (WebCore::RenderBlock::logicalRightOffsetForLine):
2097         * rendering/RenderBlock.h:
2098         (WebCore::RenderBlock::FloatingObject::type):
2099         (WebCore::RenderBlock::FloatingObject::renderer):
2100         (WebCore::RenderBlock::logicalRightForFloat):
2101         (WebCore::RenderBlock::setLogicalTopForFloat):
2102         (WebCore::RenderBlock::setLogicalLeftForFloat):
2103         (WebCore::RenderBlock::setLogicalHeightForFloat):
2104         (WebCore::RenderBlock::setLogicalWidthForFloat):
2105
2106 2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
2107
2108         Reviewed by Kenneth Rohde Christiansen.
2109
2110         [Qt] Web process crash when pressing modifiers in input field
2111         https://bugs.webkit.org/show_bug.cgi?id=44935
2112
2113         Revert part of the http://trac.webkit.org/changeset/69105 due to a
2114         test regression.  Unix: Add ASSERTs to plugin related code. These
2115         will fail if Qt WebKit2 is used with plugins, unless code is not
2116         fixed before.
2117
2118         * plugins/qt/PluginViewQt.cpp:
2119         (WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder.
2120
2121 2010-10-05  Chris Rogers  <crogers@google.com>
2122
2123         Reviewed by Kenneth Russell.
2124
2125         Add AudioBasicProcessorNode files
2126         https://bugs.webkit.org/show_bug.cgi?id=46495
2127
2128         No new tests since audio API is not yet implemented.
2129
2130         * webaudio/AudioBasicProcessorNode.cpp: Added.
2131         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
2132         (WebCore::AudioBasicProcessorNode::initialize):
2133         (WebCore::AudioBasicProcessorNode::uninitialize):
2134         (WebCore::AudioBasicProcessorNode::process):
2135         (WebCore::AudioBasicProcessorNode::pullInputs):
2136         (WebCore::AudioBasicProcessorNode::reset):
2137         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
2138         (WebCore::AudioBasicProcessorNode::numberOfChannels):
2139         * webaudio/AudioBasicProcessorNode.h: Added.
2140         (WebCore::AudioBasicProcessorNode::processor):
2141
2142 2010-10-05  Chris Marrin  <cmarrin@apple.com>
2143
2144         Unreviewed.
2145
2146         The platform/graphics/gpu folder was mistakenly inside the filters folder.
2147         I moved it to the right place in the Group Tree.
2148
2149         * WebCore.xcodeproj/project.pbxproj:
2150
2151 2010-10-05  Chris Marrin  <cmarrin@apple.com>
2152
2153         Reviewed by Adam Roben.
2154
2155         Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash
2156         https://bugs.webkit.org/show_bug.cgi?id=47197
2157
2158         This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
2159         by default). Many existing test cases will crash before and after this patch.
2160
2161         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2162         (WebCore::SharedGraphicsContext3D::create):
2163
2164 2010-10-05  Tony Chang  <tony@chromium.org>
2165
2166         Reviewed by Kent Tamura.
2167
2168         [chromium] properly paint really small scrollbar arrows on linux
2169         https://bugs.webkit.org/show_bug.cgi?id=47109
2170
2171         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2172         (WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size.  This matches what
2173             we do on Win.
2174
2175 2010-10-05  Nate Chapin  <japhet@chromium.org>
2176
2177         Reviewed by David Levin.
2178
2179         Remove unused CachedResource::Status values (New and NotCached).
2180         https://bugs.webkit.org/show_bug.cgi?id=47132
2181
2182         Refactor only, no new tests.
2183
2184         * loader/CachedResource.h:
2185         * loader/CachedResourceLoader.cpp:
2186         (WebCore::CachedResourceLoader::checkCacheObjectStatus):
2187
2188 2010-10-04  Jeremy Orlow  <jorlow@chromium.org>
2189
2190         Reviewed by Nate Chapin.
2191
2192         Rename get* and open*Cursor per the spec on IDBIndex
2193         https://bugs.webkit.org/show_bug.cgi?id=46906
2194
2195         The spec changed so that:
2196         IDBIndex.get -> getKey
2197         IDBIndex.getObject -> get
2198         IDBIndex.openCursor -> openKeyCursor
2199         IDBIndex.openObjectCursor -> openCursor
2200
2201         Existing tests cover since this is just renaming stuff.
2202
2203         * storage/IDBIndex.cpp:
2204         (WebCore::IDBIndex::openCursor):
2205         (WebCore::IDBIndex::openKeyCursor):
2206         (WebCore::IDBIndex::get):
2207         (WebCore::IDBIndex::getKey):
2208         * storage/IDBIndex.h:
2209         * storage/IDBIndex.idl:
2210         * storage/IDBIndexBackendImpl.cpp:
2211         (WebCore::IDBIndexBackendImpl::openCursor):
2212         (WebCore::IDBIndexBackendImpl::openKeyCursor):
2213         (WebCore::IDBIndexBackendImpl::get):
2214         (WebCore::IDBIndexBackendImpl::getKey):
2215         * storage/IDBIndexBackendImpl.h:
2216         * storage/IDBIndexBackendInterface.h:
2217
2218 2010-10-05  Keith Kyzivat  <keith.kyzivat@nokia.com>
2219
2220         Reviewed by Simon Hausmann.
2221
2222         [Qt] Fix breakage in RVCT 2.2 compile
2223         https://bugs.webkit.org/show_bug.cgi?id=47187
2224
2225         Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and 
2226         html/canvas/Uin8Array.h
2227         For RVCT2.2, the using clause is unneeded, and can be omitted.
2228
2229         A Test case cannot be made for this since this is a build-related issue.
2230
2231         * html/canvas/Int32Array.h:
2232         * html/canvas/Uint8Array.h:
2233
2234 2010-10-04  Andrei Popescu  <andreip@google.com>
2235
2236         Reviewed by Jeremy Orlow.
2237
2238         IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous.
2239         https://bugs.webkit.org/show_bug.cgi?id=46883
2240
2241         Makes the schema manipulation methods synchronous. Modifies the transaction
2242         logic to support tasks that may have pending events as well as tasks that
2243         don't have such events.
2244
2245         * storage/IDBDatabase.cpp:
2246         (WebCore::IDBDatabase::createObjectStore):
2247         (WebCore::IDBDatabase::removeObjectStore):
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         * storage/IDBDatabaseBackendImpl.h:
2256         * storage/IDBDatabaseBackendInterface.h:
2257         * storage/IDBIndexBackendImpl.cpp:
2258         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
2259         * storage/IDBIndexBackendImpl.h:
2260         (WebCore::IDBIndexBackendImpl::create):
2261         (WebCore::IDBIndexBackendImpl::id):
2262         (WebCore::IDBIndexBackendImpl::setId):
2263         * storage/IDBObjectStore.cpp:
2264         (WebCore::IDBObjectStore::createIndex):
2265         (WebCore::IDBObjectStore::removeIndex):
2266         * storage/IDBObjectStore.h:
2267         * storage/IDBObjectStore.idl:
2268         * storage/IDBObjectStoreBackendImpl.cpp:
2269         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
2270         (WebCore::IDBObjectStoreBackendImpl::createIndex):
2271         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2272         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
2273         (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal):
2274         * storage/IDBObjectStoreBackendImpl.h:
2275         (WebCore::IDBObjectStoreBackendImpl::create):
2276         (WebCore::IDBObjectStoreBackendImpl::id):
2277         (WebCore::IDBObjectStoreBackendImpl::setId):
2278         (WebCore::IDBObjectStoreBackendImpl::autoIncrement):
2279         * storage/IDBObjectStoreBackendInterface.h:
2280         * storage/IDBTransactionBackendImpl.cpp:
2281         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2282         (WebCore::IDBTransactionBackendImpl::objectStore):
2283         (WebCore::IDBTransactionBackendImpl::scheduleTask):
2284         (WebCore::IDBTransactionBackendImpl::abort):
2285         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
2286         (WebCore::IDBTransactionBackendImpl::run):
2287         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2288         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
2289         * storage/IDBTransactionBackendImpl.h:
2290
2291 2010-10-05  Chris Fleizach  <cfleizach@apple.com>
2292
2293         Reviewed by Darin Adler.
2294
2295         WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off"
2296         https://bugs.webkit.org/show_bug.cgi?id=47185
2297
2298         Test: platform/mac/accessibility/aria-liveregion-marquee-default.html
2299
2300         * accessibility/AccessibilityRenderObject.cpp:
2301         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
2302
2303 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
2304
2305         Reviewed by Xan Lopez.
2306
2307         [GTK] Interior scrollbars do not draw their background properly
2308         https://bugs.webkit.org/show_bug.cgi?id=47096
2309
2310         Correct the method that the GTK+ theme drawing code uses to
2311         draw scrolled window backgrounds. Now it uses gtk_paint_shadow,
2312         the same as the actual code from GTK+.
2313
2314         No new tests as this is very hard to write tests for. The bug only
2315         manifests on some GTK+ themes and we have no test harness mechanism
2316         for testing rendering with non-default GTK+ themes.
2317
2318         * platform/gtk/ScrollbarThemeGtk.cpp:
2319         (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer
2320         initialize the widget state, as it's unused by the callee.
2321         (WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment.
2322         * platform/gtk/gtk2drawing.c:
2323         (moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds
2324         with gtk_paint_shadow instead of gtk_paint_box.
2325
2326 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
2327
2328         Reviewed by Kent Tamura.
2329
2330         [BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem
2331         https://bugs.webkit.org/show_bug.cgi?id=47025
2332
2333         PlatformRefPtr is a better choice here because all Brew MP instances are
2334         reference counted.
2335
2336         * platform/brew/FileSystemBrew.cpp:
2337         (WebCore::getFileSize):
2338         (WebCore::fileExists):
2339         (WebCore::deleteFile):
2340         (WebCore::deleteEmptyDirectory):
2341         (WebCore::canonicalPath):
2342         (WebCore::makeAllDirectories):
2343         (WebCore::openTemporaryFile):
2344
2345 2010-10-05  Martin Robinson  <mrobinson@igalia.com>
2346
2347         Reviewed by Gustavo Noronha Silva.
2348
2349         [GTK] Complex text rendering does not render custom fonts
2350         https://bugs.webkit.org/show_bug.cgi?id=41091
2351
2352         For fonts that do not have a FontConfig pattern (including custom
2353         fonts), fall back to the simple text rendering path. This is a work-
2354         -around for not supporting Pango rendering with non-FontConfig fonts.
2355
2356         Test: platform/gtk/fonts/font-face-with-complex-text.html
2357
2358         * platform/graphics/gtk/FontGtk.cpp:
2359         (WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts.
2360         (WebCore::Font::floatWidthForComplexText): Ditto.
2361         (WebCore::Font::offsetForPositionForComplexText): Ditto.
2362         (WebCore::Font::selectionRectForComplexText): Ditto.
2363
2364 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
2365
2366         Reviewed by Kent Tamura.
2367
2368         [BREWMP] Use PlatformRefPtr in getDisplayInfo
2369         https://bugs.webkit.org/show_bug.cgi?id=47023
2370
2371         Use PlatformRefPtr to release IBitmap* automatically.
2372
2373         * platform/brew/ScreenBrew.cpp:
2374         (WebCore::getDisplayInfo):
2375
2376 2010-10-05  Kristian Monsen  <kristianm@google.com>
2377
2378         Reviewed by Steve Block.
2379
2380         Including JavaScriptCore/config.h from WebCore/config.h
2381         instead of from WebCorePrefix.h.
2382         https://bugs.webkit.org/show_bug.cgi?id=47179
2383
2384         No new tests, just changing where files are included.
2385
2386         * WebCorePrefix.h:
2387         * config.h:
2388
2389 2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
2390
2391         Reviewed by Andreas Kling.
2392
2393         [Qt] Make build work with QT_NO_CURSOR
2394         https://bugs.webkit.org/show_bug.cgi?id=46097
2395
2396         Add a missing include.
2397
2398         * platform/qt/QWebPageClient.h:
2399
2400 2010-10-05  Jakob Petsovits  <jpetsovits@rim.com>
2401
2402         Reviewed by Andreas Kling.
2403
2404         [Qt] Make build work with QT_NO_CURSOR
2405         https://bugs.webkit.org/show_bug.cgi?id=46097
2406
2407         createCustomCursor() is a static function and not used
2408         in that file if QT_NO_CURSOR is defined, so rather than
2409         making it return 0, it should not exist altogether.
2410
2411         * platform/qt/CursorQt.cpp:
2412         (WebCore::createCustomCursor):
2413
2414 2010-10-05  Adam Roben  <aroben@apple.com>
2415
2416         Windows linker warning fix
2417
2418         * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the
2419         build, since it is already being compiled via DerivedSources.cpp. Also
2420         let VS reorder some files.
2421
2422 2010-10-05  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
2423
2424         Reviewed by Kenneth Rohde Christiansen.
2425
2426         [Qt] Web process crash when pressing modifiers in input field
2427         https://bugs.webkit.org/show_bug.cgi?id=44935
2428
2429         Fix null pointer dereference by not using
2430         PlatformKeyboardEvent::m_qtEvent. This member is not set when
2431         event comes from WebKit2.  Unix: Add ASSERTs to plugin related
2432         code. These will fail if WebKit2 is used with plugins, unless code
2433         is not fixed before.  Symbian: Add ASSERT to code which uses
2434         qtEvent(). It will fail when WebKit2 is enabled for Symbian, if
2435         code is not fixed before.
2436
2437         * platform/PlatformKeyboardEvent.h:
2438         * platform/qt/PlatformKeyboardEventQt.cpp:
2439         (WebCore::isVirtualKeyCodeRepresentingCharacter): Added.
2440         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent.
2441         (WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder.
2442         (WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder.
2443         * plugins/qt/PluginViewQt.cpp:
2444         (WebCore::setXKeyEventSpecificFields):
2445         * plugins/symbian/PluginViewSymbian.cpp:
2446         (WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder.
2447
2448 2010-10-05  Kwang Yul Seo  <skyul@company100.net>
2449
2450         Reviewed by Csaba Osztrogonác.
2451
2452         Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp
2453         https://bugs.webkit.org/show_bug.cgi?id=47115
2454
2455         LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by
2456         ENABLE(ACCELERATED_2D_CANVAS).
2457
2458         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp:
2459
2460 2010-10-05  Satish Sampath  <satish@chromium.org>
2461
2462         Reviewed by Kent Tamura.
2463
2464         Added event onwebkitspeechchange to invoke on new speech input results.
2465         https://bugs.webkit.org/show_bug.cgi?id=47127
2466
2467         * dom/EventNames.h: Added webkitspeechchange event name.
2468         * html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name.
2469         * html/HTMLInputElement.cpp:
2470         (WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set.
2471         (WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler.
2472         * html/HTMLInputElement.h:
2473         * html/HTMLInputElement.idl: Added attribute to IDL.
2474         * rendering/TextControlInnerElements.cpp:
2475         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange
2476
2477 2010-10-05  Satish Sampath  <satish@chromium.org>
2478
2479         Reviewed by Jeremy Orlow.
2480
2481         Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention
2482         https://bugs.webkit.org/show_bug.cgi?id=46873
2483
2484         The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension
2485         attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated
2486         code for the attribute did not match the generated code for the IDL, so I modified
2487         dom/make_names.pl to generate the appropriate name for such extension attributes.
2488
2489         * bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name.
2490         (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled):
2491         * dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the
2492         generated code from IDL and remember the original names including the x- prefix when writing
2493         out the cpp files.
2494         * html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech
2495         * html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech
2496
2497 2010-10-04  Andrey Kosyakov  <caseq@chromium.org>
2498
2499         Reviewed by Yury Semikhatsky.
2500
2501         Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API
2502         https://bugs.webkit.org/show_bug.cgi?id=47080
2503
2504         * inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API.
2505         (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
2506
2507 2010-10-05  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
2508
2509         Reviewed by Darin Fisher.
2510
2511         Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child.
2512         https://bugs.webkit.org/show_bug.cgi?id=47129
2513
2514         * html/PluginDocument.cpp:
2515         (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
2516
2517 2010-10-05  Chris Rogers  <crogers@google.com>
2518
2519         Reviewed by Kenneth Russell.
2520
2521         Add BiquadDSPKernel files
2522         https://bugs.webkit.org/show_bug.cgi?id=46528
2523
2524         No new tests since audio API is not yet implemented.
2525
2526         * webaudio/BiquadDSPKernel.cpp: Added.
2527         (WebCore::BiquadDSPKernel::process):
2528         * webaudio/BiquadDSPKernel.h: Added.
2529         (WebCore::BiquadDSPKernel::BiquadDSPKernel):
2530         (WebCore::BiquadDSPKernel::reset):
2531         (WebCore::BiquadDSPKernel::biquadProcessor):
2532
2533 2010-10-05  Chris Rogers  <crogers@google.com>
2534
2535         Reviewed by James Robinson.
2536
2537         Fix AudioContext to use new HRTFDatabaseLoader API
2538         https://bugs.webkit.org/show_bug.cgi?id=46858
2539
2540         No new tests since audio API is not yet implemented.
2541
2542         * webaudio/AudioContext.cpp:
2543         (WebCore::AudioContext::AudioContext):
2544         (WebCore::AudioContext::isRunnable):
2545         * webaudio/AudioContext.h:
2546         * webaudio/AudioContext.idl:
2547
2548 2010-10-05  Chris Rogers  <crogers@google.com>
2549
2550         Reviewed by Kenneth Russell.
2551
2552         Add AudioPannerNode files
2553         https://bugs.webkit.org/show_bug.cgi?id=46505
2554
2555         No new tests since audio API is not yet implemented.
2556
2557         * webaudio/AudioPannerNode.cpp: Added.
2558         (WebCore::fixNANs):
2559         (WebCore::AudioPannerNode::AudioPannerNode):
2560         (WebCore::AudioPannerNode::~AudioPannerNode):
2561         (WebCore::AudioPannerNode::pullInputs):
2562         (WebCore::AudioPannerNode::process):
2563         (WebCore::AudioPannerNode::reset):
2564         (WebCore::AudioPannerNode::initialize):
2565         (WebCore::AudioPannerNode::uninitialize):
2566         (WebCore::AudioPannerNode::listener):
2567         (WebCore::AudioPannerNode::setPanningModel):
2568         (WebCore::AudioPannerNode::getAzimuthElevation):
2569         (WebCore::AudioPannerNode::dopplerRate):
2570         (WebCore::AudioPannerNode::distanceConeGain):
2571         (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode):
2572         * webaudio/AudioPannerNode.h: Added.
2573         (WebCore::AudioPannerNode::create):
2574         (WebCore::AudioPannerNode::panningModel):
2575         (WebCore::AudioPannerNode::position):
2576         (WebCore::AudioPannerNode::setPosition):
2577         (WebCore::AudioPannerNode::orientation):
2578         (WebCore::AudioPannerNode::setOrientation):
2579         (WebCore::AudioPannerNode::velocity):
2580         (WebCore::AudioPannerNode::setVelocity):
2581         (WebCore::AudioPannerNode::distanceModel):
2582         (WebCore::AudioPannerNode::setDistanceModel):
2583         (WebCore::AudioPannerNode::refDistance):
2584         (WebCore::AudioPannerNode::setRefDistance):
2585         (WebCore::AudioPannerNode::maxDistance):
2586         (WebCore::AudioPannerNode::setMaxDistance):
2587         (WebCore::AudioPannerNode::rolloffFactor):
2588         (WebCore::AudioPannerNode::setRolloffFactor):
2589         (WebCore::AudioPannerNode::coneInnerAngle):
2590         (WebCore::AudioPannerNode::setConeInnerAngle):
2591         (WebCore::AudioPannerNode::coneOuterAngle):
2592         (WebCore::AudioPannerNode::setConeOuterAngle):
2593         (WebCore::AudioPannerNode::coneOuterGain):
2594         (WebCore::AudioPannerNode::setConeOuterGain):
2595         (WebCore::AudioPannerNode::distanceGain):
2596         (WebCore::AudioPannerNode::coneGain):
2597         * webaudio/AudioPannerNode.idl: Added.
2598
2599 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
2600
2601         Reviewed by Martin Robinson.
2602
2603         [Cairo] Port drawTiledShadow to the new ContextShadow
2604         https://bugs.webkit.org/show_bug.cgi?id=45902
2605
2606         Ported the drawTiledShadow function to the ContextShadow, it
2607         renders shadows for rects faster than the simple blurring using
2608         tiling of a smaller rect. We will remove the old function in a
2609         next patch when starting to use ContextShadows for cairo
2610         rendering.
2611
2612         * platform/graphics/ContextShadow.h:
2613         * platform/graphics/cairo/ContextShadowCairo.cpp:
2614         (WebCore::ContextShadow::drawRectShadowWithoutTiling):
2615         (WebCore::ContextShadow::drawRectShadow):
2616
2617 2010-10-05  Chris Rogers  <crogers@google.com>
2618
2619         Reviewed by Kenneth Russell.
2620
2621         Add BiquadProcessor files
2622         https://bugs.webkit.org/show_bug.cgi?id=46527
2623
2624         No new tests since audio API is not yet implemented.
2625
2626         * webaudio/BiquadProcessor.cpp: Added.
2627         (WebCore::BiquadProcessor::BiquadProcessor):
2628         (WebCore::BiquadProcessor::~BiquadProcessor):
2629         (WebCore::BiquadProcessor::createKernel):
2630         (WebCore::BiquadProcessor::process):
2631         * webaudio/BiquadProcessor.h: Added.
2632         (WebCore::BiquadProcessor::filterCoefficientsDirty):
2633         (WebCore::BiquadProcessor::parameter1):
2634         (WebCore::BiquadProcessor::parameter2):
2635         (WebCore::BiquadProcessor::parameter3):
2636         (WebCore::BiquadProcessor::type):
2637
2638 2010-10-05  Chris Rogers  <crogers@google.com>
2639
2640         Reviewed by Kenneth Russell.
2641
2642         Add EqualPowerPanner files
2643         https://bugs.webkit.org/show_bug.cgi?id=45077
2644
2645         No new tests since audio API is not yet implemented.
2646
2647         * platform/audio/EqualPowerPanner.cpp: Added.
2648         (WebCore::EqualPowerPanner::EqualPowerPanner):
2649         (WebCore::EqualPowerPanner::pan):
2650         * platform/audio/EqualPowerPanner.h: Added.
2651         (WebCore::EqualPowerPanner::reset):
2652
2653 2010-10-05  Chris Rogers  <crogers@google.com>
2654
2655         Reviewed by Kenneth Russell.
2656
2657         Add HighPass2FilterNode files
2658         https://bugs.webkit.org/show_bug.cgi?id=46533
2659
2660         No new tests since audio API is not yet implemented.
2661
2662         * webaudio/HighPass2FilterNode.cpp: Added.
2663         (WebCore::HighPass2FilterNode::HighPass2FilterNode):
2664         * webaudio/HighPass2FilterNode.h: Added.
2665         (WebCore::HighPass2FilterNode::create):
2666         (WebCore::HighPass2FilterNode::cutoff):
2667         (WebCore::HighPass2FilterNode::resonance):
2668         (WebCore::HighPass2FilterNode::biquadProcessor):
2669         * webaudio/HighPass2FilterNode.idl: Added.
2670
2671 2010-10-05  Chris Rogers  <crogers@google.com>
2672
2673         Reviewed by Kenneth Russell.
2674
2675         Add LowPass2FilterNode files
2676         https://bugs.webkit.org/show_bug.cgi?id=46532
2677
2678         No new tests since audio API is not yet implemented.
2679
2680         * webaudio/LowPass2FilterNode.cpp: Added.
2681         (WebCore::LowPass2FilterNode::LowPass2FilterNode):
2682         * webaudio/LowPass2FilterNode.h: Added.
2683         (WebCore::LowPass2FilterNode::create):
2684         (WebCore::LowPass2FilterNode::cutoff):
2685         (WebCore::LowPass2FilterNode::resonance):
2686         (WebCore::LowPass2FilterNode::biquadProcessor):
2687         * webaudio/LowPass2FilterNode.idl: Added.
2688
2689 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
2690
2691         Reviewed by Kent Tamura.
2692
2693         Fixed compilation problem added in commit 69082. The interface of
2694         the function has two parameters with the same name.
2695
2696         * rendering/RenderBlock.h:
2697
2698 2010-10-04  Chris Rogers  <crogers@google.com>
2699
2700         Reviewed by Kenneth Russell.
2701
2702         Add AudioUtilities files
2703         https://bugs.webkit.org/show_bug.cgi?id=47011
2704
2705         No new tests since audio API is not yet implemented.
2706
2707         * platform/audio/AudioUtilities.cpp: Added.
2708         (WebCore::AudioUtilities::decibelsToLinear):
2709         (WebCore::AudioUtilities::linearToDecibels):
2710         (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
2711         * platform/audio/AudioUtilities.h: Added.
2712
2713 2010-10-04  David Hyatt  <hyatt@apple.com>
2714
2715         Reviewed by Dan Bernstein.
2716
2717         https://bugs.webkit.org/show_bug.cgi?id=47112
2718
2719         Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware.
2720         
2721         Also clean up how floats are placed to use a bit instead of the magic -1 value on top().
2722
2723         * rendering/RenderBlock.cpp:
2724         (WebCore::RenderBlock::layoutBlock):
2725         (WebCore::RenderBlock::layoutBlockChild):
2726         (WebCore::RenderBlock::insertFloatingObject):
2727         (WebCore::RenderBlock::removeFloatingObject):
2728         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2729         (WebCore::RenderBlock::positionNewFloats):
2730         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
2731         (WebCore::RenderBlock::clearFloats):
2732         (WebCore::RenderBlock::addOverhangingFloats):
2733         (WebCore::RenderBlock::addIntrudingFloats):
2734         * rendering/RenderBlock.h:
2735         (WebCore::RenderBlock::FloatingObject::FloatingObject):
2736         (WebCore::RenderBlock::FloatingObject::isPlaced):
2737         (WebCore::RenderBlock::FloatingObject::setIsPlaced):
2738         * rendering/RenderBlockLineLayout.cpp:
2739         (WebCore::RenderBlock::determineStartPosition):
2740
2741 2010-10-04  Nico Weber  <thakis@chromium.org>
2742
2743         Reviewed by Kenneth Russell.
2744
2745         Fix broken C++ in PODInterval and PODIntervalTree
2746         https://bugs.webkit.org/show_bug.cgi?id=47063
2747
2748         See http://clang.llvm.org/compatibility.html#dep_lookup . Since
2749         valueToString needs to work with non-class types, it needs to be
2750         declared before it's used. And since it needs to handle many types, it
2751         needs to be a template function, for which clients will need to
2752         provide specializations for the types they care about. Partial template
2753         specialization is only supported for structs, so wrap the function in
2754         a struct, too.
2755
2756         * platform/graphics/gpu/PODInterval.h:
2757         (WebCore::PODInterval::toString):
2758         * platform/graphics/gpu/PODIntervalTree.h:
2759         (WebCore::PODIntervalTree::checkInvariantsFromNode):
2760         * platform/graphics/gpu/PODRedBlackTree.h:
2761         (WebCore::PODRedBlackTree::dumpFromNode):
2762
2763 2010-10-04  Yael Aharon  <yael.aharon@nokia.com>
2764
2765         Reviewed by Antonio Gomes.
2766
2767         Spatial Navigation: Add support for <input type="radio">
2768         https://bugs.webkit.org/show_bug.cgi?id=46993
2769
2770         When using Spatial Navigation, every radio button should be focusable and 
2771         users should be able to navigate from one button to the next without moving the selection. 
2772
2773         Tests: fast/events/spatial-navigation/snav-radio-group.html
2774                fast/events/spatial-navigation/snav-radio.html
2775
2776         * html/HTMLInputElement.cpp:
2777         (WebCore::HTMLInputElement::isKeyboardFocusable):
2778         Every radio button should be keyboard focusable, if using Spatial Navigation.
2779         (WebCore::HTMLInputElement::defaultEventHandler):
2780         Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation.
2781
2782 2010-10-04  Renata Hodovan  <reni@inf.u-szeged.hu>
2783
2784         Reviewed by Andreas Kling.
2785
2786         SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change.
2787         https://bugs.webkit.org/show_bug.cgi?id=47074
2788         The patch also implements the simple setStdDeviation method.
2789
2790         Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html
2791                svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html
2792                svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html
2793                svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html
2794
2795         * svg/SVGFEGaussianBlurElement.cpp:
2796         (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
2797         (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
2798         * svg/SVGFEGaussianBlurElement.h:
2799
2800 2010-10-04  Patrick Gansterer  <paroga@paroga.com>
2801
2802         Reviewed by Darin Adler.
2803
2804         Add Base64DecodePolicy option at base64Decode()
2805         https://bugs.webkit.org/show_bug.cgi?id=41510
2806
2807         Add an option for ignoring characters in base64 data.
2808         This is necessary for decoding data urls.
2809
2810         Also add an overload to decode WebCore::String directly.
2811
2812         * page/DOMWindow.cpp:
2813         (WebCore::DOMWindow::atob):
2814         * page/Page.cpp:
2815         (WebCore::Page::userStyleSheetLocationChanged):
2816         * platform/text/Base64.cpp:
2817         (WebCore::base64Encode):
2818         (WebCore::base64Decode):
2819         (WebCore::base64DecodeInternal):
2820         * platform/text/Base64.h:
2821         (WebCore::):
2822
2823 2010-10-04  Ryuan Choi  <bunhere@gmail.com>
2824
2825         Unreviewed build fix.
2826
2827         [WML] Build fix for r68854
2828         https://bugs.webkit.org/show_bug.cgi?id=47043
2829
2830         Include HTMLParserIdioms.h.
2831
2832         No features added, so no new tests.
2833
2834         * wml/WMLAElement.cpp:
2835         * wml/WMLImageLoader.cpp:
2836
2837 2010-10-04  Ryuan Choi  <ryuan.choi@samsung.com>
2838
2839         Unreviewed build fix.
2840
2841         [CMAKE] Build fix for r68901
2842         https://bugs.webkit.org/show_bug.cgi?id=47042
2843
2844         Move plugins/PluginPackage.cpp
2845
2846         No features added, so no new tests.
2847
2848         * CMakeLists.txt:
2849
2850 2010-10-04  Eric Uhrhane  <ericu@chromium.org>
2851
2852         Reviewed by David Levin.
2853
2854         Hook FileEntry::createWriter to DOMFileSystem::createWriter
2855         https://bugs.webkit.org/show_bug.cgi?id=46908
2856
2857         No new tests--still waiting for the first complete implementation.
2858
2859         * fileapi/FileEntry.cpp:
2860         (WebCore::FileEntry::createWriter):
2861
2862 2010-10-04  Yael Aharon  <yael.aharon@nokia.com>
2863
2864         Reviewed by Antonio Gomes.
2865
2866         Spatial Navigation: select element does not release focus with Spatial Navigation
2867         https://bugs.webkit.org/show_bug.cgi?id=46896
2868
2869         When using Spatial Navigation, once a select element is focused, you cannot use arrow keys
2870         to navigate out of the select element. That is because select element currently uses the
2871         arrow keys to change the selected element.
2872         Change the behavior of select element so it does not change selection, if Spatial Navigation
2873         is on.
2874
2875         This patch is addressing the case where Spatial Navigation is used 
2876         in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on.
2877         In the future we can add support for the case where the flag is off, and
2878         the user needs to traverse the select element inline.
2879
2880         Tests: fast/events/spatial-navigation/snav-multiple-select.html
2881                fast/events/spatial-navigation/snav-single-select.html
2882
2883         * dom/SelectElement.cpp:
2884         (WebCore::SelectElement::menuListDefaultEventHandler):
2885
2886 2010-10-04  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
2887
2888         Reviewed by Andreas Kling.
2889
2890         [Qt] QNetworkReplyHandler forces buffered output for FormData with files
2891         https://bugs.webkit.org/show_bug.cgi?id=46259
2892
2893         No new tests. Existing form submit tests should cover this change.
2894
2895         * platform/network/qt/QNetworkReplyHandler.cpp:
2896         (WebCore::FormDataIODevice::FormDataIODevice):
2897         (WebCore::FormDataIODevice::computeSize):
2898          Add computeSize() for computing form device size
2899         (WebCore::QNetworkReplyHandler::start):
2900          Call computeSize(), fill Content-Length and prevent UploadData buffering
2901         * platform/network/qt/QNetworkReplyHandler.h:
2902         (WebCore::FormDataIODevice::getFormDataSize):
2903
2904 2010-10-04  Chang Shu  <chang.shu@nokia.com>
2905
2906         Reviewed by Antonio Gomes.
2907
2908         Fixed the typo that searches the wrong direction in the no-focus-node case.
2909         As a result, after page is loaded, pressing key "arrowdown" will bring the
2910         focus to the 1st element instead of the last element.
2911         https://bugs.webkit.org/show_bug.cgi?id=46901
2912
2913         Test: fast/events/spatial-navigation/snav-1st-stop.html
2914
2915         * page/FocusController.cpp:
2916         (WebCore::FocusController::advanceFocusDirectionally):
2917
2918 2010-10-04  Simon Fraser  <simon.fraser@apple.com>
2919
2920         No review.
2921         
2922         Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h
2923         to fail at compile time if Mac includes that header.
2924
2925         * platform/network/cf/SocketStreamHandle.h:
2926         * platform/network/qt/SocketStreamHandle.h:
2927
2928 2010-10-04  Simon Fraser  <simon.fraser@apple.com>
2929
2930         Reviewed by Darin Adler.
2931
2932         https://bugs.webkit.org/show_bug.cgi?id=47136
2933         WebSocket tests are crashing
2934
2935         The Mac xcode project was finding qt/SocketStreamHandle.h because of
2936         an inadvertent change in r68951. Thus the header and implementation didn't match,
2937         and memory corruption ensued.
2938         
2939         * WebCore.xcodeproj/project.pbxproj:
2940
2941 2010-10-04  Chris Marrin  <cmarrin@apple.com>
2942
2943         Reviewed by James Robinson.
2944
2945         Move SharedGraphicsContext3D from ChromeClient to Page
2946         https://bugs.webkit.org/show_bug.cgi?id=47113
2947
2948         * html/canvas/CanvasRenderingContext2D.cpp:
2949         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2950         * page/ChromeClient.h:
2951         * page/Page.cpp:
2952         (WebCore::Page::sharedGraphicsContext3D):
2953         * page/Page.h:
2954         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2955         (WebCore::SharedGraphicsContext3D::create):
2956         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2957
2958 2010-10-04  Jeremy Orlow  <jorlow@chromium.org>
2959
2960         Reviewed by Nate Chapin.
2961
2962         Implement IndexedDB's oncomplete and ontimeout.
2963         https://bugs.webkit.org/show_bug.cgi?id=47106
2964
2965         Add ontimeout and oncomplete to IDBTransaction and plumb
2966         them.  Test this behavior in the existing IDBTransaction-basics
2967         test.
2968
2969         * WebCore.gypi:
2970         * storage/IDBTransaction.cpp:
2971         (WebCore::IDBTransaction::IDBTransaction):
2972         (WebCore::IDBTransaction::mode):
2973         (WebCore::IDBTransaction::objectStore):
2974         (WebCore::IDBTransaction::abort):
2975         (WebCore::IDBTransaction::onAbort):
2976         (WebCore::IDBTransaction::onComplete):
2977         (WebCore::IDBTransaction::onTimeout):
2978         (WebCore::IDBTransaction::stop):
2979         (WebCore::IDBTransaction::onAbortTimerFired):
2980         (WebCore::IDBTransaction::onCompleteTimerFired):
2981         (WebCore::IDBTransaction::onTimeoutTimerFired):
2982         * storage/IDBTransaction.h:
2983         * storage/IDBTransactionBackendImpl.cpp:
2984         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2985         (WebCore::IDBTransactionBackendImpl::commit):
2986         * storage/IDBTransactionCallbacks.h:
2987
2988 2010-10-04  Enrica Casucci  <enrica@apple.com>
2989
2990         Reviewed by Darin Adler.
2991
2992         Crash at WebCore::nextCandidate + 27
2993         https://bugs.webkit.org/show_bug.cgi?id=47118
2994         <rdar://problem/7282934>
2995
2996         When we canonicalize a Position to create a VisiblePosition, the position
2997         is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets
2998         that can produce a lot of side effects, including changing the selection.
2999         This becomes a serious problem whne the position passed as reference is one of
3000         the selection endpoints.
3001         
3002         Test: editing/selection/focus-crash.html
3003
3004         * editing/VisiblePosition.cpp:
3005         (WebCore::VisiblePosition::canonicalPosition):
3006
3007 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
3008
3009         Reviewed by Adam Barth.
3010
3011         https://bugs.webkit.org/show_bug.cgi?id=37812
3012         Assertion failure when appcache/fail-on-update.html is run twice in a row
3013
3014         Test: http/tests/appcache/fail-on-update-2.html
3015
3016         For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made
3017         previously are still good, and covered by the new test.
3018
3019         * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
3020         Handle the case when the cache is already obsolete by the time cache selection occurs.
3021
3022         * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource):
3023         It's not true that loading from appcache always succeeds - it can be aborted.
3024
3025         * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):
3026         Calling ensureOriginRecord(group->origin()) can change lastInsertRowID!
3027
3028 2010-10-04  Erik Arvidsson  <arv@chromium.org>
3029
3030         Reviewed by James Robinson.
3031
3032         https://bugs.webkit.org/show_bug.cgi?id=47122
3033         Crash in classList when class attribute is empty.
3034
3035         Tests: fast/dom/HTMLElement/class-list.html
3036
3037         * html/DOMTokenList.cpp:
3038         (WebCore::DOMTokenList::length):
3039         (WebCore::DOMTokenList::containsInternal):
3040         (WebCore::DOMTokenList::classNames):
3041
3042 2010-10-04  Darin Adler  <darin@apple.com>
3043
3044         Reviewed by Dan Bernstein.
3045
3046         Use isHTMLSpace in more places, and optimize it
3047         https://bugs.webkit.org/show_bug.cgi?id=47103
3048
3049         * css/CSSParser.cpp:
3050         (WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function.
3051         (WebCore::parseAlphaValue): Ditto.
3052         (WebCore::CSSParser::text): Ditto.
3053
3054         * dom/SpaceSplitString.h: Removed isClassWhitespace.
3055
3056         * dom/SpaceSplitString.cpp:
3057         (WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace.
3058         * dom/StyledElement.cpp:
3059         (WebCore::StyledElement::classAttributeChanged): Ditto.
3060         * html/DOMTokenList.cpp:
3061         (WebCore::validateToken): Ditto.
3062         (WebCore::DOMTokenList::removeInternal): Ditto.
3063
3064         * html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take
3065         only a single branch and plain old spaces take only two branches.
3066
3067 2010-10-04  Justin Schuh  <jschuh@chromium.org>
3068
3069         Reviewed by James Robinson.
3070
3071         HTMLMediaElement delayed load should fire asynchronously
3072         https://bugs.webkit.org/show_bug.cgi?id=45765
3073
3074         Test: media/remove-from-document-before-load.html
3075
3076         * dom/Document.cpp:
3077         (WebCore::Document::Document):
3078         (WebCore::Document::decrementLoadEventDelayCount):
3079         (WebCore::Document::loadEventDelayTimerFired):
3080         * dom/Document.h:
3081         * html/HTMLMediaElement.cpp:
3082         (WebCore::HTMLMediaElement::HTMLMediaElement):
3083         (WebCore::HTMLMediaElement::asyncEventTimerFired):
3084         (WebCore::HTMLMediaElement::setShouldDelayLoadEvent):
3085         * html/HTMLMediaElement.h:
3086
3087 2010-10-04  Adam Barth  <abarth@webkit.org>
3088
3089         Reviewed by Darin Adler.
3090
3091         ResourceHandle's public/protected/private sections are fragmented
3092         https://bugs.webkit.org/show_bug.cgi?id=47038
3093
3094         Minor cleanup.
3095
3096         * platform/network/ResourceHandle.h:
3097
3098 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
3099
3100         Reviewed by Adam Barth.
3101
3102         https://bugs.webkit.org/show_bug.cgi?id=43506
3103         <rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test,
3104         idempotent-update.html)
3105
3106         Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to
3107         abort update process explicitly.
3108
3109         Note that in principle, update could piggyback on any other existing frame - or even run
3110         frameless - but currently, it's tied to the first frame that requested update.
3111
3112         * loader/DocumentLoader.cpp:
3113         (WebCore::DocumentLoader::stopLoading):
3114         * loader/appcache/ApplicationCacheGroup.cpp:
3115         (WebCore::ApplicationCacheGroup::stopLoadingInFrame):
3116         * loader/appcache/ApplicationCacheGroup.h:
3117         * loader/appcache/ApplicationCacheHost.cpp:
3118         (WebCore::ApplicationCacheHost::~ApplicationCacheHost):
3119         (WebCore::ApplicationCacheHost::stopLoadingInFrame):
3120         * loader/appcache/ApplicationCacheHost.h:
3121
3122 2010-10-04  Adam Barth  <abarth@webkit.org>
3123
3124         Reviewed by Darin Adler.
3125
3126         Rename RedirectScheduler to NavigationScheduler
3127         https://bugs.webkit.org/show_bug.cgi?id=47037
3128
3129         This class schedules more than just redirects.  In fact, it schedules
3130         most kinds of navigations.
3131
3132         * Android.mk:
3133         * CMakeLists.txt:
3134         * GNUmakefile.am:
3135         * WebCore.gypi:
3136         * WebCore.pro:
3137         * WebCore.vcproj/WebCore.vcproj:
3138         * WebCore.xcodeproj/project.pbxproj:
3139         * bindings/generic/BindingDOMWindow.h:
3140         (WebCore::::createWindow):
3141         (WebCore::::open):
3142         * bindings/generic/BindingFrame.h:
3143         (WebCore::::navigateIfAllowed):
3144         * bindings/js/JSDOMWindowCustom.cpp:
3145         (WebCore::JSDOMWindow::setLocation):
3146         (WebCore::createWindow):
3147         (WebCore::JSDOMWindow::open):
3148         * bindings/js/JSDocumentCustom.cpp:
3149         (WebCore::JSDocument::setLocation):
3150         * bindings/js/JSLocationCustom.cpp:
3151         (WebCore::JSLocation::reload):
3152         * bindings/v8/custom/V8LocationCustom.cpp:
3153         (WebCore::V8Location::reloadCallback):
3154         * dom/Document.cpp:
3155         (WebCore::Document::implicitClose):
3156         (WebCore::Document::processHttpEquiv):
3157         * inspector/InspectorController.cpp:
3158         (WebCore::InspectorController::setResourceTrackingEnabled):
3159         (WebCore::InspectorController::reloadPage):
3160         * loader/FrameLoader.cpp:
3161         (WebCore::FrameLoader::setDefersLoading):
3162         (WebCore::FrameLoader::submitForm):
3163         (WebCore::FrameLoader::stopLoading):
3164         (WebCore::FrameLoader::didOpenURL):
3165         (WebCore::FrameLoader::didExplicitOpen):
3166         (WebCore::FrameLoader::cancelAndClear):
3167         (WebCore::FrameLoader::clear):
3168         (WebCore::FrameLoader::receivedFirstData):
3169         (WebCore::FrameLoader::checkCompleted):
3170         (WebCore::FrameLoader::provisionalLoadStarted):
3171         (WebCore::FrameLoader::completed):
3172         (WebCore::FrameLoader::prepareForCachedPageRestore):
3173         * loader/FrameLoader.h:
3174         * loader/NavigationScheduler.cpp: Added.
3175         (WebCore::ScheduledNavigation::ScheduledNavigation):
3176         (WebCore::ScheduledNavigation::~ScheduledNavigation):
3177         (WebCore::ScheduledNavigation::shouldStartTimer):
3178         (WebCore::ScheduledNavigation::didStartTimer):
3179         (WebCore::ScheduledNavigation::didStopTimer):
3180         (WebCore::ScheduledNavigation::delay):
3181         (WebCore::ScheduledNavigation::lockHistory):
3182         (WebCore::ScheduledNavigation::lockBackForwardList):
3183         (WebCore::ScheduledNavigation::wasDuringLoad):
3184         (WebCore::ScheduledNavigation::isLocationChange):
3185         (WebCore::ScheduledNavigation::wasUserGesture):
3186         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
3187         (WebCore::ScheduledURLNavigation::fire):
3188         (WebCore::ScheduledURLNavigation::didStartTimer):
3189         (WebCore::ScheduledURLNavigation::didStopTimer):
3190         (WebCore::ScheduledURLNavigation::url):
3191         (WebCore::ScheduledURLNavigation::referrer):
3192         (WebCore::ScheduledRedirect::ScheduledRedirect):
3193         (WebCore::ScheduledRedirect::shouldStartTimer):
3194         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
3195         (WebCore::ScheduledRefresh::ScheduledRefresh):
3196         (WebCore::ScheduledRefresh::fire):
3197         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
3198         (WebCore::ScheduledHistoryNavigation::fire):
3199         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
3200         (WebCore::ScheduledFormSubmission::fire):
3201         (WebCore::ScheduledFormSubmission::didStartTimer):
3202         (WebCore::ScheduledFormSubmission::didStopTimer):
3203         (WebCore::NavigationScheduler::NavigationScheduler):
3204         (WebCore::NavigationScheduler::~NavigationScheduler):
3205         (WebCore::NavigationScheduler::redirectScheduledDuringLoad):
3206         (WebCore::NavigationScheduler::locationChangePending):
3207         (WebCore::NavigationScheduler::clear):
3208         (WebCore::NavigationScheduler::scheduleRedirect):
3209         (WebCore::NavigationScheduler::mustLockBackForwardList):
3210         (WebCore::NavigationScheduler::scheduleLocationChange):
3211         (WebCore::NavigationScheduler::scheduleFormSubmission):
3212         (WebCore::NavigationScheduler::scheduleRefresh):
3213         (WebCore::NavigationScheduler::scheduleHistoryNavigation):
3214         (WebCore::NavigationScheduler::timerFired):
3215         (WebCore::NavigationScheduler::schedule):
3216         (WebCore::NavigationScheduler::startTimer):
3217         (WebCore::NavigationScheduler::cancel):
3218         * loader/NavigationScheduler.h: Added.
3219         * loader/RedirectScheduler.cpp: Removed.
3220         * loader/RedirectScheduler.h: Removed.
3221         * loader/SubframeLoader.cpp:
3222         (WebCore::SubframeLoader::loadOrRedirectSubframe):
3223         * loader/appcache/ApplicationCacheGroup.cpp:
3224         (WebCore::ApplicationCacheGroup::selectCache):
3225         * page/Frame.cpp:
3226         (WebCore::Frame::Frame):
3227         * page/Frame.h:
3228         (WebCore::Frame::navigationScheduler):
3229         * page/History.cpp:
3230         (WebCore::History::back):
3231         (WebCore::History::forward):
3232         (WebCore::History::go):
3233         * page/XSSAuditor.cpp:
3234         (WebCore::XSSAuditor::findInRequest):
3235
3236 2010-10-04  Adam Barth  <abarth@webkit.org>
3237
3238         Reviewed by Sam Weinig.
3239
3240         Remove ENABLE_SANDBOX
3241         https://bugs.webkit.org/show_bug.cgi?id=47032
3242
3243         I'm not sure there's a reason for this to be behind a compile flag
3244         anymore.
3245
3246         * Configurations/FeatureDefines.xcconfig:
3247         * GNUmakefile.am:
3248         * features.pri:
3249         * html/HTMLIFrameElement.cpp:
3250         (WebCore::parseSandboxAttribute):
3251         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3252
3253 2010-10-04  Huahui Wu  <mediadependent@gmail.com>
3254
3255         Reviewed by Darin Adler.
3256
3257         Fix a compiler error for ANDROID introduced by bug 45221.
3258         https://bugs.webkit.org/show_bug.cgi?id=47095
3259
3260         It's a small fix for a compiler error, so there is no new test.
3261
3262         * platform/android/PlatformTouchEventAndroid.cpp:
3263         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3264
3265 2010-10-04  Chris Fleizach  <cfleizach@apple.com>
3266
3267         Reviewed by Beth Dakin.
3268
3269         AX: doAXRangeForLine does not work
3270         https://bugs.webkit.org/show_bug.cgi?id=47101
3271
3272         Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0.
3273         The code was using a SelectionController to extend to the next line. Rather than change the implementation
3274         of that core functionality, it is cleaner to use endOfLine to find the end of the line.
3275
3276         Test: platform/mac/accessibility/range-for-line-textarea.html
3277
3278         * accessibility/AccessibilityRenderObject.cpp:
3279         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
3280
3281 2010-10-04  Brent Fulgham  <bfulgham@webkit.org>
3282
3283         Unreviewed, build fix for r68951.
3284
3285         Add stub implementation for ProxyServer logic.
3286
3287         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file.
3288         * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added
3289
3290 2010-10-04  Alexey Proskuryakov  <ap@apple.com>
3291
3292         Reviewed by Adam Barth.
3293
3294         https://bugs.webkit.org/show_bug.cgi?id=47035
3295         Application cache selection algorithm should only be invoked after navigation
3296
3297         Tests: http/tests/appcache/document-write-html-element-2.html
3298                http/tests/appcache/document-write-html-element.html
3299                http/tests/appcache/insert-html-element-with-manifest-2.html
3300                http/tests/appcache/insert-html-element-with-manifest.html
3301
3302         * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser):
3303         * dom/DocumentParser.h:
3304         (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation):
3305         (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation):
3306         Track whether the document being parsed is being loaded as part of navigation.
3307
3308         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the
3309         cache selection algorithm if the document is being loaded as part of navigation. We don't 
3310         want to switch associated appcache is someone document.writes <html manifest=...>.
3311
3312         * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so
3313         this code can't be in HTMLHtmlElement::insertedIntoDocument().
3314
3315         * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs):
3316         * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement):
3317         * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure):
3318         * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure):
3319         * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure):
3320         * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3321         Check for manifest attribute in cases specified by HTML5.
3322
3323         * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement().
3324
3325         * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
3326         * loader/DocumentWriter.h:
3327         Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it.
3328
3329         * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from
3330         loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous
3331         definition that I could find - this seems to be a meaningful formalization.
3332
3333 2010-10-04  David Hyatt  <hyatt@apple.com>
3334
3335         Reviewed by Dan Bernstein.
3336
3337         https://bugs.webkit.org/show_bug.cgi?id=47100
3338
3339         Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.
3340
3341         * rendering/RenderBlock.cpp:
3342         (WebCore::RenderBlock::clearFloats):
3343         * rendering/RenderBlock.h:
3344         (WebCore::RenderBlock::logicalTopForFloat):
3345         (WebCore::RenderBlock::logicalLeftForFloat):
3346         (WebCore::RenderBlock::logicalWidthForFloat):
3347
3348 2010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
3349
3350         Reviewed by Kenneth Rohde Christiansen.
3351
3352         [Qt] Hook up DeviceOrientation data for Qt support
3353         https://bugs.webkit.org/show_bug.cgi?id=47052
3354
3355         Get DeviceOrientation necessary data via Qt mobility library
3356         using a provider class.
3357
3358         * WebCore.pro:
3359
3360 2010-10-01  Victoria Kirst  <vrk@google.com>
3361
3362         Reviewed by James Robinson.
3363
3364         Fixing crash when audio media player is destructed
3365         https://bugs.webkit.org/show_bug.cgi?id=47020
3366
3367         Adds assert for LayerRenderer in destructor.
3368
3369         * platform/graphics/chromium/VideoLayerChromium.cpp:
3370         (WebCore::VideoLayerChromium::~VideoLayerChromium):
3371
3372 2010-10-04  Pavel Podivilov  <podivilov@chromium.org>
3373
3374         Reviewed by Pavel Feldman.
3375
3376         Web Inspector: do not show breakpoint in front-end if it was not set in v8
3377         https://bugs.webkit.org/show_bug.cgi?id=46749
3378
3379         * bindings/v8/DebuggerScript.js:
3380         ():
3381
3382 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
3383
3384         Reviewed by Martin Robinson.
3385
3386         [cairo] Context shadow modifies the data of the surface without
3387         flushing and marking as dirty
3388         https://bugs.webkit.org/show_bug.cgi?id=47079
3389
3390         Added the cairo_surface_flush and cairo_surface_mark_dirty before
3391         and after modifying the image pixels directly.
3392
3393         * platform/graphics/cairo/ContextShadowCairo.cpp:
3394         (WebCore::ContextShadow::endShadowLayer):
3395
3396 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
3397
3398         Reviewed by Xan Lopez.
3399
3400         Crashed caused by missing OwnPtrCairo include, for more
3401         information check the issue in the bug 46268.
3402
3403         * platform/graphics/cairo/CairoUtilities.cpp:
3404
3405 2010-10-04  Alejandro G. Castro  <alex@igalia.com>
3406
3407         Reviewed by Martin Robinson.
3408
3409         [cairo] Move some cairo functions to the CairoUtilities
3410         https://bugs.webkit.org/show_bug.cgi?id=47076
3411
3412         Moved some cairo functions to the CairoUtilities so we can use
3413         them outside GraphicsContextCairo.
3414
3415         * platform/graphics/cairo/CairoUtilities.cpp:
3416         (WebCore::appendPathToCairoContext):
3417         (WebCore::setPathOnCairoContext):
3418         (WebCore::appendWebCorePathToCairoContext):
3419         (WebCore::toCairoOperator):
3420         (WebCore::drawPatternToCairoContext):
3421         * platform/graphics/cairo/CairoUtilities.h:
3422         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3423         * platform/graphics/cairo/ImageCairo.cpp:
3424         (WebCore::Image::drawPattern):
3425
3426 2010-10-04  podivilov@chromium.org  <podivilov@chromium.org>
3427
3428         Reviewed by Yury Semikhatsky.
3429
3430         Web Inspector: implement pausing on event listeners (back-end part)
3431         https://bugs.webkit.org/show_bug.cgi?id=46624
3432
3433         * bindings/js/ScriptDebugServer.cpp:
3434         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
3435         * bindings/js/ScriptDebugServer.h:
3436         * bindings/v8/ScriptDebugServer.cpp:
3437         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
3438         * bindings/v8/ScriptDebugServer.h:
3439         * dom/Node.cpp:
3440         (WebCore::Node::dispatchGenericEvent):
3441         * inspector/InspectorController.cpp:
3442         (WebCore::InspectorController::didCommitLoad):
3443         (WebCore::InspectorController::setNativeBreakpoint):
3444         (WebCore::InspectorController::removeNativeBreakpoint):
3445         (WebCore::InspectorController::shouldBreakOnEvent):
3446         (WebCore::InspectorController::shouldBreakOnXMLHttpRequest):
3447         * inspector/InspectorController.h:
3448         * inspector/InspectorDebuggerAgent.cpp:
3449         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
3450         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
3451         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
3452         (WebCore::InspectorDebuggerAgent::pause):
3453         (WebCore::InspectorDebuggerAgent::didContinue):
3454         (WebCore::InspectorDebuggerAgent::breakProgram):
3455         * inspector/InspectorDebuggerAgent.h:
3456         * inspector/InspectorInstrumentation.cpp:
3457         (WebCore::eventHasListeners):
3458         (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl):
3459         (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl):
3460         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl):
3461         * inspector/InspectorInstrumentation.h:
3462         (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent):
3463         (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent):
3464         (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest):
3465         * inspector/InspectorTimelineAgent.cpp:
3466         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3467         * inspector/InspectorTimelineAgent.h:
3468         (WebCore::InspectorTimelineAgent::id):
3469         * inspector/front-end/CallStackSidebarPane.js:
3470
3471 2010-10-04  Pavel Feldman  <pfeldman@chromium.org>
3472
3473         Reviewed by Yury Semikhatsky.
3474
3475         Web Inspector: add total bar to the network panel.
3476         https://bugs.webkit.org/show_bug.cgi?id=47081
3477
3478         * English.lproj/localizedStrings.js:
3479         * inspector/front-end/ConsoleView.js:
3480         (WebInspector.ConsoleView.createDividerElement):
3481         * inspector/front-end/DataGrid.js:
3482         (WebInspector.DataGrid.prototype.removeChild):
3483         (WebInspector.DataGrid.prototype.sortNodes):
3484         (WebInspector.DataGrid.prototype._clickInHeaderCell):
3485         (WebInspector.DataGrid.prototype.markColumnAsSortedBy):
3486         * inspector/front-end/NetworkPanel.js:
3487         (WebInspector.NetworkPanel):
3488         (WebInspector.NetworkPanel.prototype.resize):
3489         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
3490         (WebInspector.NetworkPanel.prototype._createTimelineGrid):
3491         (WebInspector.NetworkPanel.prototype._createSortingFunctions):
3492         (WebInspector.NetworkPanel.prototype._sortItems):
3493         (WebInspector.NetworkPanel.prototype._sortByTimeline):
3494         (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems):
3495         (WebInspector.NetworkPanel.prototype._createSummaryBar):
3496         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
3497         (WebInspector.NetworkPanel.prototype._updateFilter):
3498         (WebInspector.NetworkPanel.prototype.show):
3499         (WebInspector.NetworkPanel.prototype.refresh):
3500         (WebInspector.NetworkPanel.prototype.reset):
3501         (WebInspector.NetworkDataGridNode.SizeComparator):
3502         (WebInspector.NetworkDataGridNode.ResourcePropertyComparator):
3503         (WebInspector.NetworkTotalGridNode):
3504         (WebInspector.NetworkTotalGridNode.prototype.createCells):
3505         * inspector/front-end/ResourcesPanel.js:
3506         (WebInspector.ResourcesPanel.prototype.createFilterPanel):
3507         * inspector/front-end/inspector.css:
3508         (.scope-bar-divider):
3509         * inspector/front-end/networkPanel.css:
3510         (.network-timeline-grid):
3511         (.network-summary-bar):
3512         (.network-summary-bar-bottom):
3513         (.data-grid td .network-summary-bar):
3514
3515 2010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>
3516
3517         Reviewed by Kenneth Rohde Christiansen.
3518
3519         Viewport data change notifications
3520         https://bugs.webkit.org/show_bug.cgi?id=46755
3521
3522         Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
3523         changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
3524         viewport data in Page as a reference, to be able to send notifications only when the current viewport
3525         has changed.
3526
3527         * dom/Document.cpp:
3528         (WebCore::Document::processViewport):
3529         (WebCore::Document::setInPageCache):
3530         * dom/ViewportArguments.h:
3531         (WebCore::ViewportArguments::operator==):
3532         * html/HTMLBodyElement.cpp:
3533         (WebCore::HTMLBodyElement::HTMLBodyElement):
3534         * page/Chrome.cpp:
3535         (WebCore::Chrome::viewportDataChanged):
3536         * page/Chrome.h:
3537         * page/ChromeClient.h:
3538         (WebCore::ChromeClient::viewportDataChanged):
3539         * page/Page.cpp:
3540         (WebCore::Page::updateViewportArguments):
3541         * page/Page.h:
3542         (WebCore::Page::viewportArguments):
3543
3544 2010-10-03  Kent Tamura  <tkent@chromium.org>
3545
3546         Unreviewed, build fix for r68996.
3547
3548         * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite().
3549         * html/MonthInputType.cpp: ditto.
3550         * html/NumberInputType.cpp: ditto.
3551         * html/RangeInputType.cpp: ditto.
3552
3553 2010-10-03  Kent Tamura  <tkent@chromium.org>
3554
3555         Reviewed by Dimitri Glazkov.
3556
3557         Refactor HTMLInputElement: Move parseToDouble() and
3558         parseToDateComponents() to InputType.
3559         https://bugs.webkit.org/show_bug.cgi?id=46965
3560
3561         Introduce BaseDateAndTimeInputType, which is a super class of
3562         date, datetime, datetime-local, month, time, and week types.
3563
3564         No new tests. Just a refactoring.
3565
3566         * Android.mk: Add BaseDateAndTimeInputType.
3567         * CMakeLists.txt: ditto.
3568         * GNUmakefile.am: ditto.
3569         * WebCore.gypi: ditto.
3570         * WebCore.pro: ditto.
3571         * WebCore.vcproj/WebCore.vcproj: ditto.
3572         * WebCore.xcodeproj/project.pbxproj: ditto.
3573         * html/BaseDateAndTimeInputType.cpp: Added.
3574         (WebCore::BaseDateAndTimeInputType::parseToDouble):
3575         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
3576         * html/BaseDateAndTimeInputType.h: Added.
3577         (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType):
3578         * html/DateInputType.cpp:
3579         (WebCore::DateInputType::parseToDateComponentsInternal):
3580         * html/DateInputType.h:
3581         (WebCore::DateInputType::DateInputType):
3582         * html/DateTimeInputType.cpp:
3583         (WebCore::DateTimeInputType::parseToDateComponentsInternal):
3584         * html/DateTimeInputType.h:
3585         (WebCore::DateTimeInputType::DateTimeInputType):
3586         * html/DateTimeLocalInputType.cpp:
3587         (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal):
3588         * html/DateTimeLocalInputType.h:
3589         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
3590         * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*.
3591         (WebCore::HTMLInputElement::typeMismatch):
3592         (WebCore::HTMLInputElement::rangeUnderflow):
3593         (WebCore::HTMLInputElement::rangeOverflow):
3594         (WebCore::HTMLInputElement::minimum):
3595         (WebCore::HTMLInputElement::maximum):
3596         (WebCore::HTMLInputElement::stepBase):
3597         (WebCore::HTMLInputElement::stepMismatch):
3598         (WebCore::HTMLInputElement::applyStep):
3599         (WebCore::HTMLInputElement::valueAsDate):
3600         (WebCore::HTMLInputElement::valueAsNumber):
3601         (WebCore::HTMLInputElement::handleKeyEventForRange):
3602         (WebCore::HTMLInputElement::stepUpFromRenderer):
3603         * html/HTMLInputElement.h:
3604         * html/InputType.cpp:
3605         (WebCore::InputType::parseToDouble):
3606         (WebCore::InputType::parseToDateComponents):
3607         * html/InputType.h:
3608         * html/MonthInputType.cpp:
3609         (WebCore::MonthInputType::parseToDouble):
3610         (WebCore::MonthInputType::parseToDateComponentsInternal):
3611         * html/MonthInputType.h:
3612         (WebCore::MonthInputType::MonthInputType):
3613         * html/NumberInputType.cpp:
3614         (WebCore::NumberInputType::parseToDouble):
3615         * html/NumberInputType.h:
3616         * html/RangeInputType.cpp:
3617         (WebCore::RangeInputType::parseToDouble):
3618         * html/RangeInputType.h:
3619         * html/TimeInputType.cpp:
3620         (WebCore::TimeInputType::parseToDateComponentsInternal):
3621         * html/TimeInputType.h:
3622         (WebCore::TimeInputType::TimeInputType):
3623         * html/WeekInputType.cpp:
3624         (WebCore::WeekInputType::parseToDateComponentsInternal):
3625         * html/WeekInputType.h:
3626         (WebCore::WeekInputType::WeekInputType):
3627
3628 2010-10-03  Adam Barth  <abarth@webkit.org>
3629
3630         Reviewed by Holger Freyther.
3631
3632         ASSERT(m_state = Open); is bad news bears
3633         https://bugs.webkit.org/show_bug.cgi?id=47057
3634
3635         Added by ap (review by darin) in http://trac.webkit.org/changeset/50951
3636         Too bad the compiler doesn't catch these errors.  I don't believe this
3637         is possible to test.
3638
3639         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3640         (WebCore::SocketStreamHandle::writeStreamCallback):
3641
3642 2010-10-03  Adam Barth  <abarth@webkit.org>
3643
3644         Reviewed by Holger Freyther.
3645
3646         All the WebSocket tests crash
3647         https://bugs.webkit.org/show_bug.cgi?id=47056
3648
3649         More code that tries to hold onto temporaries with references.
3650
3651         * websockets/WebSocketChannel.cpp:
3652         (WebCore::WebSocketChannel::didOpen):
3653
3654 2010-10-03  Adam Barth  <abarth@webkit.org>
3655
3656         Reviewed by Holger Freyther.
3657
3658         All the WebSocket tests crash
3659         https://bugs.webkit.org/show_bug.cgi?id=47055
3660
3661         This code attempts to hold onto temporary objects using references.
3662         That doesn't work in C++. Instead, we need to actually store the
3663         objects somewhere.
3664
3665         * bindings/js/JSWebSocketCustom.cpp:
3666         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
3667
3668 2010-10-02  Diego Gonzalez  <diegohcg@webkit.org>
3669
3670         Reviewed by Kenneth Rohde Christiansen.
3671
3672         [Qt] Provide Qt support for DeviceMotion/Orientation clients
3673         https://bugs.webkit.org/show_bug.cgi?id=47051
3674
3675         Add Qt DeviceMotion/Orientation dummy clients in build system.
3676
3677         * WebCore.pro:
3678
3679 2010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
3680
3681         Reviewed by Dirk Schulze.
3682
3683         Rewrite SVG text layout code
3684         https://bugs.webkit.org/show_bug.cgi?id=45532
3685
3686         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).
3687
3688         Phase #1) - SVGTextLayoutAttributesBuilder
3689         ------------------------------------------
3690
3691         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>)
3692         This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there.
3693         Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created.
3694
3695         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
3696         RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection.
3697
3698         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.
3699
3700         Phase #2) - SVGTextLayoutEngine
3701         ------------------------------------------
3702
3703         RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak()
3704         decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the
3705         current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects.
3706
3707         For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation()
3708         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
3709         and starts phase #2 of the layout process.
3710
3711         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,
3712         letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc.
3713
3714         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
3715         at once. Some examples to illustrate what's going on:
3716
3717         <text x="20">ABCD</text>:
3718         - SVGInlineTextBox
3719           - SVGTextFragment, start 0 length 4, "ABCD" (x=20)
3720
3721         <text x="20 100">ABCD</text>:
3722         - SVGInlineTextBox
3723           - SVGTextFragment, start 0 length 1, "A" (x=20)
3724         - SVGInlineTextBox
3725           - SVGTextFragment, start 0 length 1, "B" (x=100)
3726           - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last)
3727
3728         <text><textPath xlink:href="#somePath">ABCD</textPath></text>:
3729         - SVGInlineTextBox
3730           - SVGTextFragment, start 0 length 1, "A" (rotated!)
3731           - SVGTextFragment, start 1 length 1, "B" (rotated!)
3732           - SVGTextFragment, start 2 length 1, "C" (rotated!)
3733           - SVGTextFragment, start 3 length 1, "D" (rotated!)
3734
3735         <text x="0 50 100">A<tspan>B</tspan>C</text>
3736         - SVGInlineTextBox
3737           - SVGTextFragment, start 0 length 1, "A" (x=0)
3738         - SVGInlineFlowBox
3739           - SVGInlineTextBox
3740             - SVGTextFragment, start 0 length 1, "B" (x=50)
3741         - SVGInlineTextBox
3742           - SVGTextFragment, start 0 length 1, "C" (x=100)
3743
3744         When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same.
3745         All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting.
3746         This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process.
3747
3748         We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information
3749         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.
3750         It's likely that we'll also find ways to skip phase #2 in certain situations.
3751
3752         Phase #3) - SVGTextChunkBuilder
3753         ------------------------------------------
3754
3755         After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis.
3756         text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs").
3757
3758         SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments
3759         are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text).
3760
3761         After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child
3762         boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object.
3763
3764         This should give interessted readers a good summary of how the new text layout engine works.
3765         See LayoutTests/ChangeLog for more details on test progression.
3766
3767         Tests: svg/custom/text-rotation.svg
3768                svg/custom/text-x-dy-lists.svg
3769
3770         * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build.
3771         * CMakeLists.txt: Ditto.
3772         * GNUmakefile.am: Ditto.
3773         * WebCore.gypi: Ditto.
3774         * WebCore.pro: Ditto.
3775         * WebCore.vcproj/WebCore.vcproj: Ditto.
3776         * WebCore.xcodeproj/project.pbxproj: Ditto.
3777         * rendering/InlineBox.h:
3778         (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist.
3779         * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it.
3780         * rendering/RenderSVGAllInOne.cpp: removes
3781         * rendering/RenderText.cpp:
3782         (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText.
3783         * rendering/SVGCharacterData.cpp: Removed.
3784         * rendering/SVGCharacterData.h: Removed.
3785         * rendering/SVGCharacterLayoutInfo.cpp: Removed.
3786         * rendering/SVGCharacterLayoutInfo.h: Removed.
3787         * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch.
3788         (WebCore::writeRenderSVGTextBox):
3789         (WebCore::writeSVGInlineTextBox):
3790         * rendering/SVGTextChunkLayoutInfo.cpp: Removed.
3791         * rendering/SVGTextChunkLayoutInfo.h: Removed.
3792         * rendering/SVGTextLayoutUtilities.cpp: Removed.
3793         * rendering/SVGTextLayoutUtilities.h: Removed.
3794         * rendering/style/RenderStyle.cpp:
3795         (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.
3796         * rendering/style/SVGRenderStyle.h:
3797         (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities.
3798         * rendering/svg/RenderSVGInlineText.cpp:
3799         (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place.
3800         (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text.
3801         (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it.
3802         (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that.
3803         (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments.
3804         * rendering/svg/RenderSVGInlineText.h:
3805         (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder.
3806         (WebCore::toRenderSVGInlineText): New helper methods for casting.
3807         * rendering/svg/RenderSVGText.cpp:
3808         (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process.
3809         (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs.
3810         * rendering/svg/RenderSVGText.h:
3811         * rendering/svg/SVGInlineFlowBox.cpp:
3812         (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG.
3813         (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting.
3814         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method.
3815         * rendering/svg/SVGInlineFlowBox.h:
3816         (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox):
3817         * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack.
3818         * rendering/svg/SVGInlineTextBox.h:
3819         (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments.
3820         (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box.
3821         (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk?
3822         (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk.
3823         * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts.
3824         (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background.
3825         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine.
3826         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts.
3827         (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method.
3828         (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG.
3829         * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox.
3830         * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/
3831         * rendering/svg/SVGTextChunk.h:
3832         * rendering/svg/SVGTextChunkBuilder.cpp: Added.
3833         * rendering/svg/SVGTextChunkBuilder.h: Added.
3834         * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method.
3835         * rendering/svg/SVGTextLayoutAttributes.h:
3836         (WebCore::SVGTextLayoutAttributes::textMetricsValues):
3837         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes.
3838         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
3839         * rendering/svg/SVGTextLayoutEngine.cpp: Added.
3840         * rendering/svg/SVGTextLayoutEngine.h: Added.
3841         * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic.
3842         * rendering/svg/SVGTextQuery.h:
3843
3844 2010-10-02  Alpha Lam  <hclam@chromium.org>
3845
3846         Build fix. Not reviewed.
3847
3848         An adhoc fix for a crash found by reliability bot. This will make the
3849         reliability bot happy. A proper fix is pending commit.
3850
3851         * platform/graphics/chromium/VideoLayerChromium.cpp:
3852         (WebCore::VideoLayerChromium::~VideoLayerChromium):
3853
3854 2010-10-01  Ryosuke Niwa  <rniwa@webkit.org>
3855
3856         Reviewed by Darin Adler.
3857
3858         FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs
3859         https://bugs.webkit.org/show_bug.cgi?id=46840
3860
3861         Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand
3862         and IndentOutdentCommand.  It is intended to be inherited by InsertListCommand as well.
3863
3864         ApplyBlockElementCommand's doApply verifies the current selection and exits early
3865         if it's invalid or orphaned or if the current selection is outside editable region.
3866         It then calls formatSelection to apply the block element after which doApply restores the selection.
3867         formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function
3868         implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph.
3869
3870         No new tests are added since this is a refactoring.
3871
3872         * Android.mk: Added ApplyBlockElementCommand.cpp.
3873         * CMakeLists.txt: Ditto.
3874         * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h.
3875         * WebCore.gypi: Ditto.
3876         * WebCore.pro: Ditto.
3877         * WebCore.xcodeproj/project.pbxproj: Ditto.
3878         * editing/ApplyBlockElementCommand.cpp: Added.
3879         (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp
3880         (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added.
3881         (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply.
3882         (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion.
3883         (WebCore::ApplyBlockElementCommand::createBlockElement): Added.
3884         (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes.
3885         * editing/ApplyBlockElementCommand.h: Added.
3886         * editing/EditingAllInOne.cpp:
3887         * editing/EditorCommand.cpp:
3888         (WebCore::executeFormatBlock):
3889         * editing/FormatBlockCommand.cpp: Removed doApply.
3890         (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor.
3891         (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph.
3892         * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand.
3893         (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString.
3894         * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes.
3895         (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor.
3896         (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote
3897         when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection.
3898         (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting.
3899         (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote.
3900         * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand.
3901
3902 2010-10-01  Mark Rowe  <mrowe@apple.com>
3903
3904         Build fix.
3905
3906         Clear the executable bit from a number of source files.
3907
3908         * page/Frame.cpp:
3909         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3910         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3911         * platform/graphics/win/WKCACFLayerRenderer.h:
3912         * platform/network/ResourceRawHeaders.h:
3913         * rendering/RenderLayerCompositor.cpp:
3914         * rendering/RenderLayerCompositor.h:
3915
3916 2010-10-01  Martin Robinson  <mrobinson@igalia.com>
3917
3918         Reviewed by Adam Barth.
3919
3920         [GTK] r68923 broke some plugin tests
3921         https://bugs.webkit.org/show_bug.cgi?id=47040
3922
3923         No longer pass focus and blur events to plugins when the "old" DOM Level
3924         2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means
3925         that the DOM Level 3 version is always fired for this event. 
3926
3927         No new tests, as this should cause the failing tests to pass.
3928
3929         * plugins/PluginView.cpp:
3930         (WebCore::PluginView::handleEvent): No longer pass focus and blur events to
3931         plugins when DOMFocusIn / DOMFocusOut events occur.
3932
3933 2010-10-01  Anders Carlsson  <andersca@apple.com>
3934
3935         Reviewed by Sam Weinig.
3936
3937         Plug-ins should have access to the private browsing state.
3938         https://bugs.webkit.org/show_bug.cgi?id=47031
3939         <rdar://problem/8505405>
3940
3941         * page/Page.cpp:
3942         (WebCore::Page::privateBrowsingStateChanged):
3943         When iterating over all widgets, also look for PluginViewBase classes and invoke their 
3944         privateBrowsingStateChange member function.
3945
3946         * plugins/PluginViewBase.h:
3947         (WebCore::PluginViewBase::privateBrowsingStateChanged):
3948         Add function.
3949
3950 2010-10-01  Brian Weinstein  <bweinstein@apple.com>
3951
3952         Build Fix for Windows.
3953
3954         * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use
3955             WebCoreCommon.vsprops to handle post-build step.
3956         * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete 
3957              $(WebKitOutputDir)/buildfailed.
3958
3959 2010-10-01  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
3960
3961         Reviewed by Kenneth Rohde Christiansen.
3962
3963         [Qt] Segmentation fault during zoom out
3964         https://bugs.webkit.org/show_bug.cgi?id=46984
3965
3966         * platform/qt/QtMobileWebStyle.cpp:
3967         (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle.
3968
3969 2010-10-01  Anders Carlsson  <andersca@apple.com>
3970
3971         Another Qt build fix attempt.
3972
3973         * WebCore.pro:
3974
3975 2010-10-01  David Hyatt  <hyatt@apple.com>
3976
3977         Reviewed by Dan Bernstein.
3978
3979         https://bugs.webkit.org/show_bug.cgi?id=47021
3980         
3981         Patch the floatBottom function and its friends.  Rename them and consolidate them to be block-flow-aware.
3982
3983         Nothing testable yet, since most of the float code is still unpatched.
3984
3985         * rendering/RenderBlock.cpp:
3986         (WebCore::RenderBlock::layoutBlock):
3987         (WebCore::RenderBlock::layoutBlockChildren):
3988         (WebCore::RenderBlock::layoutBlockChild):
3989         (WebCore::RenderBlock::positionNewFloats):
3990         (WebCore::RenderBlock::newLine):
3991         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
3992         (WebCore::RenderBlock::lowestFloatLogicalBottom):
3993         (WebCore::RenderBlock::clearFloats):
3994         (WebCore::RenderBlock::addOverhangingFloats):
3995         (WebCore::RenderBlock::getClearDelta):
3996         * rendering/RenderBlock.h:
3997         (WebCore::RenderBlock::logicalBottomForFloat):
3998         (WebCore::RenderBlock::hasOverhangingFloats):
3999         * rendering/RenderBlockLineLayout.cpp:
4000         (WebCore::RenderBlock::fitBelowFloats):
4001
4002 2010-10-01  Anders Carlsson  <andersca@apple.com>
4003
4004         Fix typo.
4005
4006         * platform/network/qt/ProxyServerQt.cpp:
4007         (WebCore::proxyServersForURL):
4008
4009 2010-10-01  Anders Carlsson  <andersca@apple.com>
4010
4011         Add Qt ProxyServer stub.
4012
4013         * WebCore.pro:
4014         * platform/network/qt/ProxyServerQt.cpp: Added.
4015         (WebCore::proxyServersForURL):
4016
4017 2010-10-01  Anders Carlsson  <andersca@apple.com>
4018
4019         Reviewed by Dan Bernstein.
4020
4021         Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
4022         https://bugs.webkit.org/show_bug.cgi?id=47022
4023         <rdar://problem/8504712>
4024
4025         * WebCore.exp.in:
4026         Export proxyServersForURL and toString.
4027
4028         * WebCore.vcproj/WebCore.vcproj:
4029         * WebCore.xcodeproj/project.pbxproj:
4030         Add new files.
4031
4032         * platform/network/ProxyServer.cpp: Added.
4033         (WebCore::appendProxyServerString):
4034         (WebCore::toString):
4035         New function that converts a vector of ProxyServers into a PAC style string.
4036
4037         * platform/network/ProxyServer.h: Added.
4038         (WebCore::ProxyServer::ProxyServer):
4039         (WebCore::ProxyServer::type):
4040         (WebCore::ProxyServer::hostName):
4041         (WebCore::ProxyServer::port):
4042         Add ProxyServer class.
4043
4044         * platform/network/cf/ProxyServerCFNet.cpp: Added.
4045         (WebCore::proxyServersForURL):
4046         (WebCore::addProxyServersForURL):
4047         Query CFNetwork for the proxy servers given a URL.
4048
4049 2010-09-30  Zhenyao Mo  <zmo@google.com>
4050
4051         Reviewed by Kenneth Russell.
4052
4053         texImage2D fails on 16-bit-per-channel images
4054         https://bugs.webkit.org/show_bug.cgi?id=46947
4055
4056         * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats.
4057         (WebCore::convertColor16To8):
4058         (WebCore::doPacking):
4059         * platform/graphics/GraphicsContext3D.h: Ditto.
4060         * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto.
4061         (WebCore::GraphicsContext3D::getImageData):
4062
4063 2010-10-01  Eric Uhrhane  <ericu@chromium.org>
4064
4065         Reviewed by Nate Chapin.
4066
4067         Add v8 binding helpers to make FileWriter be an EventTarget.
4068         https://bugs.webkit.org/show_bug.cgi?id=46910
4069
4070         No new tests; still waiting for the first complete implementation.
4071
4072         * bindings/v8/V8DOMWrapper.cpp:
4073         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
4074
4075 2010-10-01  David Hyatt  <hyatt@apple.com>
4076
4077         Reviewed by Sam Weinig.
4078
4079         https://bugs.webkit.org/show_bug.cgi?id=47015
4080         
4081         Change FloatingObject to store its dimensions as a rect.
4082         This will make it easier for logical access for block-flow later on if
4083         top/bottom is no different from left/width.  This change also simplifies
4084         calling code a bit in places.
4085
4086         * rendering/RenderBlock.cpp:
4087         (WebCore::RenderBlock::addOverflowFromFloats):
4088         (WebCore::RenderBlock::repaintOverhangingFloats):
4089         (WebCore::RenderBlock::paintFloats):
4090         (WebCore::RenderBlock::fillSelectionGaps):
4091         (WebCore::RenderBlock::insertFloatingObject):
4092         (WebCore::RenderBlock::removeFloatingObject):
4093         (WebCore::RenderBlock::removeFloatingObjectsBelow):
4094         (WebCore::RenderBlock::positionNewFloats):
4095         (WebCore::RenderBlock::positionNewFloatOnLine):
4096         (WebCore::RenderBlock::logicalLeftOffsetForLine):
4097         (WebCore::RenderBlock::logicalRightOffsetForLine):
4098         (WebCore::RenderBlock::nextFloatBottomBelow):
4099         (WebCore::RenderBlock::floatBottom):
4100         (WebCore::RenderBlock::lowestPosition):
4101         (WebCore::RenderBlock::rightmostPosition):
4102         (WebCore::RenderBlock::leftmostPosition):
4103         (WebCore::RenderBlock::leftBottom):
4104         (WebCore::RenderBlock::rightBottom):
4105         (WebCore::RenderBlock::clearFloats):
4106         (WebCore::RenderBlock::addOverhangingFloats):
4107         (WebCore::RenderBlock::addIntrudingFloats):
4108         (WebCore::RenderBlock::hitTestFloats):
4109         (WebCore::RenderBlock::adjustForBorderFit):
4110         * rendering/RenderBlock.h:
4111         (WebCore::RenderBlock::FloatingObject::FloatingObject):
4112         (WebCore::RenderBlock::FloatingObject::left):
4113         (WebCore::RenderBlock::FloatingObject::right):
4114         (WebCore::RenderBlock::FloatingObject::top):
4115         (WebCore::RenderBlock::FloatingObject::bottom):
4116         (WebCore::RenderBlock::FloatingObject::width):
4117         (WebCore::RenderBlock::FloatingObject::height):
4118         (WebCore::RenderBlock::FloatingObject::setLeft):
4119         (WebCore::RenderBlock::FloatingObject::setTop):
4120         (WebCore::RenderBlock::FloatingObject::setWidth):
4121         (WebCore::RenderBlock::FloatingObject::setHeight):
4122         (WebCore::RenderBlock::FloatingObject::frameRect):
4123         (WebCore::RenderBlock::FloatingObject::setFrameRect):
4124         * rendering/RenderBlockLineLayout.cpp:
4125         (WebCore::RenderBlock::layoutInlineChildren):
4126         (WebCore::RenderBlock::matchedEndLine):
4127
4128 2010-10-01  Enrica Casucci  <enrica@apple.com>
4129
4130         Reviewed by Darin Adler.
4131
4132         DOMFocusIn/DOMFocusOut return focusin/focusout Event.type
4133         https://bugs.webkit.org/show_bug.cgi?id=42580
4134         <rdar://problem/8107311>
4135         
4136         This change removes the aliased type machinery from the Event class.
4137         We now fire the event with the new name and the oldname.
4138         
4139         Tests: Modified fast/events/focusinout.html to check the event
4140         type.
4141
4142         * dom/Document.cpp:
4143         (WebCore::Document::setFocusedNode):
4144         * dom/Event.cpp: Removed aliasedType and hasAliasedType.
4145         * dom/Event.h: Removed aliasedType and hasAliasedType.
4146         * dom/EventTarget.cpp:
4147         (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code.
4148
4149 2010-10-01  David Hyatt  <hyatt@apple.com>
4150
4151         Reviewed by Darin Adler.
4152
4153         https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow.  This patch changes
4154         all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width
4155         and logical height instead.
4156
4157         Added fast/blockflow/block-level-images.html
4158
4159         * rendering/RenderBox.cpp:
4160         (WebCore::RenderBox::computeLogicalWidth):
4161         (WebCore::RenderBox::computeLogicalHeight):
4162         (WebCore::RenderBox::computeReplacedLogicalWidth):
4163         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
4164         (WebCore::RenderBox::computeReplacedLogicalHeight):
4165         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
4166         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
4167         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
4168         * rendering/RenderBox.h:
4169         (WebCore::RenderBox::intrinsicLogicalWidth):
4170         (WebCore::RenderBox::intrinsicLogicalHeight):
4171         * rendering/RenderImage.cpp:
4172         (WebCore::RenderImage::isLogicalWidthSpecified):
4173         (WebCore::RenderImage::isLogicalHeightSpecified):
4174         (WebCore::RenderImage::computeReplacedLogicalWidth):
4175         (WebCore::RenderImage::computeReplacedLogicalHeight):
4176         (WebCore::RenderImage::calcAspectRatioLogicalWidth):
4177         (WebCore::RenderImage::calcAspectRatioLogicalHeight):
4178         * rendering/RenderImage.h:
4179         * rendering/RenderReplaced.cpp:
4180         (WebCore::RenderReplaced::layout):
4181         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
4182         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
4183         (WebCore::RenderReplaced::calcAspectRatioLogicalWidth):
4184         (WebCore::RenderReplaced::calcAspectRatioLogicalHeight):
4185         (WebCore::RenderReplaced::computePreferredLogicalWidths):
4186         * rendering/RenderReplaced.h:
4187         * rendering/RenderSVGRoot.cpp:
4188         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
4189         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
4190         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
4191         * rendering/RenderSVGRoot.h:
4192         * rendering/RenderVideo.cpp:
4193         (WebCore::RenderVideo::computeReplacedLogicalWidth):
4194         (WebCore::RenderVideo::computeReplacedLogicalHeight):
4195         * rendering/RenderVideo.h:
4196
4197 2010-10-01  Nate Chapin  <japhet@chromium.org>
4198
4199         Reviewed by Darin Adler.
4200
4201         Remove unused Request::buffer() and Request::m_buffer.
4202
4203         https://bugs.webkit.org/show_bug.cgi?id=47003
4204
4205         * loader/Request.h:
<