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