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