1 2009-11-23 Adam Barth <abarth@webkit.org>
3 Reviewed by Dimitri Glazkov.
5 [V8] Don't crash when OOM in creating isolated world
6 https://bugs.webkit.org/show_bug.cgi?id=31805
8 We need to add some more null checks to avoid crashing. No new tests
9 because we don't have a good way to test out-of-memory bugs.
11 * bindings/v8/V8Proxy.cpp:
12 (WebCore::V8Proxy::evaluateInIsolatedWorld):
13 (WebCore::V8Proxy::evaluateInNewContext):
14 (WebCore::V8Proxy::setInjectedScriptContextDebugId):
15 * bindings/v8/V8Proxy.h:
17 2009-11-23 Dirk Schulze <krit@webkit.org>
19 Reviewed by Nikolas Zimmermann.
21 This is the implementation of the filterRes attribute. It
22 helps the SVG developer to set the quality of a filter by
23 giving the width or height of filter.
24 This patch also sets the filter resolution to lower values
25 if a intermediate ImageBuffer size is bigger than the given
27 The maximal size is set to 5000x5000 by default. This is a
28 subjectiv decission. Everthing greater than this values gets
29 sensible slower. Values of 10000x10000 crashed on WebKitGtk.
30 For mobil devices a maximum size of 100x100 or 200x200 seems
32 The important fact on filter resolution is, that the output
33 size is still the size given by the <filter> element.
35 Tests: svg/filters/big-sized-filter-2.svg
36 svg/filters/big-sized-filter.svg
37 svg/filters/filterRes.svg
39 * platform/graphics/FloatRect.cpp:
40 (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
41 * platform/graphics/FloatRect.h:
42 (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
43 * platform/graphics/cairo/GraphicsContextCairo.cpp:
44 (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
46 * platform/graphics/filters/FEBlend.cpp:
47 (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
48 * platform/graphics/filters/FEColorMatrix.cpp:
49 (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
50 * platform/graphics/filters/FEComponentTransfer.cpp:
51 (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
53 * platform/graphics/filters/FEComposite.cpp:
54 (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
55 * platform/graphics/filters/FEGaussianBlur.cpp:
56 (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
57 * platform/graphics/filters/Filter.h: Add the abbility to change the quality
59 (WebCore::Filter::filterResolution):
60 (WebCore::Filter::setFilterResolution):
61 (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
62 as well as the scaledSubRegion. It also searches for the biggest effect size.
63 We have to change the filter resolution, if one intermediate ImageBuffer size
64 doesn't fit in the maximal image size.
65 * platform/graphics/filters/FilterEffect.cpp:
66 (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
67 the right part of a previous effect result.
68 (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
69 the right part of a previous effect result.
70 (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
71 a new intermediate ImageBuffer for the result of the current effect.
72 * platform/graphics/filters/FilterEffect.h:
73 (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
75 (WebCore::FilterEffect::setScaledSubRegion):
76 (WebCore::FilterEffect::effectBoundaries): The original values of the
77 EffectElement for a second subRegion calculation.
78 (WebCore::FilterEffect::setEffectBoundaries):
79 * platform/graphics/filters/ImageBufferFilter.cpp:
80 (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
81 * platform/graphics/filters/ImageBufferFilter.h:
82 (WebCore::ImageBufferFilter::maxImageSize):
83 (WebCore::ImageBufferFilter::calculateEffectSubRegion):
84 * platform/graphics/filters/SourceAlpha.cpp:
85 (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
87 * platform/graphics/filters/SourceGraphic.cpp:
88 (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
90 * svg/SVGFilterElement.cpp:
91 (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
92 (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
94 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
95 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
96 values to effectBoundaries of the filter effect
97 * svg/graphics/SVGResourceFilter.cpp:
98 (WebCore::SVGResourceFilter::SVGResourceFilter):
99 (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
100 (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
101 fits into the maximal image size, modifys scale factors if not and return a
103 (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
104 filterResolution (given by FilterElement or calculated on to big image sizes).
105 Set the scale level to SVGFilter.
106 (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
108 * svg/graphics/SVGResourceFilter.h:
109 (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
110 (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
112 (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
113 (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
114 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
115 (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
116 Kernel values are scaled to current filter resolution too.
117 * svg/graphics/filters/SVGFEFlood.cpp:
118 (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
119 * svg/graphics/filters/SVGFEMerge.cpp:
120 (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
121 Kernel values are scaled to current filter resolution too.
122 * svg/graphics/filters/SVGFEMorphology.cpp:
123 (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
124 Kernel values are scaled to current filter resolution too.
125 * svg/graphics/filters/SVGFEOffset.cpp:
126 (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
127 * svg/graphics/filters/SVGFETile.cpp:
128 (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
129 * svg/graphics/filters/SVGFilter.cpp:
130 (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
131 scaledSubRegion according to the current filterResolution and get the maximal image size.
132 * svg/graphics/filters/SVGFilter.h:
133 (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement.
134 (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
135 (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
136 (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
138 2009-11-23 Simon Hausmann <simon.hausmann@nokia.com>
140 Reviewed by Kenneth Rohde Christiansen.
142 [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
143 the wrapped object died before the gc removed the instance.
145 https://bugs.webkit.org/show_bug.cgi?id=31681
147 Before using a cached instance, verify that its wrapped QObject is
150 * bridge/qt/qt_instance.cpp:
151 (JSC::Bindings::QtInstance::getQtInstance):
152 * bridge/qt/qt_instance.h:
153 (JSC::Bindings::QtInstance::hashKey):
155 2009-11-22 Chris Fleizach <cfleizach@apple.com>
157 Reviewed by Oliver Hunt.
159 ARIA: support aria-flowto
160 https://bugs.webkit.org/show_bug.cgi?id=31762
162 Test: platform/mac/accessibility/aria-flowto.html
164 * accessibility/AccessibilityObject.h:
165 (WebCore::AccessibilityObject::ariaOwnsElements):
166 (WebCore::AccessibilityObject::supportsARIAFlowTo):
167 (WebCore::AccessibilityObject::ariaFlowToElements):
168 * accessibility/AccessibilityRenderObject.cpp:
169 (WebCore::AccessibilityRenderObject::linkedUIElements):
170 (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
171 (WebCore::AccessibilityRenderObject::ariaFlowToElements):
172 * accessibility/AccessibilityRenderObject.h:
173 * html/HTMLAttributeNames.in:
175 2009-11-22 Nikolas Zimmermann <nzimmermann@rim.com>
177 Not reviewed. Build fix for WML enabled builds.
178 Adopt WebCore API changes.
180 * wml/WMLAElement.cpp:
181 (WebCore::WMLAElement::defaultEventHandler):
182 * wml/WMLInputElement.cpp:
183 (WebCore::WMLInputElement::defaultEventHandler):
185 2009-11-22 Pavel Feldman <pfeldman@chromium.org>
187 Reviewed by Timothy Hatcher.
189 Web Inspector: Introduce sidebar background on timeline panel in order
190 to prevent it from flickering on scroll.
192 https://bugs.webkit.org/show_bug.cgi?id=31789
194 * inspector/front-end/TimelinePanel.js:
195 (WebInspector.TimelinePanel):
196 (WebInspector.TimelinePanel.prototype.setSidebarWidth):
197 (WebInspector.TimelinePanel.prototype._onScroll):
198 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
199 * inspector/front-end/inspector.css:
201 2009-11-22 Pavel Feldman <pfeldman@chromium.org>
203 Reviewed by Timothy Hatcher.
205 Web Inspector: Reimplement TimelinePanel to make it fast:
206 - Extract grid and overview into separate files
207 - Make timeline create only divs for visible rows
209 https://bugs.webkit.org/show_bug.cgi?id=31784
212 * WebCore.vcproj/WebCore.vcproj:
213 * inspector/front-end/AbstractTimelinePanel.js:
214 (WebInspector.AbstractTimelinePanel.prototype.createInterface):
215 (WebInspector.AbstractTimelinePanel.prototype.refresh):
216 (WebInspector.AbstractTimelinePanel.prototype.set calculator):
217 * inspector/front-end/TimelineGrid.js: Added.
218 (WebInspector.TimelineGrid):
219 (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
220 (WebInspector.TimelineGrid.prototype.updateDividers):
221 (WebInspector.TimelineGrid.prototype.addEventDivider):
222 (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
223 * inspector/front-end/TimelineOverviewPane.js: Added.
224 (WebInspector.TimelineOverviewPane):
225 (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
226 (WebInspector.TimelineOverviewPane.prototype.update):
227 (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
228 (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
229 (WebInspector.TimelineOverviewPane.prototype.reset):
230 (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
231 (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
232 (WebInspector.TimelineOverviewPane.prototype._dragWindow):
233 (WebInspector.TimelineOverviewPane.prototype._windowDragging):
234 (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
235 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
236 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
237 (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
238 (WebInspector.TimelineOverviewCalculator):
239 (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
240 (WebInspector.TimelineOverviewCalculator.prototype.reset):
241 (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
242 (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
243 (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
244 (WebInspector.TimelineCategoryTreeElement):
245 (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
246 (WebInspector.TimelineCategoryGraph):
247 (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
248 (WebInspector.TimelineCategoryGraph.prototype.addChunk):
249 (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
250 (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
251 * inspector/front-end/TimelinePanel.js:
252 (WebInspector.TimelinePanel):
253 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
254 (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
255 (WebInspector.TimelinePanel.prototype._formatRecord):
256 (WebInspector.TimelinePanel.prototype.setSidebarWidth):
257 (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
258 (WebInspector.TimelinePanel.prototype.resize):
259 (WebInspector.TimelinePanel.prototype.reset):
260 (WebInspector.TimelinePanel.prototype.show):
261 (WebInspector.TimelinePanel.prototype._onScroll):
262 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
263 (WebInspector.TimelinePanel.prototype._refresh):
264 (WebInspector.TimelinePanel.prototype._refreshRecords):
265 (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
266 (WebInspector.TimelineCategory):
267 (WebInspector.TimelineCalculator):
268 (WebInspector.TimelineCalculator.prototype.get boundarySpan):
269 (WebInspector.TimelineRecordListRow):
270 (WebInspector.TimelineRecordListRow.prototype.update):
271 (WebInspector.TimelineRecordGraphRow):
272 (WebInspector.TimelineRecordGraphRow.prototype.update):
273 * inspector/front-end/WebKit.qrc:
274 * inspector/front-end/inspector.css:
275 * inspector/front-end/inspector.html:
277 2009-11-22 Chris Evans <cevans@chromium.org>
279 Reviewed by Adam Barth.
281 Disable access to file:/// directory listings
282 https://bugs.webkit.org/show_bug.cgi?id=31329
284 Deny access to directory listings. This needs doing in WebKit for
285 WebKit clients that do permit top-level navigation to file:///dir.
286 This matches Firefox, plus the existing Safari implementation (which
287 does not support any directory access at all). It will fix the
288 LayoutTest named below for Chromium.
290 Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
292 * page/SecurityOrigin.cpp: Deny access to directory listings.
293 (WebCore::SecurityOrigin::SecurityOrigin):
294 (WebCore::SecurityOrigin::canRequest):
296 2009-11-20 Joseph Pecoraro <joepeck@webkit.org>
298 Reviewed by Timothy Hatcher.
300 Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
301 https://bugs.webkit.org/show_bug.cgi?id=31400
303 Handle the following when on a Mac:
305 Ctrl+P = Previous (like Up arrow)
306 Ctrl+N = Next (like Down arrow)
308 No longer rerun autocompletion when just pushing a modifier key
309 like Control, Alt, Shift, or Meta.
311 Improved arrow key behavior with Multiline code in the Console, with the following behavior:
313 Up = Previous Command if on First Line (caret moves to the end of the first line)
314 otherwise default caret movement in text.
315 Down = Next Command if on Last Line (caret naturally moves to the end)
316 otherwise default caret movement in text.
318 * inspector/front-end/TextPrompt.js:
319 (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
320 (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
321 (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
322 (WebInspector.TextPrompt.prototype._upKeyPressed):
323 (WebInspector.TextPrompt.prototype._downKeyPressed):
324 (WebInspector.TextPrompt.prototype._moveBackInHistory):
325 (WebInspector.TextPrompt.prototype._moveForwardInHistory):
327 2009-11-21 Jessie Berlin <jberlin@webkit.org>
329 Reviewed by Timothy Hatcher.
331 Adds a tooltip containing the full url of the resource to each element
332 in the Resources panel so that it is possible to quickly see the query
334 https://bugs.webkit.org/show_bug.cgi?id=19103
336 * inspector/front-end/ResourcesPanel.js:
337 (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
338 Set the tooltip to be the resource's url.
340 2009-11-21 Simon Fraser <simon.fraser@apple.com>
342 Reviewed by Dan Bernstein.
344 CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
345 https://bugs.webkit.org/show_bug.cgi?id=31588
347 In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
348 so that findRule() and deleteRule() work with these keywords.
350 * css/WebKitCSSKeyframesRule.cpp:
351 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
353 2009-11-21 Daniel Bates <dbates@webkit.org>
355 Reviewed by Eric Seidel.
357 https://bugs.webkit.org/show_bug.cgi?id=31647
359 Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
361 No functionality was changed. So, no new tests.
363 * dom/KeyboardEvent.cpp:
364 (WebCore::KeyboardEvent::~KeyboardEvent):
365 * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
366 (WebCore::KeyboardEvent::keyEvent):
368 2009-11-20 Chris Fleizach <cfleizach@apple.com>
370 Reviewed by Beth Dakin.
372 WAI-ARIA: add support for aria-owns
373 https://bugs.webkit.org/show_bug.cgi?id=31702
375 Re-organized how accessibilityAttributeNames are returned so
376 that it's possible for an element to add an attribute based on
377 a dynamic value. In this case, we only want to add AXOwn if the
378 element actually supports aria-owns.
380 Test: platform/mac/accessibility/aria-owns.html
382 * accessibility/AccessibilityObject.h:
383 (WebCore::AccessibilityObject::supportsARIAOwns):
384 (WebCore::AccessibilityObject::ariaOwnsElements):
385 * accessibility/AccessibilityRenderObject.cpp:
386 (WebCore::AccessibilityRenderObject::ariaOwnsElements):
387 (WebCore::AccessibilityRenderObject::supportsARIAOwns):
388 * accessibility/AccessibilityRenderObject.h:
389 * accessibility/mac/AccessibilityObjectWrapper.mm:
390 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
391 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
392 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
393 * html/HTMLAttributeNames.in:
395 2009-11-20 Eric Carlson <eric.carlson@apple.com>
397 Reviewed by Simon Fraser.
399 <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
401 * css/mediaControls.css:
402 Define closed caption toggle button.
404 * rendering/RenderMedia.cpp:
405 (WebCore::RenderMedia::updateControls):
406 Create closed caption toggle button in display order.
408 * rendering/RenderThemeMac.mm:
409 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
410 Don't require MediaControllerThemeQuickTime theme for captions toggle button.
411 No need to check if the movie has video, a closed captions track is a video
414 2009-11-20 Joseph Pecoraro <joepeck@webkit.org>
416 Reviewed by Timothy Hatcher.
418 Web Inspector: Running code in the Console that ends with a
419 single line comment no longer produces a parse error.
421 * inspector/front-end/InjectedScript.js:
422 (InjectedScript._evaluateOn):
424 2009-11-20 Chris Fleizach <cfleizach@apple.com>
426 Reviewed by Beth Dakin.
428 WAI-ARIA: add support for 'math' role
429 https://bugs.webkit.org/show_bug.cgi?id=31706
431 * accessibility/AccessibilityObject.cpp:
432 * accessibility/AccessibilityObject.h:
433 * accessibility/mac/AccessibilityObjectWrapper.mm:
435 2009-11-20 Yael Aharon <yael.aharon@nokia.com>
437 Reviewed by Kenneth Rohde Christiansen.
439 NPN_ReloadPlugins does not reload the page even if reloadPages is true.
440 https://bugs.webkit.org/show_bug.cgi?id=30460
442 Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
443 It already refreshes plugins and reloads pages when necessary.
445 Tests: plugins/reloadplugins-and-pages.html
446 plugins/reloadplugins-no-pages.html
448 * plugins/PluginInfoStore.cpp:
449 (WebCore::refreshPlugins):
451 2009-11-20 Oliver Hunt <oliver@apple.com>
453 Reviewed by Dave Hyatt.
455 <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
457 Expose WebCore object serialization to WebKit.
460 * bindings/js/SerializedScriptValue.cpp:
461 (WebCore::SerializedScriptValue::~SerializedScriptValue):
462 (WebCore::SerializedScriptValue::create):
463 (WebCore::SerializedScriptValue::deserialize):
464 * bindings/js/SerializedScriptValue.h:
466 2009-11-20 Brian Weinstein <bweinstein@apple.com>
468 Reviewed by Tim Hatcher.
470 Fixes <http://webkit.org/b/31741>.
471 Web Inspector: User Entered Data on the console should show up no matter what filters.
473 Always show .console-user-command-result, no matter what the filter say
474 we should do with the other classes.
476 * inspector/front-end/inspector.css:
478 2009-11-20 Brian Weinstein <bweinstein@apple.com>
480 Reviewed by Tim Hatcher.
482 Fixes <http://webkit.org/b/31700>.
483 Web Inspector: isMac should be in one central location + Cached.
485 We should cache the value of isMac, and make the indexOf call in one
486 single location, because we are calling it from multiple places, and saving
487 the result can save us time, and make the call sites simpler.
489 * inspector/front-end/AbstractTimelinePanel.js:
490 (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
491 * inspector/front-end/ConsoleView.js:
492 (WebInspector.ConsoleView.prototype._updateFilter):
493 * inspector/front-end/ElementsPanel.js:
494 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
495 * inspector/front-end/ScriptsPanel.js:
496 (WebInspector.ScriptsPanel):
497 * inspector/front-end/SourceFrame.js:
498 (WebInspector.SourceFrame.prototype._loaded):
499 * inspector/front-end/inspector.js:
500 (WebInspector.documentKeyDown):
501 (WebInspector.isMac):
503 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
505 Removed .DS_Store accidentally added in last (r51245).
507 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
509 Reviewed by Timothy Hatcher.
511 Web Inspector: Add Console Only Layout Mode
512 https://bugs.webkit.org/show_bug.cgi?id=30282
514 Adds a Console Panel, which allows for a Full size Console. This
515 extends the Drawer to the size of a Panel. This also fixes previous
516 resize issues with the Drawer.
518 * inspector/front-end/ConsolePanel.js: added.
519 (WebInspector.ConsolePanel):
520 (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
521 (WebInspector.ConsolePanel.prototype.show):
522 (WebInspector.ConsolePanel.prototype.hide):
523 * inspector/front-end/Drawer.js:
524 (WebInspector.Drawer):
525 (WebInspector.Drawer.prototype.set visibleView):
526 (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
527 (WebInspector.Drawer.prototype.show.animationFinished):
528 (WebInspector.Drawer.prototype.show):
529 (WebInspector.Drawer.prototype.hide.animationFinished):
530 (WebInspector.Drawer.prototype.hide):
531 (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
532 (WebInspector.Drawer.prototype.enterPanelMode):
533 (WebInspector.Drawer.prototype.exitPanelMode):
534 (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
535 (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
536 (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
537 (WebInspector.Drawer.prototype._animateDrawerHeight):
538 (WebInspector.Drawer.prototype._animationDuration):
539 (WebInspector.Drawer.prototype._startStatusBarDragging):
540 (WebInspector.Drawer.prototype._statusBarDragging):
541 (WebInspector.Drawer.prototype._endStatusBarDragging):
543 Miscellaneous changes and cleanup.
545 * English.lproj/localizedStrings.js: "Console" toolbar title.
546 * inspector/front-end/ConsoleView.js: removed unnecessary element reordering
547 * inspector/front-end/Images/consoleIcon.png: added.
548 * inspector/front-end/inspector.css: added icon.
549 * inspector/front-end/inspector.html:
550 * inspector/front-end/inspector.js:
551 (WebInspector._createPanels): create console panel
552 (WebInspector.windowResize): resize drawer if necessary
553 (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
554 (WebInspector.animateStyle): start animation interval, returns the interval key
555 (WebInspector.toggleAttach): resize drawer if necessary
556 (WebInspector.showConsolePanel): restore the panel when the inspector restarts
557 (WebInspector.showProfileForURL): style fix
559 Restore the panel when the inspector restarts.
561 * inspector/InspectorController.cpp:
562 (WebCore::InspectorController::setWindowVisible):
563 (WebCore::InspectorController::specialPanelForJSName):
564 * inspector/InspectorFrontend.cpp:
565 (WebCore::InspectorFrontend::showPanel):
570 * WebCore.vcproj/WebCore.vcproj:
571 * inspector/front-end/WebKit.qrc:
573 2009-11-20 Brian Weinstein <bweinstein@apple.com>
575 Reviewed by Tim Hatcher.
577 Fixes <http://webkit.org/b/31699>.
578 Web Inspector: Should Cache Values of InspectorController.platform() and port().
580 Refactor the Inspector to cache the value of InspectorController.platform
581 and InspectorController.port, because those need to call into C++, they are
582 being called more and more as we add platform specific keyboard shortcuts, and
583 they shouldn't change in the lifecycle of the Web Inspector.
585 * inspector/front-end/AbstractTimelinePanel.js:
586 (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
587 * inspector/front-end/ConsoleView.js:
588 (WebInspector.ConsoleView.prototype._updateFilter):
589 * inspector/front-end/ElementsPanel.js:
590 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
591 * inspector/front-end/ScriptsPanel.js:
592 (WebInspector.ScriptsPanel):
593 * inspector/front-end/SourceFrame.js:
594 (WebInspector.SourceFrame.prototype._loaded):
595 * inspector/front-end/inspector.js:
596 (WebInspector.get platform):
597 (WebInspector.get port):
598 (WebInspector.loaded):
599 (WebInspector.documentKeyDown):
600 (WebInspector.toolbarDragStart):
602 2009-11-20 Dirk Schulze <krit@webkit.org>
604 Unreviewed build fix for filters enabled builds.
606 * platform/graphics/filters/FEColorMatrix.cpp:
607 (WebCore::FEColorMatrix::apply):
608 * platform/graphics/filters/FEComposite.cpp:
609 (WebCore::FEComposite::apply):
610 * platform/graphics/filters/SourceGraphic.cpp:
611 (WebCore::SourceGraphic::apply):
612 * svg/graphics/SVGResourceFilter.cpp:
613 (WebCore::SVGResourceFilter::applyFilter):
614 * svg/graphics/filters/SVGFEMerge.cpp:
615 (WebCore::FEMerge::apply):
616 * svg/graphics/filters/SVGFEOffset.cpp:
617 (WebCore::FEOffset::apply):
618 * svg/graphics/filters/SVGFETile.cpp:
619 (WebCore::FETile::apply):
621 2009-11-20 Eric Carlson <eric.carlson@apple.com>
623 Reviewed by Simon Fraser.
625 <rdar://problem/7389945> QTKit based media engine should not claim to support
626 fullscreen on Leopard
628 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
629 (WebCore::MediaPlayerPrivate::supportsFullscreen):
630 Only return true on SnowLeopard for now.
632 * rendering/RenderThemeMac.mm:
633 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
634 No need to special case MediaFullscreenButtonPart as the default implementation
635 asks the media engine if it supports fullscreen.
637 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
639 Reviewed by Simon Hausmann.
641 Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
642 Girish Ramakrishnan <girish@forwardbias.in>
644 [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
645 without a QWebView or when inside QGraphicsWebView.
647 Currently, the code provides the cgcontext of the PlatformPluginWidget to
648 the plugin. This approach does not work when we are printing, or using
649 QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
650 up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
651 of the QPaintDevice's context.
653 To solve all cases and keep the code simple, we render the plugin to an
654 offscreen pixmap in all cases. This way, the plugin always renders to the
655 CGContext of the pixmap and we then use QPainter to blit the pixmap into
656 the QPaintDevice. We also create a fake window and set it's WindowRef in
657 NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
659 Now, that's the theory. In practice, ATM, mouse events do not work when using
660 the fake window. So, setPlatformPluginWidget() is still called when using QWebView
661 so that there are no regressions after this patch. Once we get mouse events
662 working, setPlatformPluginWidget will be removed.
664 https://bugs.webkit.org/show_bug.cgi?id=31183
666 * plugins/PluginView.cpp:
667 (WebCore::PluginView::PluginView):
668 * plugins/PluginView.h:
669 * plugins/mac/PluginViewMac.cpp:
670 (WebCore::PluginView::platformStart):
671 (WebCore::PluginView::platformDestroy):
672 (WebCore::PluginView::setNPWindowIfNeeded):
673 (WebCore::PluginView::updatePluginWidget):
674 (WebCore::PluginView::paint):
675 (WebCore::PluginView::invalidateRect):
677 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
679 Reviewed by Timothy Hatcher.
681 Web Inspector: Resync Resources Backend and Frontend
682 https://bugs.webkit.org/show_bug.cgi?id=31705
684 * inspector/front-end/Resource.js: resync enum values with backend
685 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
687 2009-11-19 Steve Block <steveblock@google.com>
689 Reviewed by Darin Fisher.
691 Android port lacks configuration in Platform.h and config.h.
692 https://bugs.webkit.org/show_bug.cgi?id=31671
694 Build change only. No new tests possible.
696 * config.h: Modified. Added Android-specific configuration.
698 2009-11-20 Roland Steiner <rolandsteiner@chromium.org>
700 Reviewed by Darin Adler.
702 Change default stylesheet to reset text indentation for ruby elements by default.
703 (https://bugs.webkit.org/show_bug.cgi?id=31247)
705 Test: fast/ruby/ruby-text-indent.html
707 * css/html.css: reset text-indent on <ruby> and <rt> elements
709 2009-11-19 Brian Weinstein <bweinstein@apple.com>
711 Reviewed by Darin Adler.
713 Fixes <http://webkit.org/b/22754>.
714 Web Inspector: Keyboard shortcut for Element finder.
716 Use Command + Shift + C as a shortcut for Node Search, to
717 match the Firebug shortcut to do the same thing.
719 * inspector/front-end/ElementsPanel.js:
720 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
722 2009-11-19 Alexey Proskuryakov <ap@apple.com>
724 Reviewed by Darin Adler.
726 https://bugs.webkit.org/show_bug.cgi?id=31690
727 Make SocketStreamHandleCFNet work on Windows
729 * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
731 * platform/network/ResourceHandle.h: Removed loaderRunLoop().
733 * platform/network/cf/LoaderRunLoopCF.cpp: Added.
734 (WebCore::emptyPerform):
735 (WebCore::runLoaderThread):
736 (WebCore::loaderRunLoop):
737 * platform/network/cf/LoaderRunLoopCF.h: Added.
738 Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
739 it's needed for more than just resource loading.
741 * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
743 * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
745 * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
747 * platform/network/cf/SocketStreamHandleCFNet.cpp:
748 (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
749 inoperable main run loop.
751 (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo):
752 (WebCore::SocketStreamHandle::readStreamCallback):
753 (WebCore::SocketStreamHandle::writeStreamCallback):
754 (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
755 (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
756 Forward stream events to main thread on Windows.
758 2009-11-19 Avi Drissman <avi@chromium.org>
760 Reviewed by Darin Adler.
763 https://bugs.webkit.org/show_bug.cgi?id=27777
765 * platform/graphics/cg/PDFDocumentImage.cpp:
767 2009-11-19 Beth Dakin <bdakin@apple.com>
769 Build fix. No review needed.
771 * platform/chromium/ScrollbarThemeChromium.cpp:
772 (WebCore::ScrollbarThemeChromium::paintTickmarks):
773 * rendering/RenderMediaControlsChromium.cpp:
774 (WebCore::paintMediaButton):
776 2009-11-19 Beth Dakin <bdakin@apple.com>
778 Build fix. No review needed.
780 * rendering/RenderThemeChromiumSkia.cpp:
781 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
782 (WebCore::RenderThemeChromiumSkia::paintRadio):
783 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
784 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
785 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
787 2009-11-19 Beth Dakin <bdakin@apple.com>
789 Build fix. No review needed.
791 * platform/graphics/qt/StillImageQt.cpp:
792 (WebCore::StillImage::draw):
793 * platform/graphics/qt/StillImageQt.h:
795 2009-11-19 Beth Dakin <bdakin@apple.com>
797 Build fix. No review needed.
799 * rendering/RenderThemeWin.cpp:
800 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
801 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
802 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
804 2009-11-19 Beth Dakin <bdakin@apple.com>
806 Build fix. No review needed.
808 * plugins/PluginView.cpp:
809 (WebCore::PluginView::paintMissingPluginIcon):
811 2009-11-19 Beth Dakin <bdakin@apple.com>
813 Build fix. No review needed.
815 * platform/graphics/win/ImageCGWin.cpp:
816 (WebCore::BitmapImage::getHBITMAPOfSize):
817 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
819 2009-11-19 Beth Dakin <bdakin@apple.com>
821 Reviewed by Darin Adler.
823 Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
824 color-correction work with untagged images
826 Image's draw(), drawPattern(), and fillWithSolidColor() functions
827 now take a ColorSpace. A bunch of classes inherit from Image, so
828 draw() and drawPattern() functions there must also take a
830 * platform/graphics/Image.cpp:
831 (WebCore::Image::fillWithSolidColor):
832 (WebCore::Image::drawTiled):
833 * platform/graphics/Image.h:
834 * platform/graphics/BitmapImage.h:
835 * platform/graphics/GeneratedImage.cpp:
836 (WebCore::GeneratedImage::draw):
837 (WebCore::GeneratedImage::drawPattern):
838 * platform/graphics/GeneratedImage.h:
839 * platform/graphics/cg/PDFDocumentImage.cpp:
840 (WebCore::PDFDocumentImage::draw):
841 * platform/graphics/cg/PDFDocumentImage.h:
842 * svg/graphics/SVGImage.cpp:
843 (WebCore::SVGImage::draw):
844 * svg/graphics/SVGImage.h:
846 All of the drawImage() functions and drawTiled() functions of
847 GraphicsContext now take a ColorSpace.
848 * platform/graphics/GraphicsContext.cpp:
849 (WebCore::GraphicsContext::drawImage):
850 (WebCore::GraphicsContext::drawTiledImage):
851 * platform/graphics/GraphicsContext.h:
853 This is where the actual work is done.
854 * platform/graphics/cg/ImageCG.cpp:
855 (WebCore::imageWithColorSpace): New static function that returns a
856 copy of the given image in the given ColorSpace *IF* we should use
857 the given ColorSpace. We will ignore the color space if the image
858 is tagged and return 0.
859 (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to
860 call imageWithColorSpace().
861 (WebCore::Image::drawPattern): Same.
863 Attempt to keep all ports building.
864 * platform/graphics/cairo/ImageCairo.cpp:
865 (WebCore::BitmapImage::draw):
866 (WebCore::Image::drawPattern):
867 * platform/graphics/haiku/ImageHaiku.cpp:
868 (WebCore::BitmapImage::draw):
869 (WebCore::Image::drawPattern):
870 * platform/graphics/qt/ImageQt.cpp:
871 (WebCore::Image::drawPattern):
872 (WebCore::BitmapImage::draw):
873 * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
874 * platform/graphics/skia/ImageSkia.cpp:
875 (WebCore::Image::drawPattern):
876 (WebCore::BitmapImage::draw):
877 (WebCore::BitmapImageSingleFrameSkia::draw):
878 * platform/graphics/wx/ImageWx.cpp:
879 (WebCore::BitmapImage::draw):
880 (WebCore::BitmapImage::drawPattern):
882 Callers of GraphicsContext's drawImage() and drawTiled() functions
883 now need to send a ColorSpace.
884 * html/HTMLCanvasElement.cpp:
885 (WebCore::HTMLCanvasElement::paint):
886 * html/canvas/CanvasRenderingContext2D.cpp:
887 (WebCore::CanvasRenderingContext2D::drawImage):
888 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
889 * platform/ScrollView.cpp:
890 (WebCore::ScrollView::wheelEvent):
891 * platform/graphics/filters/FEColorMatrix.cpp:
892 (WebCore::FEColorMatrix::apply):
893 * platform/graphics/filters/FEComposite.cpp:
894 (WebCore::FEComposite::apply):
895 * platform/graphics/filters/SourceGraphic.cpp:
896 (WebCore::SourceGraphic::apply):
897 * platform/mac/ScrollbarThemeMac.mm:
898 (WebCore::ScrollbarThemeMac::paint):
899 * rendering/RenderBoxModelObject.cpp:
900 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
901 (WebCore::RenderBoxModelObject::paintNinePieceImage):
902 * rendering/RenderImage.cpp:
903 (WebCore::RenderImage::paintReplaced):
904 * rendering/RenderLayer.cpp:
905 (WebCore::RenderLayer::paintResizer):
906 * rendering/RenderListMarker.cpp:
907 (WebCore::RenderListMarker::paint):
908 * rendering/RenderSVGImage.cpp:
909 (WebCore::RenderSVGImage::paint):
910 * rendering/RenderWidget.cpp:
911 (WebCore::RenderWidget::paint):
912 * svg/graphics/SVGPaintServerPattern.cpp:
913 (WebCore::SVGPaintServerPattern::setup):
914 * svg/graphics/SVGResourceFilter.cpp:
915 (WebCore::SVGResourceFilter::applyFilter):
916 * svg/graphics/filters/SVGFEMerge.cpp:
917 (WebCore::FEMerge::apply):
918 * svg/graphics/filters/SVGFEOffset.cpp:
919 (WebCore::FEOffset::apply):
920 * svg/graphics/filters/SVGFETile.cpp:
921 (WebCore::FETile::apply):
923 2009-11-19 Avi Drissman <avi@chromium.org>
925 Reviewed by Darin Adler.
927 Properly create a CGImageRef on non-PLATFORM(MAC).
928 https://bugs.webkit.org/show_bug.cgi?id=27777
930 * platform/graphics/cg/ImageSourceCG.cpp:
931 (WebCore::sharedBufferGetBytesAtPosition):
932 (WebCore::sharedBufferRelease):
933 (WebCore::ImageSource::setData):
934 * platform/graphics/cg/ImageSourceCG.h:
935 * platform/graphics/cg/PDFDocumentImage.cpp:
936 (WebCore::PDFDocumentImage::dataChanged):
938 2009-11-19 Oliver Hunt <oliver@apple.com>
940 Reviewed by Dave Hyatt.
942 -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
943 https://bugs.webkit.org/show_bug.cgi?id=31656
945 Make sure we're a child of the painting root before drawing overflow features.
947 * manual-tests/user-drag-with-decorations.html: Added.
948 * rendering/RenderBlock.cpp:
949 (WebCore::RenderBlock::paint):
951 2009-11-19 Dmitry Titov <dimich@chromium.org>
953 Not reviewed, attempt to fix Chromium build.
955 * rendering/RenderMediaControlsChromium.cpp:
956 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
958 2009-11-19 Rahul Kuchhal <kuchhal@chromium.org>
960 Reviewed by Darin Adler.
962 Do not assert when a high number is used for roman numerals in lists.
963 https://bugs.webkit.org/show_bug.cgi?id=31652
965 Test: fast/lists/ol-start-roman.html
967 * rendering/RenderListMarker.cpp:
968 (WebCore::toRoman): Increase the char array size.
970 2009-11-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
972 Rubber-stamped by Oliver Hunt.
974 Add translatable strings to cover validationMessage, after
975 r51172. Already covered by existing test.
977 * platform/gtk/LocalizedStringsGtk.cpp:
978 (WebCore::validationMessageValueMissingText):
979 (WebCore::validationMessageTypeMismatchText):
980 (WebCore::validationMessagePatternMismatchText):
981 (WebCore::validationMessageTooLongText):
982 (WebCore::validationMessageRangeUnderflowText):
983 (WebCore::validationMessageRangeOverflowText):
984 (WebCore::validationMessageStepMismatchText):
986 2009-11-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
988 Reviewed by Darin Adler.
990 Remove HAVE(FLOAT_H) guard
991 https://bugs.webkit.org/show_bug.cgi?id=31661
993 WebCore has a dependency on float.h, there is
994 no need to guard float.h.
996 No new tests as there is no functional change.
998 * html/HTMLInputElement.cpp: Remove include directive
999 for float.h as it is included in MathExtras.h already.
1001 2009-11-19 Simon Fraser <simon.fraser@apple.com>
1003 Reviewed by Pavel Feldman.
1005 Instrumentation should account for painting in compositing layers
1006 https://bugs.webkit.org/show_bug.cgi?id=31674
1008 Add calls to InspectorTimelineAgent for painting into compositing layers,
1009 which is not accounted for in FrameView::paintContents().
1011 * rendering/RenderLayerBacking.cpp:
1012 (WebCore::RenderLayerBacking::paintIntoLayer):
1013 Avoid fetching the FrameView multiple times.
1015 (WebCore::inspectorTimelineAgent):
1016 (WebCore::RenderLayerBacking::paintContents):
1018 2009-11-19 Eric Carlson <eric.carlson@apple.com>
1020 Reviewed by Dan Bernstein.
1022 <rdar://problem/7035231>
1023 Support closed caption in <video> element
1025 Test: media/media-captions.html
1028 * accessibility/AccessibilityMediaControls.cpp:
1029 (WebCore::AccessibilityMediaControl::controlTypeName):
1030 Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
1032 * css/CSSPrimitiveValueMappings.h:
1033 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1034 Add MediaToggleClosedCaptionsButtonPart.
1036 * css/CSSSelector.cpp:
1037 (WebCore::CSSSelector::extractPseudoType):
1038 Define and match mediaControlsToggleClosedCaptionsButton.
1040 * css/CSSSelector.h:
1041 (WebCore::CSSSelector::):
1042 * css/CSSStyleSelector.cpp:
1043 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1044 Define and match PseudoMediaControlsToggleClosedCaptions.
1046 * css/CSSValueKeywords.in:
1047 Define and use media-toggle-closed-captions-button.
1049 * css/mediaControls.css:
1050 * css/mediaControlsQuickTime.css:
1051 Add webkit-media-controls-toggle-closed-captions-button.
1053 * html/HTMLMediaElement.cpp:
1054 (WebCore::HTMLMediaElement::HTMLMediaElement):
1055 Initialize m_closedCaptionsVisible.
1056 (WebCore::HTMLMediaElement::loadInternal):
1057 Set m_closedCaptionsVisible to false.
1058 (WebCore::HTMLMediaElement::hasClosedCaptions):
1059 (WebCore::HTMLMediaElement::closedCaptionsVisible):
1060 (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
1061 New, captions internal methods.
1062 (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible):
1063 (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible):
1064 (WebCore::HTMLMediaElement::webkitHasClosedCaptions):
1065 New, captions DOM API.
1067 * html/HTMLMediaElement.h:
1068 * html/HTMLMediaElement.idl:
1069 Declare methods needed for captions API.
1071 * platform/ThemeTypes.h:
1072 Add MediaToggleClosedCaptionsButtonPart.
1074 * platform/android/LocalizedStringsAndroid.cpp:
1075 (WebCore::localizedMediaControlElementString):
1076 (WebCore::localizedMediaControlElementHelpText):
1077 (WebCore::localizedMediaTimeDescription):
1078 Add empty implmentations.
1080 * platform/graphics/MediaPlayer.cpp:
1081 (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
1082 (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
1083 New, empty implementations of media engine closed caption functions.
1084 (WebCore::MediaPlayer::hasClosedCaptions):
1085 (WebCore::MediaPlayer::setClosedCaptionsVisible):
1086 New, call media engine closed caption functions.
1088 * platform/graphics/MediaPlayer.h:
1089 * platform/graphics/MediaPlayerPrivate.h:
1090 (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
1091 (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
1092 Declare new media engine methods.
1094 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1095 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1096 (WebCore::MediaPlayerPrivate::hasClosedCaptions):
1097 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
1098 New, QTKit implementation of closed caption methods.
1100 * platform/gtk/LocalizedStringsGtk.cpp:
1101 (WebCore::localizedMediaControlElementString):
1102 (WebCore::localizedMediaControlElementHelpText):
1103 Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
1105 * platform/mac/WebCoreSystemInterface.h:
1106 * platform/mac/WebCoreSystemInterface.mm:
1107 Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
1109 * rendering/MediaControlElements.cpp:
1110 (WebCore::MediaControlInputElement::MediaControlInputElement):
1111 Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
1112 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
1113 (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
1114 (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
1115 New, implement the closed caption toggle button,
1117 * rendering/MediaControlElements.h:
1118 Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
1119 declare MediaControlToggleClosedCaptionsButtonElement.
1121 * rendering/RenderMedia.cpp:
1122 (WebCore::RenderMedia::styleDidChange):
1123 (WebCore::RenderMedia::createToggleClosedCaptionsButton):
1124 (WebCore::RenderMedia::createStatusDisplay):
1125 (WebCore::RenderMedia::updateControls):
1126 (WebCore::RenderMedia::forwardEvent):
1127 * rendering/RenderMedia.h:
1128 Deal with m_toggleClosedCaptionsButton.
1130 * rendering/RenderTheme.cpp:
1131 (WebCore::RenderTheme::paint):
1132 Deal with MediaToggleClosedCaptionsButtonPart.
1134 * rendering/RenderTheme.h:
1135 * rendering/RenderThemeMac.h:
1136 Declare paintMediaToggleClosedCaptionsButton.
1138 * rendering/RenderThemeMac.mm:
1139 (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
1141 (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1142 Don't render captions toggle button unless we are using the new theme, the
1143 movie has captions, and the movie is in a <video> element since we currently
1144 rely on QTKit to render the captions.
1146 * rendering/style/RenderStyleConstants.h:
1147 Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
1149 2009-11-19 Kevin Ollivier <kevino@theolliviers.com>
1151 wx build fix. Add missing header.
1153 * platform/wx/LocalizedStringsWx.cpp:
1155 2009-11-19 Alexey Proskuryakov <ap@apple.com>
1157 Reviewed by Darin Adler.
1159 https://bugs.webkit.org/show_bug.cgi?id=31634
1160 Ignore realm for proxy protection spaces
1162 Only affects WebSocket proxy authentication, cannot be tested in DRT.
1164 * platform/network/ProtectionSpace.cpp:
1165 (WebCore::operator==):
1166 * platform/network/ProtectionSpaceHash.h:
1167 (WebCore::ProtectionSpaceHash::hash):
1169 2009-11-19 Olivier Goffart <ogoffart@trolltech.com>
1171 Reviewed by Simon Hausmann.
1173 [Qt] Normalize signal and slot signatures.
1175 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1176 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1178 2009-11-19 Alexander Pavlov <apavlov@chromium.org>
1180 Reviewed by Pavel Feldman.
1182 Store cookie domains in the WebInspector object
1184 The cookie domains have been moved from StoragePanel into WebInspector.
1185 Also, the document URLs are now passed inside the WebInspector.addResource()
1186 payload rather than pushed directly from InspectorController.
1187 https://bugs.webkit.org/show_bug.cgi?id=31627
1189 * inspector/InspectorController.cpp:
1190 (WebCore::InspectorController::populateScriptObjects):
1191 (WebCore::InspectorController::didFinishLoading):
1192 * inspector/InspectorFrontend.cpp:
1193 * inspector/InspectorFrontend.h:
1194 * inspector/InspectorResource.cpp:
1195 (WebCore::InspectorResource::createScriptObject):
1196 (WebCore::InspectorResource::updateScriptObject):
1197 * inspector/front-end/StoragePanel.js:
1198 (WebInspector.StoragePanel.prototype.reset):
1199 (WebInspector.StoragePanel.prototype.addCookieDomain):
1200 * inspector/front-end/inspector.js:
1201 (WebInspector.addResource):
1202 (WebInspector.addCookieDomain):
1203 (WebInspector.reset):
1205 2009-11-19 Zoltan Horvath <zoltan@webkit.org>
1207 Reviewed by Darin Adler.
1209 Allow custom memory allocation control for the other part of platform directory in WebCore
1210 https://bugs.webkit.org/show_bug.cgi?id=31585
1212 Inherits the following classes from FastAllocBase because these are
1213 instantiated by 'new':
1215 class RegularExpression - instantiated at: WebCore/page/Frame.cpp:415
1216 class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
1217 class Path - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
1218 class FontPlatformData - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
1220 Inherits the following classes from Noncopyable because these are
1221 instantiated by 'new' and no need to be copyable:
1223 class Cursors - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
1224 class NetworkStateNotifier - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
1225 struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
1227 class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
1228 class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
1230 * platform/graphics/MediaPlayerPrivate.h:
1231 * platform/graphics/Path.h:
1232 * platform/graphics/qt/FontPlatformData.h:
1233 * platform/graphics/transforms/TransformationMatrix.h:
1234 * platform/image-decoders/ImageDecoder.h:
1235 * platform/network/NetworkStateNotifier.h:
1236 * platform/network/ResourceRequestBase.h:
1237 * platform/qt/CursorQt.cpp:
1238 * platform/text/RegularExpression.h:
1240 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1244 [Qt] Build fix for QtWebKit after r51172.
1246 * platform/qt/Localizations.cpp:
1247 (WebCore::validationMessageValueMissingText):
1248 (WebCore::validationMessageTypeMismatchText):
1249 (WebCore::validationMessagePatternMismatchText):
1250 (WebCore::validationMessageTooLongText):
1251 (WebCore::validationMessageRangeUnderflowText):
1252 (WebCore::validationMessageRangeOverflowText):
1253 (WebCore::validationMessageStepMismatchText):
1255 2009-11-18 Dan Bernstein <mitz@apple.com>
1257 Reviewed by Simon Fraser.
1259 Fixed <rdar://problem/7398987> Assertion failure in
1260 RenderLayer::updateClipRects when a plug-in’s enclosing layer is
1261 enclosed by a transformed layer
1263 Tests: fast/layers/clip-rects-transformed-2.html
1264 fast/layers/clip-rects-transformed.html
1266 * rendering/RenderLayer.cpp:
1267 (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
1268 that is either transformed or composited. During painting and hit
1269 testing, when a transformed or composited layer is hit, it becomes the
1270 new root layer, which ultimately gets passed to calculateRects().
1271 (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
1272 root layer to calculateRects(), and return the bounding box of the
1273 transformed rectangle.
1274 (WebCore::RenderLayer::selfClipRect): Ditto.
1275 * rendering/RenderLayer.h:
1277 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1279 Reviewed by Kenneth Rohde Christiansen.
1281 [Qt] Remove support for Qt v4.3 or older versions
1282 https://bugs.webkit.org/show_bug.cgi?id=29469
1284 No new tests as there is no change if compiled with
1285 Qt v4.4 or later version.
1288 * dom/XMLTokenizerQt.cpp:
1289 (WebCore::EntityResolver::resolveUndeclaredEntity):
1290 (WebCore::XMLTokenizer::XMLTokenizer):
1291 (WebCore::XMLTokenizer::~XMLTokenizer):
1292 (WebCore::XMLTokenizer::doWrite):
1293 (WebCore::XMLTokenizer::startDocument):
1294 (WebCore::XMLTokenizer::parseDtd):
1295 * platform/graphics/qt/FontQt.cpp:
1296 * platform/graphics/qt/FontQt43.cpp: Removed.
1297 * platform/graphics/qt/ImageQt.cpp:
1298 * platform/network/ResourceHandleInternal.h:
1299 * platform/network/qt/QNetworkReplyHandler.cpp:
1300 * platform/network/qt/QNetworkReplyHandler.h:
1301 * platform/network/qt/ResourceHandleQt.cpp:
1302 (WebCore::ResourceHandle::start):
1303 (WebCore::ResourceHandle::cancel):
1304 (WebCore::ResourceHandle::loadResourceSynchronously):
1305 (WebCore::ResourceHandle::setDefersLoading):
1306 * platform/network/qt/ResourceRequest.h:
1307 * platform/network/qt/ResourceRequestQt.cpp:
1308 * platform/qt/ClipboardQt.cpp:
1309 (WebCore::ClipboardQt::clearData):
1310 * platform/qt/CookieJarQt.cpp:
1311 (WebCore::cookieJar):
1312 (WebCore::setCookies):
1314 (WebCore::cookiesEnabled):
1315 * platform/qt/PlatformKeyboardEventQt.cpp:
1316 (WebCore::keyIdentifierForQtKeyCode):
1317 (WebCore::windowsKeyCodeForKeyEvent):
1318 * platform/text/qt/TextBoundaries.cpp:
1319 * platform/text/qt/TextBreakIteratorQt.cpp:
1320 * plugins/qt/PluginDataQt.cpp:
1321 (WebCore::PluginData::initPlugins):
1323 2009-11-18 Michelangelo De Simone <micdesim@gmail.com>
1325 Reviewed by Darin Adler.
1327 Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
1328 Support for validationMessage attribute, as per HTML5 specs.
1330 Test: fast/forms/validationMessage.html
1332 * html/HTMLButtonElement.idl: validationMessage attribute
1333 * html/HTMLFieldSetElement.idl: validationMessage attribute
1334 * html/HTMLFormControlElement.cpp:
1335 * html/HTMLFormControlElement.h:
1336 * html/HTMLInputElement.idl: validationMessage attribute
1337 * html/HTMLSelectElement.idl: validationMessage attribute
1338 * html/HTMLTextAreaElement.idl: validationMessage attribute
1339 * html/ValidityState.cpp: new method to retrieve pertinent localized text
1340 * html/ValidityState.h:
1341 * page/mac/WebCoreViewFactory.h:
1342 * platform/LocalizedStrings.h:
1343 * platform/android/LocalizedStringsAndroid.cpp:
1344 * platform/gtk/LocalizedStringsGtk.cpp:
1345 * platform/haiku/LocalizedStringsHaiku.cpp:
1346 * platform/mac/LocalizedStringsMac.mm:
1347 * platform/wx/LocalizedStringsWx.cpp:
1349 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1353 Fix a typo. Remove the trailing semicolon
1354 from an include directive after r51137.
1356 No new tests as there is no functional change.
1358 * platform/qt/QWebPageClient.h:
1360 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1364 [Qt] Build fix for QtWebKit after r51159.
1366 Include float.h for DBL_MANT_DIG. Not sure why this
1367 is not a problem for other ports.
1369 * html/HTMLInputElement.cpp:
1371 2009-11-19 Roland Steiner <rolandsteiner@chromium.org>
1373 Reviewed by Darin Adler.
1375 Bug 31574 - Crashing bug when removing <ruby> element
1376 (https://bugs.webkit.org/show_bug.cgi?id=31574)
1379 1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
1380 2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
1381 3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
1382 4.) this triggers the special handling of child removal in RenderRubyRun that
1383 causes it to destroy itself
1384 5.) On returning from all this the renderer crashes when accessing a member
1385 or virtual function on this now illegal object.
1387 I therefore added a flag that tracks if the ruby run is being destroyed.
1388 If so, avoid doing the special handling in removeChild that caused this.
1389 It's not the most elegant solution, but the easiest to implement without
1390 touching unrelated code. Also, it's self-documenting.
1392 Test: fast/ruby/ruby-remove.html
1394 * rendering/RenderRubyRun.cpp:
1395 (WebCore::RenderRubyRun::RenderRubyRun):
1396 (WebCore::RenderRubyRun::destroy):
1397 (WebCore::RenderRubyRun::removeChild):
1398 * rendering/RenderRubyRun.h:
1400 2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1402 Reviewed by Kenneth Rohde Christiansen.
1404 [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
1405 https://bugs.webkit.org/show_bug.cgi?id=31643
1407 No new tests as there is no functional change.
1411 2009-11-18 Yong Li <yong.li@torchmobile.com>
1413 Reviewed by Eric Seidel.
1415 Implement TextBoundaries for WINCE port.
1416 https://bugs.webkit.org/show_bug.cgi?id=27371
1418 * platform/text/wince/TextBoundariesWince.cpp: Added.
1420 2009-11-18 Yong Li <yong.li@torchmobile.com>
1422 Reviewed by Eric Seidel.
1424 Implement TextBreakIterator for WINCE port.
1425 https://bugs.webkit.org/show_bug.cgi?id=27371
1427 * platform/text/wince/TextBreakIteratorWince.cpp: Added.
1429 2009-11-18 Kent Tamura <tkent@chromium.org>
1431 Reviewed by Darin Adler.
1433 Add support for ValidityState.typeMismatch for the following INPUT types:
1434 date datetime datetime-local month time week
1435 https://bugs.webkit.org/show_bug.cgi?id=31342
1437 Tests: fast/forms/ValidityState-typeMismatch-date.html
1438 fast/forms/ValidityState-typeMismatch-datetime.html
1439 fast/forms/ValidityState-typeMismatch-datetimelocal.html
1440 fast/forms/ValidityState-typeMismatch-month.html
1441 fast/forms/ValidityState-typeMismatch-time.html
1442 fast/forms/ValidityState-typeMismatch-week.html
1444 * html/HTMLInputElement.cpp:
1445 (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
1446 validity of the specified type and string using the ISODateTime class.
1447 * html/HTMLInputElement.h:
1448 * html/ValidityState.cpp:
1449 (WebCore::ValidityState::typeMismatch): Check the type validity
1450 for date, datetime, datetime-local, month, time and week with
1451 HTMLInputElemtn::formStringToISODateTime()
1453 2009-11-18 Maciej Stachowiak <mjs@apple.com>
1455 Reviewed by Oliver Hunt.
1457 Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
1458 https://bugs.webkit.org/show_bug.cgi?id=31237
1460 Also speeds up Dromaeo DOM Core tests by 1.31x.
1462 * bindings/js/JSNodeCustom.cpp:
1463 (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
1464 mark bit was no longer effective; instead I changed things so only a node that has no ancestors
1465 with wrappers would do marking; there should be only one in the typical case (the root of the
1468 (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
1471 2009-11-18 Darin Adler <darin@apple.com>
1473 Reviewed by Sam Weinig.
1475 Get rid of the redundant strokeType and fillType data members on
1476 a GraphicsContext as well as the FillOrStrokeType enum. Use
1477 null pointers instead.
1479 * platform/graphics/GraphicsContext.cpp:
1480 (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
1482 (WebCore::GraphicsContext::setFillColor): Ditto.
1483 (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
1484 (WebCore::GraphicsContext::setFillPattern): Ditto.
1485 (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
1486 (WebCore::GraphicsContext::setFillGradient): Ditto.
1488 * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
1490 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1491 (WebCore::setPlatformFill): Use null checks on fillPattern and
1492 fillGraident instead of a switch statement.
1493 (WebCore::setPlatformStroke): Ditto.
1495 * platform/graphics/cg/GraphicsContextCG.cpp:
1496 (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
1497 (WebCore::GraphicsContext::applyFillPattern): Ditto.
1498 (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
1499 to see if there is a pattern instead of fillType and strokeType.
1500 (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
1501 fillPattern, and strokePattern instead of fillType and strokeType.
1502 (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
1503 is used in the pattern and gradient case probably erroneously. Moved
1504 gradient code inside an if statement. Streamlined pattern code and
1505 use an if statement. No switch any more.
1506 (WebCore::GraphicsContext::strokePath): Ditto.
1507 (WebCore::GraphicsContext::fillRect): Ditto.
1508 (WebCore::GraphicsContext::strokeRect): Ditto.
1510 * platform/graphics/qt/GraphicsContextQt.cpp:
1511 (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
1512 fillGraident instead of a switch statement.
1513 (WebCore::GraphicsContext::strokePath): Ditto.
1514 (WebCore::GraphicsContext::fillRect): Ditto.
1516 * platform/graphics/wince/GraphicsContextWince.cpp:
1517 (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
1518 (WebCore::GraphicsContext::fillRect): Ditto.
1520 2009-11-18 Kent Tamura <tkent@chromium.org>
1522 Reviewed by Darin Adler.
1524 Support for step attribute and ValidityStae.stepMismatch for
1525 type=number and range. stepMismatch will be false if the
1526 difference between the current value and a multiple of the step
1527 value is very small.
1529 Change the behavior of RenderSlider so that it always has a value
1530 rounded to the step attribute value.
1532 https://bugs.webkit.org/show_bug.cgi?id=31331
1534 Tests: fast/forms/ValidityState-stepMismatch-number.html
1535 fast/forms/ValidityState-stepMismatch-range.html
1536 fast/forms/ValidityState-stepMismatch-unsupported.html
1537 fast/forms/input-step.html
1539 * html/HTMLAttributeNames.in: Add "step".
1540 * html/HTMLInputElement.cpp:
1541 (WebCore::HTMLInputElement::stepMismatch):
1542 (WebCore::HTMLInputElement::getStepParameters):
1543 (WebCore::HTMLInputElement::getAllowedValueStep):
1544 * html/HTMLInputElement.h:
1545 * html/HTMLInputElement.idl: Add "step".
1546 * html/ValidityState.cpp:
1547 (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
1548 * html/ValidityState.h:
1549 * rendering/RenderSlider.cpp:
1550 (WebCore::SliderRange::SliderRange):
1551 (WebCore::SliderRange::clampValue):
1553 2009-11-18 Dmitry Titov <dimich@chromium.org>
1555 Reviewed by Darin Adler.
1557 Need to ASSERT(isMainThread()) in ThreadShared methods.
1558 https://bugs.webkit.org/show_bug.cgi?id=31637
1560 Added ASSERT(IsMainThread()) to all following methods:
1561 * platform/TreeShared.h:
1562 (WebCore::TreeShared::TreeShared):
1563 (WebCore::TreeShared::~TreeShared):
1564 (WebCore::TreeShared::ref):
1565 (WebCore::TreeShared::deref):
1566 (WebCore::TreeShared::setParent):
1567 (WebCore::TreeShared::parent):
1569 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
1571 Reviewed by Eric Seidel.
1573 Add plugin visibility manual test
1575 https://bugs.webkit.org/show_bug.cgi?id=31542
1577 * manual-tests/plugins/windowed.html:
1578 * manual-tests/plugins/windowless.html:
1580 2009-11-18 Patrick Mueller <Patrick_Mueller@us.ibm.com>
1582 Reviewed by Pavel Feldman.
1584 Web Inspector - remember last script displayed in Scripts panel
1585 https://bugs.webkit.org/show_bug.cgi?id=27552
1589 * inspector/front-end/ScriptsPanel.js:
1590 (WebInspector.ScriptsPanel.prototype.showScript):
1591 (WebInspector.ScriptsPanel.prototype.showResource):
1592 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1593 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1594 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1595 (WebInspector.ScriptsPanel.prototype._goBack):
1596 (WebInspector.ScriptsPanel.prototype._goForward):
1597 * manual-tests/inspector/remember-last-script.html: Added.
1599 2009-11-18 Shinichiro Hamaji <hamaji@chromium.org>
1601 Reviewed by Dimitri Glazkov.
1603 Win chromium is slow to draw transparent texts
1604 https://bugs.webkit.org/show_bug.cgi?id=31258
1606 Create bounded transparency layers instead of just clipping.
1608 No new tests because this is just a performance improvement.
1610 * platform/graphics/chromium/FontChromiumWin.cpp:
1611 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1613 2009-11-18 Shu Chang <Chang.Shu@nokia.com>
1615 Reviewed by Eric Seidel.
1617 [Qt] Add support for displaying deleteButton.
1618 https://bugs.webkit.org/show_bug.cgi?id=31560
1620 Test: LayoutTests/editing/deleting/5408255.html
1623 * platform/graphics/qt/ImageQt.cpp:
1624 (loadResourcePixmap):
1626 2009-11-18 Mikhail Naganov <mnaganov@chromium.org>
1628 Reviewed by Eric Seidel.
1630 Fix Qt build without JavaScript debugger.
1632 https://bugs.webkit.org/show_bug.cgi?id=31575
1636 2009-11-18 Daniel Bates <dbates@webkit.org>
1638 Reviewed by Dave Hyatt.
1640 https://bugs.webkit.org/show_bug.cgi?id=24971
1642 <rdar://problem/7138265>
1644 Fixes an issue where setting the height of a table row programmatically
1645 (via JavaScript) causes the table to be improperly rendered because the
1646 height of each row in the table is not recalculated with respect to the
1647 CSS height property.
1649 In particular, programmatically setting the height of some table row causes
1650 the rows of that table to be rendered with a height equal to the minimum
1651 height required by the cells in that row, regardless of any specified cell
1652 heights. Instead, when RenderTableSection::recalcCells is called, the height
1653 of each row should be set to the CSS height property just as we do in
1654 RenderTableSection::addChild.
1656 Test: fast/table/row-height-recalc2.html
1658 * rendering/RenderTableSection.cpp:
1659 (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
1660 (WebCore::RenderTableSection::addChild): Moved code that set row height into
1661 method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
1662 (WebCore::RenderTableSection::recalcCells): Modified to call
1663 WebCore::setRowHeightToRowStyleHeightIfNotRelative.
1665 2009-11-18 Zoltan Horvath <zoltan@webkit.org>
1667 Reviewed by Darin Adler.
1669 Allow custom memory allocation control for the part of platform directory in WebCore
1670 https://bugs.webkit.org/show_bug.cgi?id=31473
1672 Inherits the following classes from FastAllocBase because these are
1673 instantiated by 'new':
1675 class AnimationList - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
1676 class Color - instantiated at WebCore/rendering/RenderTheme.cpp:48
1677 struct Length - instantiated at WebCore/platform/Length.cpp:103
1678 class PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
1679 class ContextMenuItem - instantiated at WebCore/platform/ContextMenu.cpp:70
1680 class DeprecatedPtrList - instantiated at WebCore/rendering/RenderBlock.cpp:2284
1682 Inherits the following classes from Noncopyable because these are
1683 instantiated by 'new' and no need to be copyable:
1685 class GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
1686 class FontCache - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
1687 struct MediaPlayerFactory - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
1688 class DeprecatedPtrListNode - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
1690 * platform/ContextMenuItem.h:
1691 * platform/DeprecatedPtrList.h:
1692 * platform/DeprecatedPtrListImpl.cpp:
1693 * platform/Length.h:
1694 * platform/PlatformKeyboardEvent.h:
1695 * platform/animation/AnimationList.h:
1696 * platform/graphics/Color.h:
1697 * platform/graphics/FontCache.h:
1698 * platform/graphics/GraphicsContextPrivate.h:
1699 * platform/graphics/MediaPlayer.cpp:
1701 2009-11-18 Daniel Bates <dbates@webkit.org>
1703 Reviewed by Darin Adler.
1705 https://bugs.webkit.org/show_bug.cgi?id=31186
1707 Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
1708 m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
1709 These are more descriptive names so as to clear an ambiguity surrounding
1710 their usage. Also, renames associated setters and getters so that they
1711 coincide with the renamed fields.
1713 No functionality was changed. So, no tests were included.
1715 * bindings/objc/DOMHTML.mm:
1716 (-[DOMHTMLInputElement _isEdited]):
1717 (-[DOMHTMLTextAreaElement _isEdited]):
1719 (WebCore::Document::setFocusedNode):
1720 * html/HTMLInputElement.cpp:
1721 (WebCore::HTMLInputElement::defaultEventHandler):
1722 * rendering/RenderTextControl.cpp:
1723 (WebCore::RenderTextControl::RenderTextControl):
1724 (WebCore::RenderTextControl::setInnerTextValue):
1725 (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
1726 (WebCore::RenderTextControl::subtreeHasChanged):
1727 * rendering/RenderTextControl.h:
1728 (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
1729 (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
1730 (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
1731 * rendering/RenderTextControlSingleLine.cpp:
1732 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
1733 * wml/WMLInputElement.cpp:
1734 (WebCore::WMLInputElement::defaultEventHandler):
1736 2009-11-18 Tony Chang <tony@chromium.org>
1738 Reviewed by Adam Barth.
1740 Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
1741 https://bugs.webkit.org/show_bug.cgi?id=31499
1743 No new tests, just a build cleanup.
1746 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
1747 * bindings/v8/custom/V8CustomBinding.h:
1749 2009-11-18 Kevin Watters <kevinwatters@gmail.com>
1751 Reviewed by Kevin Ollivier.
1753 Enable wx plugin support using the Windows implementation as a base.
1755 https://bugs.webkit.org/show_bug.cgi?id=31636
1757 * platform/graphics/GraphicsContext.h:
1758 (WebCore::GraphicsContext::inTransparencyLayer):
1759 * platform/graphics/wx/GraphicsContextWx.cpp:
1760 (WebCore::GraphicsContext::getWindowsContext):
1761 (WebCore::GraphicsContext::releaseWindowsContext):
1762 * platform/wx/FileSystemWx.cpp:
1763 (WebCore::unloadModule):
1764 (WebCore::listDirectory):
1765 * plugins/PluginDatabase.cpp:
1766 * plugins/PluginView.cpp:
1767 (WebCore::PluginView::stop):
1768 (WebCore::PluginView::PluginView):
1769 * plugins/PluginView.h:
1770 * plugins/win/PluginViewWin.cpp:
1771 (windowHandleForPageClient):
1772 (WebCore::PluginView::handleMouseEvent):
1773 (WebCore::PluginView::platformStart):
1774 (WebCore::PluginView::snapshot):
1777 2009-11-18 Andrei Popescu <andreip@google.com>
1779 Reviewed by Dimitri Glazkov.
1781 [Android] Add shared timer and sound utilities to platform/android
1782 https://bugs.webkit.org/show_bug.cgi?id=31584
1784 No new tests required, this is platform specific code.
1786 * platform/android/SharedTimerAndroid.cpp: Added.
1787 (WebCore::setSharedTimerFiredFunction):
1788 (WebCore::setSharedTimerFireTime):
1789 (WebCore::stopSharedTimer):
1790 * platform/android/SoundAndroid.cpp: Added.
1791 (WebCore::systemBeep):
1793 2009-11-18 Mikhail Naganov <mnaganov@chromium.org>
1795 Reviewed by Timothy Hatcher.
1797 Fix profile tree nodes loss after focus / restore actions.
1799 Focusing on a node is currently implemented via nodes reattaching
1800 with some caching involved. It seems that not all code was updated
1801 to handle this scenario correctly.
1803 https://bugs.webkit.org/show_bug.cgi?id=31553
1805 * inspector/front-end/BottomUpProfileDataGridTree.js:
1806 (WebInspector.BottomUpProfileDataGridNode):
1807 (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
1808 (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
1809 (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
1810 * inspector/front-end/DataGrid.js:
1811 (WebInspector.DataGrid.prototype.insertChild):
1812 (WebInspector.DataGridNode.prototype._detach):
1813 (WebInspector.DataGridNode.prototype.savePosition):
1814 (WebInspector.DataGridNode.prototype.restorePosition):
1815 * inspector/front-end/TopDownProfileDataGridTree.js:
1816 (WebInspector.TopDownProfileDataGridTree.prototype.focus):
1817 (WebInspector.TopDownProfileDataGridTree.prototype.restore):
1819 2009-11-18 Carol Szabo <carol.szabo@nokia.com>
1821 Reviewed by Kenneth Rohde Christiansen.
1823 [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
1825 https://bugs.webkit.org/show_bug.cgi?id=31527
1827 No new tests as this is just a coding style fix that affects the
1828 build of some not yet submitted patches (i.e. for bug 30173).
1830 * platform/qt/QWebPageClient.h:
1832 2009-11-18 Nicolas Roard <nicolas@roard.com>
1834 Reviewed by Dimitri Glazkov.
1836 InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
1837 https://bugs.webkit.org/show_bug.cgi?id=31504
1839 * inspector/InspectorTimelineAgent.h:Added the guard.
1841 2009-11-18 Jens Alfke <snej@chromium.org>
1843 Build fix to my previous checkin, for Windows Chromium
1845 * svg/SVGAnimatedProperty.h:
1846 (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
1848 2009-11-18 Joseph Pecoraro <joepeck@webkit.org>
1850 Reviewed by Pavel Feldman.
1852 Web Inspector: Directly Access <head> Instead of Searching for It
1853 https://bugs.webkit.org/show_bug.cgi?id=31641
1855 Changed old access of the head element (document.getElementsByTagName)
1856 to just use the document.head accessor.
1858 * inspector/front-end/FontView.js:
1859 (WebInspector.FontView):
1860 * inspector/front-end/InjectedScript.js:
1861 (InjectedScript.addStyleSelector):
1862 * inspector/front-end/SourceFrame.js:
1863 (WebInspector.SourceFrame.prototype._loaded):
1864 * inspector/front-end/inspector.js:
1867 2009-11-18 Sam Weinig <sam@webkit.org>
1869 Reviewed by Anders Carlsson.
1871 Fix two Geolocation assertions.
1874 (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
1875 is not called from JS.
1876 * page/Geolocation.cpp:
1877 (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
1880 2009-11-18 Alexey Proskuryakov <ap@apple.com>
1882 Case sensitive file system build fix.
1884 * platform/network/Credential.h: It's not WTF, just wtf.
1886 2009-11-18 Aaron Golden <agolden@apple.com>
1888 Reviewed by Alexey Proskuryakov.
1890 Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
1891 objects and WebCore::Credential objects without losing certificate information.
1893 * platform/network/Credential.cpp:
1894 (WebCore::Credential::Credential): Adding a constructor that takes an identity argument and a certificate chain argument
1895 (WebCore::Credential::isEmpty): Modifying isEmpty to support certificate based credentials (which don't have a username or password)
1896 (WebCore::Credential::identity): Accessor for the m_identity property
1897 (WebCore::Credential::certificates): Accessor for the m_certificates property
1898 (WebCore::Credential::type): Accessor for the m_type property
1899 (WebCore::operator==): Modifying == to compare the identity and certificate chains of certificate based credentials.
1900 * platform/network/Credential.h: Adding new fields to WebCore::Credential to support certificate based credentials.
1901 * platform/network/mac/AuthenticationMac.mm:
1902 (WebCore::mac): Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
1903 (WebCore::core): Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
1905 2009-11-18 Dmitry Titov <dimich@chromium.org>
1907 Reviewed by Eric Seidel.
1909 Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
1910 https://bugs.webkit.org/show_bug.cgi?id=31615
1913 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
1914 (WebCore::ScriptExecutionContextTaskTimer::fired):
1915 (WebCore::PerformTaskContext::PerformTaskContext):
1916 (WebCore::performTask):
1917 (WebCore::Document::postTask):
1918 * dom/ScriptExecutionContext.cpp:
1919 * dom/ScriptExecutionContext.h:
1921 2009-11-18 Jens Alfke <snej@chromium.org>
1923 Reviewed by Darin Adler.
1925 Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
1926 by causing the right v8-to-WebCore conversion function to be called for every parameter.
1927 This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
1928 To enforce correctness, I added a mode that disables implicit
1929 String-->AtomicString conversions while compiling the generated bindings.
1930 https://bugs.webkit.org/show_bug.cgi?id=31168
1932 * bindings/scripts/CodeGeneratorV8.pm: Generate usage of V8Parameter class.
1933 * bindings/v8/DerivedSourcesAllInOne.cpp: Enable NO_IMPLICIT_ATOMICSTRING.
1934 * bindings/v8/V8Binding.h: Add V8Parameter class.
1935 * css/WebKitCSSKeyframesRule.h: Make AtomicString conversions explicit.
1936 * dom/Document.idl: Remove obsolete [HintAtomic] annotation.
1937 * platform/text/AtomicString.h: Added NO_IMPLICIT_ATOMICSTRING option.
1938 * svg/SVGAnimatedTemplate.h: Change some return types to String to avoid implicit conversion.
1939 * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
1941 2009-11-18 Darin Adler <darin@apple.com>
1943 Reviewed by Dan Bernstein.
1945 Move FillOrStrokeType out of public header.
1947 * platform/graphics/GraphicsContext.h: Updated copyright date to cover
1948 some years we published Apple changes, sorted forward declarations,
1949 removed FillOrStrokeType enum.
1950 * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
1951 to cover some years we published Apple changes, sorted includes,
1952 moved FillOrStrokeType enum here.
1954 2009-11-18 Chris Marrin <cmarrin@apple.com>
1956 Reviewed by Simon Fraser.
1958 Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
1959 https://bugs.webkit.org/show_bug.cgi?id=31601
1961 These are used to debug accelerated compositing layers. I removed
1962 the platform specific code from GraphicsLayerCA.mm and added calls
1963 to GraphicsLayerClient to get it from the higher levels. The values
1964 now get cached in RenderLayerCompositing and are queried from there
1965 by RenderLayerBacking (which implements the GraphicsLayerClient interface).
1968 * page/FrameView.cpp:
1969 (WebCore::FrameView::updateCompositingLayers):
1970 * page/Settings.cpp:
1971 (WebCore::Settings::Settings):
1972 (WebCore::Settings::setShowDebugBorders):
1973 (WebCore::Settings::setShowRepaintCounter):
1975 (WebCore::Settings::showDebugBorders):
1976 (WebCore::Settings::showRepaintCounter):
1977 * platform/graphics/GraphicsLayer.h:
1978 (WebCore::GraphicsLayer::showDebugBorders):
1979 (WebCore::GraphicsLayer::showRepaintCounter):
1980 * platform/graphics/GraphicsLayerClient.h:
1981 * platform/graphics/mac/GraphicsLayerCA.mm:
1982 * rendering/RenderLayerBacking.cpp:
1983 (WebCore::RenderLayerBacking::showDebugBorders):
1984 (WebCore::RenderLayerBacking::showRepaintCounter):
1985 * rendering/RenderLayerBacking.h:
1986 * rendering/RenderLayerCompositor.cpp:
1987 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1988 (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1989 * rendering/RenderLayerCompositor.h:
1990 (WebCore::RenderLayerCompositor::showDebugBorders):
1991 (WebCore::RenderLayerCompositor::showRepaintCounter):
1993 2009-11-18 Pavel Feldman <pfeldman@chromium.org>
1995 Reviewed by Timothy Hatcher.
1997 Web Inspector: Get rid of metrics and properties sidebars'
2000 https://bugs.webkit.org/show_bug.cgi?id=31629
2002 * inspector/front-end/MetricsSidebarPane.js:
2003 * inspector/front-end/PropertiesSidebarPane.js:
2005 2009-11-17 Brian Weinstein <bweinstein@apple.com>
2007 Reviewed by Pavel Feldman.
2009 Fixes <http://webkit.org/b/31606>.
2010 Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
2012 This implements Enter starting editing mode in an editable DataGrid. If the
2013 DataGrid is editable and the user hits return, startEditing the first child
2014 of the selected node. Also refactored some editing functions to take an
2015 event target instead of the event itself, because the functions only needed
2016 the target. Lastly, added had return in editing mode stop propogation, because
2017 when enter was hit to confirm text, it would propagate back to the datagrid
2018 and try to start editing again.
2020 * inspector/front-end/DataGrid.js:
2021 (WebInspector.DataGrid.prototype._ondblclick):
2022 (WebInspector.DataGrid.prototype._startEditing):
2023 (WebInspector.DataGrid.prototype.handleKeyEvent):
2024 (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
2025 (WebInspector.DataGrid.prototype._mouseDownInDataTable):
2026 (WebInspector.DataGrid.prototype._clickInDataTable):
2027 * inspector/front-end/inspector.js:
2028 (WebInspector.startEditing.element.handleKeyEvent):
2029 (WebInspector.startEditing):
2031 2009-11-18 Ben Murdoch <benm@google.com>
2033 Reviewed by Darin Adler.
2035 HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
2036 https://bugs.webkit.org/show_bug.cgi?id=31593
2038 Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
2040 * html/HTMLAnchorElement.cpp:
2041 (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
2043 2009-11-18 Pavel Feldman <pfeldman@chromium.org>
2045 Not reviewed. Touch InspectorController so that frontend
2046 JS files are deployed on Windows.
2048 * inspector/InspectorController.cpp:
2050 2009-11-18 Pavel Feldman <pfeldman@chromium.org>
2052 Reviewed by Timothy Hatcher.
2054 Web Inspector: clone timeline records array instead of
2055 copying reference on invalidate all.
2057 https://bugs.webkit.org/show_bug.cgi?id=31596
2059 * inspector/front-end/AbstractTimelinePanel.js:
2060 (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
2062 2009-11-18 Simon Fraser <simon.fraser@apple.com>
2064 Reviewed by Dan Bernstein.
2066 Elements don't drop out of compositing layers when animation ends
2067 https://bugs.webkit.org/show_bug.cgi?id=31613
2068 <rdar://problem/7402913>
2070 Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
2071 are compositing anyway for other reasons. Doing so can cause those layers
2072 to stay in compositing mode even after animations finish, because needsToBeComposited()
2073 continues to return true.
2075 No new tests because it's not possible to determine which elements are in
2076 compositing layers from DRT output.
2078 * rendering/RenderLayerCompositor.cpp:
2079 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2081 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
2083 Reviewed by Tor Arne Vestbø.
2085 [Qt] Mac Plugins: Remove null timer
2087 A null timer was used to send mouse move events. Instead, we now use
2088 move events to send nullEvent. This brings down CPU usage by 20-30%.
2090 https://bugs.webkit.org/show_bug.cgi?id=31624
2092 * plugins/PluginView.h:
2093 * plugins/mac/PluginViewMac.cpp:
2094 (WebCore::PluginView::platformStart):
2095 (WebCore::PluginView::handleMouseEvent):
2097 2009-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
2099 Reviewed by Simon Hausmann.
2101 [Qt] WebKit crashes when loading certain SVG images
2103 Check if the familly exist before creating the PlatformData from it.
2105 https://bugs.webkit.org/show_bug.cgi?id=29443
2107 Test: svg/text/text-font-invalid.html
2109 * platform/graphics/qt/FontFallbackListQt.cpp:
2110 (WebCore::FontFallbackList::fontDataAt):
2112 2009-11-17 Nicolas Weber <thakis@chromium.org>
2114 Reviewed by Darin Fisher.
2116 Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
2118 https://bugs.webkit.org/show_bug.cgi?id=31609
2120 * platform/chromium/PopupMenuChromium.cpp:
2121 (WebCore::PopupContainer::showExternal): Set parent for external
2122 dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
2123 its parent's client.
2125 2009-11-17 Hayato Ito <hayato@google.com>
2127 Reviewed by Darin Adler.
2129 Avoid infinite mutual recursion when deeply nested tags are loaded
2130 https://bugs.webkit.org/show_bug.cgi?id=30651
2132 Test: fast/parser/block-nesting-cap-table.html
2134 * html/HTMLParser.cpp:
2135 (WebCore::HTMLParser::parseToken):
2136 (WebCore::tagPriorityOfNode):
2137 (WebCore::HTMLParser::limitBlockDepth):
2138 (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
2139 (WebCore::HTMLParser::insertNode):
2140 * html/HTMLParser.h:
2142 2009-11-17 Brent Fulgham <bfulgham@webkit.org>
2144 Rubber-stamped by Alexey Proskuryakov.
2146 Final clean-ups for minor coding standard violations.
2147 https://bugs.webkit.org/show_bug.cgi?id=26102.
2149 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2151 2009-11-17 Johnny Ding <jnd@chromium.org>
2153 Reviewed by Darin Adler.
2155 In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
2156 https://bugs.webkit.org/show_bug.cgi?id=31567
2158 * dom/ScriptElement.cpp:
2159 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
2161 2009-11-17 Pavel Feldman <pfeldman@chromium.org>
2163 Reviewed by Timothy Hatcher.
2165 Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
2166 - Updated DRT to show/close inspector for all tests under /inspector
2167 - Introduced LayoutTestController::setTimelineProfilingEnabled and
2168 WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
2169 - Removed reload on each inspector test
2170 - Renamed fast/inspector to fast/inspector-support in order not to trigger
2171 inspector for those.
2172 - Reimplemented timeline tests in order to get rid of reload there.
2173 - Moved tests that don't require harness into the fast group.
2175 https://bugs.webkit.org/show_bug.cgi?id=31472
2177 * WebCore.Inspector.exp:
2178 * inspector/front-end/TimelinePanel.js:
2179 (WebInspector.TimelinePanel.prototype._formatRecord):
2181 2009-11-17 Andrei Popescu <andreip@google.com>
2183 Reviewed by Dimitri Glazkov.
2185 [Android] Android is missing the implementation of the GeolocationService iface.
2186 https://bugs.webkit.org/show_bug.cgi?id=31554
2188 No new tests required as this is platform specific code.
2190 * platform/android/GeolocationServiceAndroid.cpp: Added.
2191 (WebCore::GeolocationServiceAndroid::create):
2192 (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
2193 (WebCore::GeolocationServiceAndroid::startUpdating):
2194 (WebCore::GeolocationServiceAndroid::stopUpdating):
2195 (WebCore::GeolocationServiceAndroid::suspend):
2196 (WebCore::GeolocationServiceAndroid::resume):
2197 (WebCore::GeolocationServiceAndroid::newPositionAvailable):
2198 (WebCore::GeolocationServiceAndroid::newErrorAvailable):
2199 (WebCore::GeolocationServiceAndroid::timerFired):
2200 (WebCore::GeolocationServiceAndroid::isPositionMovement):
2201 (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
2202 (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
2203 * platform/android/GeolocationServiceAndroid.h: Added.
2204 (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
2205 (WebCore::GeolocationServiceAndroid::lastPosition):
2206 (WebCore::GeolocationServiceAndroid::lastError):
2207 * platform/android/GeolocationServiceBridge.cpp: Added.
2209 (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
2210 (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
2211 (WebCore::GeolocationServiceBridge::start):
2212 (WebCore::GeolocationServiceBridge::stop):
2213 (WebCore::GeolocationServiceBridge::setEnableGps):
2214 (WebCore::GeolocationServiceBridge::newLocationAvailable):
2215 (WebCore::GeolocationServiceBridge::newErrorAvailable):
2216 (WebCore::GeolocationServiceBridge::toGeoposition):
2217 (WebCore::GeolocationServiceBridge::startJavaImplementation):
2218 (WebCore::GeolocationServiceBridge::stopJavaImplementation):
2219 * platform/android/GeolocationServiceBridge.h: Added.
2221 2009-11-16 Kent Tamura <tkent@chromium.org>
2223 Unreviewd build fix.
2225 - Fix typo in WebCore.vcproj.
2226 - Intlude limits.h for INT_MAX.
2227 - Enclose with parenthesis to suspress warning.
2229 * WebCore.vcproj/WebCore.vcproj:
2230 * html/ISODateTime.cpp:
2231 (WebCore::ISODateTime::addDay):
2233 2009-11-16 Robin Dunn <robin@alldunn.com>
2235 Reviewed by Kevin Ollivier.
2237 Make sure wx scrollbar drawing code factors in transforms when switching backends,
2238 fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
2240 https://bugs.webkit.org/show_bug.cgi?id=31570
2242 * platform/wx/ScrollbarThemeWx.cpp:
2243 (WebCore::ScrollbarThemeWx::minimumThumbLength):
2244 (WebCore::ScrollbarThemeWx::splitTrack):
2245 (WebCore::ScrollbarThemeWx::forwardButtonRect):
2246 * platform/wx/ScrollbarThemeWx.h:
2247 * platform/wx/wxcode/gtk/scrollbar_render.cpp:
2248 (wxRenderer_DrawScrollbar):
2249 * platform/wx/wxcode/scrollbar_render.h:
2250 (calcThumbStartAndLength):
2251 * platform/wx/wxcode/win/scrollbar_render.cpp:
2252 (wxRenderer_DrawScrollbar):
2254 2009-11-16 Kent Tamura <tkent@chromium.org>
2256 Reviewed by David Levin.
2258 Introduce WebCore::ISODateTime class.
2259 https://bugs.webkit.org/show_bug.cgi?id=31340
2261 This class represents a value of date/time types of the HTML5 INPUT
2262 element, and has some parsing methods for ISO 8601.
2264 This change has no tests because the class is not used yet.
2266 * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
2267 * WebCore.gypi: ditto.
2268 * WebCore.pro: ditto.
2269 * WebCore.vcproj/WebCore.vcproj: ditto.
2270 * WebCore.xcodeproj/project.pbxproj: ditto.
2271 * WebCoreSources.bkl: ditto.
2272 * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
2273 (WebCore::isLeapYear):
2274 (WebCore::maxDayOfMonth):
2275 (WebCore::dayOfWeek):
2276 (WebCore::ISODateTime::maxWeekNumberInYear):
2277 (WebCore::countDigits):
2279 (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
2280 (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
2281 (WebCore::ISODateTime::addMinute): ditto.
2282 (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
2283 (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
2284 (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
2285 (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
2286 (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
2287 (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
2288 (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
2289 * html/ISODateTime.h: Added. Declare WebCore::ISODateTime class.
2290 (WebCore::ISODateTime::ISODateTime):
2291 (WebCore::ISODateTime::millisecond):
2292 (WebCore::ISODateTime::second):
2293 (WebCore::ISODateTime::minute):
2294 (WebCore::ISODateTime::hour):
2295 (WebCore::ISODateTime::monthDay):
2296 (WebCore::ISODateTime::month):
2297 (WebCore::ISODateTime::fullYear):
2298 (WebCore::ISODateTime::week):
2300 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2302 Fix a typo in previous commit.
2304 * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
2306 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2308 Fix a typo in previous commit.
2310 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2312 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2316 * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
2317 differently in Tiger CFNetwork.
2319 2009-11-16 Dimitri Glazkov <dglazkov@chromium.org>
2321 Reviewed by Darin Fisher.
2323 [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
2325 Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
2327 Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
2329 * platform/KURLGoogle.cpp:
2330 (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
2332 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2334 Rubber-stamped by Jon Honeycutt.
2336 A better Windows build fix
2338 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
2339 Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
2341 2009-11-16 Yael Aharon <yael.aharon@nokia.com>
2343 Reviewed by Darin Adler.
2345 Rename protocolIsValid to isValidProtocol.
2346 https://bugs.webkit.org/show_bug.cgi?id=31503
2348 This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
2350 No new tests since no new functionality was introduced.
2352 * html/HTMLAnchorElement.cpp:
2353 (WebCore::HTMLAnchorElement::setProtocol):
2354 * platform/KURL.cpp:
2355 (WebCore::isValidProtocol):
2357 * platform/KURLGoogle.cpp:
2358 (WebCore::isValidProtocol):
2360 2009-11-16 Chris Fleizach <cfleizach@apple.com>
2362 Reviewed by Beth Dakin.
2364 AX: aria-labelledby duplicates some of its WAI-ARIA label
2365 https://bugs.webkit.org/show_bug.cgi?id=31565
2367 Test: accessibility/aria-labelledby-overrides-label.html
2369 * accessibility/AccessibilityRenderObject.cpp:
2370 (WebCore::AccessibilityRenderObject::hasTextAlternative):
2371 (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
2372 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2373 * accessibility/AccessibilityRenderObject.h:
2375 2009-11-16 Nate Chapin <japhet@chromium.org>
2377 Reviewed by Darin Fisher.
2379 Handle the case of a null NPObject* in NPN_SetException in
2380 the V8 bindings. This allow out of process plugins calling
2381 NPN_SetException to just send null instead of sending an
2382 NPObject* that would be an address in a different
2383 process's memory space.
2385 https://bugs.webkit.org/show_bug.cgi?id=31561
2387 * bindings/v8/NPV8Object.cpp:
2388 (_NPN_SetException): Allow null NPObject* and just throw a general error.
2390 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2394 * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
2395 Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
2397 2009-11-14 Yael Aharon <yael.aharon@nokia.com>
2399 Reviewed by Kenneth Rohde Christiansen.
2401 [Qt] ASSERT failure while running DRT
2402 https://bugs.webkit.org/show_bug.cgi?id=30978
2404 Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
2405 These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
2407 * bridge/qt/qt_instance.cpp:
2408 (JSC::Bindings::QtRuntimeObjectImp::createStructure):
2409 * bridge/qt/qt_runtime.h:
2410 (JSC::Bindings::QtRuntimeMethod::createStructure):
2412 2009-11-16 Mark Rowe <mrowe@apple.com>
2414 Attempt to fix the build. Land a file that was missing from r51049.
2416 * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
2417 (WebCore::setWebGLArrayFromArray):
2419 2009-11-16 Kenneth Russell <kbr@google.com>
2421 Reviewed by Oliver Hunt.
2423 Update API of WebGLArray and friends
2424 https://bugs.webkit.org/show_bug.cgi?id=31175
2426 * bindings/js/JSWebGLArrayCustom.cpp:
2428 * bindings/js/JSWebGLArrayHelper.h: Added.
2429 (WebCore::setWebGLArrayFromArray):
2430 * bindings/js/JSWebGLByteArrayCustom.cpp:
2431 (WebCore::JSWebGLByteArray::set):
2432 * bindings/js/JSWebGLFloatArrayCustom.cpp:
2433 (WebCore::JSWebGLFloatArray::set):
2434 * bindings/js/JSWebGLIntArrayCustom.cpp:
2435 (WebCore::JSWebGLIntArray::set):
2436 * bindings/js/JSWebGLShortArrayCustom.cpp:
2437 (WebCore::JSWebGLShortArray::set):
2438 * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
2439 (WebCore::JSWebGLUnsignedByteArray::set):
2440 * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2441 (WebCore::JSWebGLUnsignedIntArray::set):
2442 * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
2443 (WebCore::JSWebGLUnsignedShortArray::set):
2444 * bindings/scripts/CodeGeneratorV8.pm:
2445 * bindings/v8/V8DOMWrapper.cpp:
2446 (WebCore::V8DOMWrapper::convertToV8Object):
2447 * bindings/v8/custom/V8CustomBinding.h:
2448 * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
2449 (WebCore::CALLBACK_FUNC_DECL):
2450 * bindings/v8/custom/V8WebGLArrayCustom.h:
2451 (WebCore::constructWebGLArray):
2452 (WebCore::getWebGLArrayElement):
2453 (WebCore::setWebGLArrayFromArray):
2454 (WebCore::setWebGLArray):
2455 * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
2456 (WebCore::CALLBACK_FUNC_DECL):
2457 * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
2458 (WebCore::CALLBACK_FUNC_DECL):
2459 * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
2460 (WebCore::CALLBACK_FUNC_DECL):
2461 * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
2462 (WebCore::CALLBACK_FUNC_DECL):
2463 * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
2464 (WebCore::CALLBACK_FUNC_DECL):
2465 * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
2466 (WebCore::CALLBACK_FUNC_DECL):
2467 * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
2468 (WebCore::CALLBACK_FUNC_DECL):
2469 * html/canvas/WebGLArray.cpp:
2470 (WebCore::WebGLArray::WebGLArray):
2471 (WebCore::WebGLArray::~WebGLArray):
2472 (WebCore::WebGLArray::setImpl):
2473 * html/canvas/WebGLArray.h:
2474 (WebCore::WebGLArray::isByteArray):
2475 (WebCore::WebGLArray::isUnsignedByteArray):
2476 (WebCore::WebGLArray::isShortArray):
2477 (WebCore::WebGLArray::isUnsignedShortArray):
2478 (WebCore::WebGLArray::isIntArray):
2479 (WebCore::WebGLArray::isUnsignedIntArray):
2480 (WebCore::WebGLArray::isFloatArray):
2481 (WebCore::WebGLArray::buffer):
2482 (WebCore::WebGLArray::baseAddress):
2483 (WebCore::WebGLArray::byteOffset):
2484 * html/canvas/WebGLArray.idl:
2485 * html/canvas/WebGLArrayBuffer.cpp:
2486 (WebCore::WebGLArrayBuffer::create):
2487 (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
2488 (WebCore::WebGLArrayBuffer::data):
2489 (WebCore::WebGLArrayBuffer::byteLength):
2490 (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
2491 * html/canvas/WebGLArrayBuffer.h:
2492 * html/canvas/WebGLByteArray.cpp:
2493 (WebCore::WebGLByteArray::create):
2494 (WebCore::WebGLByteArray::byteLength):
2495 (WebCore::WebGLByteArray::slice):
2496 (WebCore::WebGLByteArray::set):
2497 * html/canvas/WebGLByteArray.h:
2498 (WebCore::WebGLByteArray::isByteArray):
2499 (WebCore::WebGLByteArray::data):
2500 (WebCore::WebGLByteArray::set):
2501 (WebCore::WebGLByteArray::get):
2502 (WebCore::WebGLByteArray::item):
2503 * html/canvas/WebGLByteArray.idl:
2504 * html/canvas/WebGLFloatArray.cpp:
2505 (WebCore::WebGLFloatArray::create):
2506 (WebCore::WebGLFloatArray::WebGLFloatArray):
2507 (WebCore::WebGLFloatArray::length):
2508 (WebCore::WebGLFloatArray::byteLength):
2509 (WebCore::WebGLFloatArray::slice):
2510 (WebCore::WebGLFloatArray::set):
2511 * html/canvas/WebGLFloatArray.h:
2512 (WebCore::WebGLFloatArray::isFloatArray):
2513 (WebCore::WebGLFloatArray::data):
2514 (WebCore::WebGLFloatArray::set):
2515 (WebCore::WebGLFloatArray::get):
2516 (WebCore::WebGLFloatArray::item):
2517 * html/canvas/WebGLFloatArray.idl:
2518 * html/canvas/WebGLIntArray.cpp:
2519 (WebCore::WebGLIntArray::create):
2520 (WebCore::WebGLIntArray::WebGLIntArray):
2521 (WebCore::WebGLIntArray::length):
2522 (WebCore::WebGLIntArray::byteLength):
2523 (WebCore::WebGLIntArray::slice):
2524 (WebCore::WebGLIntArray::set):
2525 * html/canvas/WebGLIntArray.h:
2526 (WebCore::WebGLIntArray::isIntArray):
2527 (WebCore::WebGLIntArray::data):
2528 (WebCore::WebGLIntArray::set):
2529 (WebCore::WebGLIntArray::get):
2530 (WebCore::WebGLIntArray::item):
2531 * html/canvas/WebGLIntArray.idl:
2532 * html/canvas/WebGLShortArray.cpp:
2533 (WebCore::WebGLShortArray::create):
2534 (WebCore::WebGLShortArray::WebGLShortArray):
2535 (WebCore::WebGLShortArray::length):
2536 (WebCore::WebGLShortArray::byteLength):
2537 (WebCore::WebGLShortArray::slice):
2538 (WebCore::WebGLShortArray::set):
2539 * html/canvas/WebGLShortArray.h:
2540 (WebCore::WebGLShortArray::isShortArray):
2541 (WebCore::WebGLShortArray::data):
2542 (WebCore::WebGLShortArray::set):
2543 (WebCore::WebGLShortArray::get):
2544 (WebCore::WebGLShortArray::item):
2545 * html/canvas/WebGLShortArray.idl:
2546 * html/canvas/WebGLUnsignedByteArray.cpp:
2547 (WebCore::WebGLUnsignedByteArray::create):
2548 (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
2549 (WebCore::WebGLUnsignedByteArray::length):
2550 (WebCore::WebGLUnsignedByteArray::byteLength):
2551 (WebCore::WebGLUnsignedByteArray::slice):
2552 (WebCore::WebGLUnsignedByteArray::set):
2553 * html/canvas/WebGLUnsignedByteArray.h:
2554 (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
2555 (WebCore::WebGLUnsignedByteArray::data):
2556 (WebCore::WebGLUnsignedByteArray::set):
2557 (WebCore::WebGLUnsignedByteArray::get):
2558 (WebCore::WebGLUnsignedByteArray::item):
2559 * html/canvas/WebGLUnsignedByteArray.idl:
2560 * html/canvas/WebGLUnsignedIntArray.cpp:
2561 (WebCore::WebGLUnsignedIntArray::create):
2562 (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
2563 (WebCore::WebGLUnsignedIntArray::length):
2564 (WebCore::WebGLUnsignedIntArray::byteLength):
2565 (WebCore::WebGLUnsignedIntArray::slice):
2566 (WebCore::WebGLUnsignedIntArray::set):
2567 * html/canvas/WebGLUnsignedIntArray.h:
2568 (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
2569 (WebCore::WebGLUnsignedIntArray::data):
2570 (WebCore::WebGLUnsignedIntArray::set):
2571 (WebCore::WebGLUnsignedIntArray::get):
2572 (WebCore::WebGLUnsignedIntArray::item):
2573 * html/canvas/WebGLUnsignedIntArray.idl:
2574 * html/canvas/WebGLUnsignedShortArray.cpp:
2575 (WebCore::WebGLUnsignedShortArray::create):
2576 (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
2577 (WebCore::WebGLUnsignedShortArray::length):
2578 (WebCore::WebGLUnsignedShortArray::byteLength):
2579 (WebCore::WebGLUnsignedShortArray::slice):
2580 (WebCore::WebGLUnsignedShortArray::set):
2581 * html/canvas/WebGLUnsignedShortArray.h:
2582 (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
2583 (WebCore::WebGLUnsignedShortArray::data):
2584 (WebCore::WebGLUnsignedShortArray::set):
2585 (WebCore::WebGLUnsignedShortArray::get):
2586 (WebCore::WebGLUnsignedShortArray::item):
2587 * html/canvas/WebGLUnsignedShortArray.idl:
2588 * platform/graphics/mac/GraphicsContext3DMac.cpp:
2589 (WebCore::GraphicsContext3D::bufferData):
2590 (WebCore::GraphicsContext3D::bufferSubData):
2592 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2596 * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
2598 2009-11-15 Brent Fulgham <bfulgham@webkit.org>
2600 Reviewed by Oliver Hunt.
2602 Enable support for webkit-box-shadow in Cairo builds.
2603 https://bugs.webkit.org/show_bug.cgi?id=26102.
2605 Covered by existing fast/box-shadow tests.
2607 * platform/graphics/cairo/GraphicsContextCairo.cpp: Add
2608 support for fillRect shadows.
2610 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2614 * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
2615 in WebKitSupportLibrary.
2617 2009-11-16 Alexey Proskuryakov <ap@apple.com>
2619 Reviewed by Darin Adler.
2621 https://bugs.webkit.org/show_bug.cgi?id=31494
2622 Add unauthenticated proxy support to SocketStreamHandleCFNet
2624 Cannot be tested in DRT.
2626 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2627 (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
2628 (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
2630 2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
2632 Reviewed by Antti Koivisto.
2634 [Qt] Broken back/forward after using ErrorPageExtension to set error page
2635 https://bugs.webkit.org/show_bug.cgi?id=30573
2637 Make FrameLoader::checkLoadCompleteForThisFrame method
2638 to check for any working DocumentLoader instance (through
2639 activeDocumentLoader()) instead of only checking for
2640 'm_provisionalDocumentLoader' in order to decide to if
2641 it is going to reset of not the back and forward history.
2642 after an error page has been loaded.
2644 Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
2646 * loader/FrameLoader.cpp:
2647 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2649 2009-11-14 Chris Fleizach <cfleizach@apple.com>
2651 Reviewed by Darin Adler.
2653 Need to implement ARIA role="directory"
2654 https://bugs.webkit.org/show_bug.cgi?id=31516
2656 Test: platform/mac/accessibility/aria-directory.html
2658 * accessibility/AXObjectCache.cpp:
2659 (WebCore::AXObjectCache::getOrCreate):
2660 * accessibility/AccessibilityList.cpp:
2661 (WebCore::AccessibilityList::isOrderedList):
2662 * accessibility/AccessibilityRenderObject.cpp:
2663 (WebCore::createARIARoleMap):
2665 2009-11-15 Dave Tapuska <dtapuska@rim.com>
2667 Reviewed by George Staikos.
2669 Compare UChars single unit at a time as opposed to the uint32_t
2670 approach as casting to unaligned addresses may cause a bus failure
2671 on ARMv5 and below. This change replicates the same defines that
2672 exists in AtomicString.cpp
2674 https://bugs.webkit.org/show_bug.cgi?id=31475
2676 * platform/text/StringHash.h:
2677 (WebCore::StringHash::equal):
2679 2009-11-15 Evan Martin <evan@chromium.org>
2681 Reviewed by Adam Barth.
2683 Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
2685 https://bugs.webkit.org/show_bug.cgi?id=31490
2687 * bindings/v8/V8DOMWrapper.cpp:
2689 2009-11-15 Maxime Simon <simon.maxime@gmail.com>
2691 Reviewed by Adam Barth.
2693 [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
2695 * platform/haiku/FileChooserHaiku.cpp:
2697 2009-11-15 Maxime Simon <simon.maxime@gmail.com>
2699 Reviewed by Adam Barth.
2701 [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
2703 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2704 (WebCore::GraphicsContext::setPlatformStrokeColor):
2706 2009-11-15 Daniel Bates <dbates@webkit.org>
2708 No review, rolling out r50999.
2709 http://trac.webkit.org/changeset/50999
2711 Need to fix some issues in the Windows build. Missed some places where
2712 RenderTextControl::isEdited is called.
2714 * bindings/objc/DOMHTML.mm:
2715 (-[DOMHTMLInputElement _isEdited]):
2716 (-[DOMHTMLTextAreaElement _isEdited]):
2718 (WebCore::Document::setFocusedNode):
2719 * html/HTMLInputElement.cpp:
2720 (WebCore::HTMLInputElement::defaultEventHandler):
2721 * rendering/RenderTextControl.cpp:
2722 (WebCore::RenderTextControl::RenderTextControl):
2723 (WebCore::RenderTextControl::setInnerTextValue):
2724 (WebCore::RenderTextControl::setUserEdited):
2725 (WebCore::RenderTextControl::subtreeHasChanged):
2726 * rendering/RenderTextControl.h:
2727 (WebCore::RenderTextControl::isEdited):
2728 (WebCore::RenderTextControl::setEdited):
2729 (WebCore::RenderTextControl::isUserEdited):
2730 * rendering/RenderTextControlSingleLine.cpp:
2731 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2732 * wml/WMLInputElement.cpp:
2733 (WebCore::WMLInputElement::defaultEventHandler):
2735 2009-11-15 Daniel Bates <dbates@webkit.org>
2737 Reviewed by Darin Adler.
2739 https://bugs.webkit.org/show_bug.cgi?id=31186
2741 Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2742 m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2743 These are more descriptive names so as to clear an ambiguity surrounding
2744 their usage. Also, renames associated setters and getters so that they
2745 coincide with the renamed fields.
2747 No functionality was changed. So, no tests were included.
2749 * bindings/objc/DOMHTML.mm:
2750 (-[DOMHTMLInputElement _isEdited]):
2751 (-[DOMHTMLTextAreaElement _isEdited]):
2753 (WebCore::Document::setFocusedNode):
2754 * html/HTMLInputElement.cpp:
2755 (WebCore::HTMLInputElement::defaultEventHandler):
2756 * rendering/RenderTextControl.cpp:
2757 (WebCore::RenderTextControl::RenderTextControl):
2758 (WebCore::RenderTextControl::setInnerTextValue):
2759 (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2760 (WebCore::RenderTextControl::subtreeHasChanged):
2761 * rendering/RenderTextControl.h:
2762 (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2763 (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2764 (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2765 * rendering/RenderTextControlSingleLine.cpp:
2766 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2767 * wml/WMLInputElement.cpp:
2768 (WebCore::WMLInputElement::defaultEventHandler):
2770 2009-11-14 Adele Peterson <adele@apple.com>
2772 Reviewed by Dan Bernstein.
2774 Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
2776 Test: fast/overflow/line-clamp.html
2778 * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
2779 * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
2780 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
2782 * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
2783 Use the line count value if available. Otherwise, convert the percentage to the line count, as we did before. Also,
2784 if there is anchor as the last child box, still allow adding the ellipsis.
2786 * rendering/RenderLayer.cpp:
2787 (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
2788 (WebCore::RenderLayer::scrollRectToVisible): ditto.
2790 * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
2791 * rendering/style/LineClampValue.h: Added.
2792 (WebCore::LineClampValue::LineClampValue):
2793 (WebCore::LineClampValue::value):
2794 (WebCore::LineClampValue::isPercentage):
2795 (WebCore::LineClampValue::isNone):
2796 (WebCore::LineClampValue::operator==):
2797 (WebCore::LineClampValue::operator!=):
2798 * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
2800 * rendering/style/RenderStyle.h: Use LineClampValue.
2801 (WebCore::InheritedFlags::lineClamp):
2802 (WebCore::InheritedFlags::setLineClamp):
2803 (WebCore::InheritedFlags::initialLineClamp):
2804 * rendering/style/StyleRareNonInheritedData.h:
2806 2009-11-14 Eric Carlson <eric.carlson@apple.com>
2808 Reviewed by Oliver Hunt.
2810 <rdar://problem/7287487>
2811 Do not use QuickTime version to detect media controller theme
2813 * WebCore.base.exp: Export wkMediaControllerThemeAvailable
2814 * platform/mac/WebCoreSystemInterface.h: Ditto.
2815 * platform/mac/WebCoreSystemInterface.mm: Ditto.
2817 * rendering/RenderThemeMac.mm:
2818 (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
2819 QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
2821 2009-11-14 Kent Tamura <tkent@chromium.org>
2823 Reviewed by Darin Adler.
2825 - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
2826 They have no dedicated UI and no type validation for now.
2827 - Clean up setInputType() and formControlType() of HTMLInputElement.
2828 https://bugs.webkit.org/show_bug.cgi?id=29004
2830 Test: fast/forms/input-type-change3.html
2832 * html/HTMLInputElement.cpp:
2833 (WebCore::HTMLInputElement::valueMissing):
2834 (WebCore::HTMLInputElement::patternMismatch):
2835 (WebCore::HTMLInputElement::tooLong):
2836 (WebCore::createTypeMap):
2837 (WebCore::HTMLInputElement::setInputType):
2838 (WebCore::createFormControlTypes):
2839 (WebCore::HTMLInputElement::formControlType):
2840 (WebCore::HTMLInputElement::saveFormControlState):
2841 (WebCore::HTMLInputElement::restoreFormControlState):
2842 (WebCore::HTMLInputElement::accessKeyAction):
2843 (WebCore::HTMLInputElement::rendererIsNeeded):
2844 (WebCore::HTMLInputElement::createRenderer):
2845 (WebCore::HTMLInputElement::appendFormData):
2846 (WebCore::HTMLInputElement::isTextField):
2847 (WebCore::HTMLInputElement::valueWithDefault):
2848 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2849 (WebCore::HTMLInputElement::defaultEventHandler):
2850 (WebCore::HTMLInputElement::isRequiredFormControl):
2851 (WebCore::HTMLInputElement::dataList):
2852 * html/HTMLInputElement.h:
2853 (WebCore::HTMLInputElement::):
2855 2009-11-13 Chris Fleizach <cfleizach@apple.com>
2857 Reviewed by Darin Adler.
2859 WAI-ARIA: checkbox does not determine its label from text content
2860 https://bugs.webkit.org/show_bug.cgi?id=31456
2862 Test: accessibility/aria-checkbox-text.html
2864 * accessibility/AccessibilityRenderObject.cpp:
2865 (WebCore::AccessibilityRenderObject::title):
2867 2009-11-13 Dimitri Glazkov <dglazkov@chromium.org>
2869 Unreviewed, build fix.
2871 [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
2872 This is just enough changes to unbreak the port.
2874 * bindings/v8/ScriptController.cpp:
2875 (WebCore::mainThreadNormalWorld):
2876 * bindings/v8/V8Proxy.cpp:
2877 (WebCore::V8Proxy::initContextIfNeeded):
2878 * loader/FrameLoaderClient.h:
2880 2009-11-13 Aaron Boodman <aa@chromium.org>
2882 Unreviewed fix for Chromium build.
2884 * loader/FrameLoaderClient.h:
2885 (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2886 Provide an empty implementation of this method because I don't know
2887 what it is supposed to do on Chromium.
2889 2009-11-13 Aaron Boodman <aa@chromium.org>
2891 Unreviewed fix for Chromium build.
2893 * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
2894 public, as Chromium's V8Proxy calls it.
2896 2009-11-13 Aaron Boodman <aa@chromium.org>
2898 Unreviewed fix to Chromium build.
2900 * bindings/v8/ScriptController.cpp:
2901 (WebCore::ScriptController::getAllWorlds):
2903 2009-11-13 Aaron Boodman <aa@chromium.org>
2905 Unreviewed fix for Chromium build.
2907 * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
2909 2009-11-13 Adam Barth <abarth@webkit.org>
2911 Unreviewed partial build fix for Chromium. Should fix failure #4.
2913 * bindings/v8/ScriptController.cpp:
2914 (WebCore::ScriptController::getAllWorlds):
2915 * bindings/v8/ScriptController.h:
2916 * bindings/v8/V8Proxy.cpp:
2917 (WebCore::V8Proxy::initContextIfNeeded):
2919 2009-11-13 Adam Barth <abarth@webkit.org>
2921 Unreviewed partial build fix for Chromium.
2923 * bindings/v8/ScriptController.h:
2924 (WebCore::ScriptController::getAllWorlds):
2926 2009-11-13 Eric Seidel <eric@webkit.org>
2928 No review, build fix only.
2930 Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
2932 Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
2933 https://bugs.webkit.org/show_bug.cgi?id=31468
2935 * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
2936 * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
2938 2009-11-12 Jeremy Orlow <jorlow@chromium.org>
2940 Reviewed by Dmitry Titov.
2942 LocalStorage quota should include key sizes in its count
2943 https://bugs.webkit.org/show_bug.cgi?id=31451
2945 * storage/StorageMap.cpp:
2946 (WebCore::StorageMap::setItem):
2947 Count keys in the quota when adding a new item.
2948 (WebCore::StorageMap::removeItem):
2949 Remove the key's length from the quota if we're removing the item.
2950 (WebCore::StorageMap::importItem):
2951 Assume that we're adding things for the first time.
2952 Count keys in the quota.
2954 2009-11-13 Dominik Röttsches <dominik.roettsches@access-company.com>
2956 Reviewed by Eric Seidel.
2958 Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
2959 https://bugs.webkit.org/show_bug.cgi?id=31468
2961 Moving TextBoundariesICU.cpp to TextBoundaries.cpp
2962 by removing the direct ICU dependency and replacing it
2963 with WTF functions and WebCore's own TextBreakIterator
2967 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2968 * platform/text/TextBoundaries.cpp: Added.
2969 (WebCore::findNextWordFromIndex):
2970 (WebCore::findWordBoundary):
2971 * platform/text/TextBoundariesICU.cpp: Removed.
2972 * platform/text/TextBreakIterator.h:
2973 * platform/text/TextBreakIteratorICU.cpp:
2974 (WebCore::textBreakLast):
2975 (WebCore::textBreakPrevious):
2977 2009-11-13 Shinichiro Hamaji <hamaji@chromium.org>
2979 Reviewed by Darin Adler.
2981 WebCore::externalRepresentation should update layout before getting render object
2982 https://bugs.webkit.org/show_bug.cgi?id=31459
2984 * rendering/RenderTreeAsText.cpp:
2985 (WebCore::externalRepresentation):
2987 2009-11-13 Adam Roben <aroben@apple.com>
2989 Tell FrameLoaderClient when window objects in isolated worlds are
2992 Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
2993 window objects in isolated worlds are cleared
2995 Test: http/tests/security/isolatedWorld/didClearWindowObject.html
2997 Reviewed by Dave Hyatt.
2999 * bindings/js/JSDOMBinding.h:
3000 (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
3001 worlds in m_worldSet to the passed-in Vector.
3003 * bindings/js/ScriptController.cpp:
3004 (WebCore::ScriptController::getAllWorlds): Added. Calls through to
3005 WebCoreJSClientData.
3006 (WebCore::ScriptController::initScript): Changed to call
3007 FrameLoader::dispatchDidClearWindowObjectInWorld.
3009 * bindings/js/ScriptController.h: Added getAllWorlds.
3011 * loader/EmptyClients.h:
3012 (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3013 Updated for FrameLoaderClient change.
3015 * loader/FrameLoader.cpp:
3016 (WebCore::FrameLoader::receivedFirstData):
3017 (WebCore::FrameLoader::begin):
3018 Changed to call dispatchDidClearWindowObjectsInAllWorlds.
3020 (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
3021 Added. Retrieves all the worlds, then calls through to
3022 dispatchDidClearWindowObjectInWorld for each one.
3023 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
3024 dispatchWindowObjectAvailable. Calls up to the client, then, if the
3025 world is the mainThreadNormalWorld(), tells the Inspector about it,
3028 * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
3029 dispatchDidClearWindowObjectInWorld. Added
3030 dispatchDidClearWindowObjectsInAllWorlds.
3032 * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
3033 dispatchDidClearWindowObjectForWorld.
3035 2009-11-13 Vitaly Repeshko <vitalyr@chromium.org>
3037 Reviewed by Dimitri Glazkov.
3039 [V8] Fix SVG context assignment for pod types.
3040 https://bugs.webkit.org/show_bug.cgi?id=31497
3042 I broke this in r50958.
3044 Tested by svg/custom/viewport-update2.svg.
3046 * bindings/scripts/CodeGeneratorV8.pm:
3048 2009-11-13 Andrei Popescu <andreip@google.com>
3050 Reviewed by Dmitry Titov.
3052 Bring the platform/android files inline with Android 2.0
3053 https://bugs.webkit.org/show_bug.cgi?id=31423
3055 No new tests required: these are all Android-specific files.
3057 * platform/android/ClipboardAndroid.cpp:
3058 (WebCore::ClipboardAndroid::files):
3059 * platform/android/ClipboardAndroid.h:
3060 * platform/android/FileChooserAndroid.cpp:
3061 (WebCore::FileChooser::basenameForWidth):
3062 (WebCore::fileButtonChooseFileLabel):
3063 * platform/android/KeyEventAndroid.cpp:
3064 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3065 * platform/android/LocalizedStringsAndroid.cpp:
3066 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
3067 (WebCore::contextMenuItemTagDownloadLinkToDisk):
3068 (WebCore::contextMenuItemTagCopyLinkToClipboard):
3069 (WebCore::contextMenuItemTagOpenImageInNewWindow):
3070 (WebCore::contextMenuItemTagDownloadImageToDisk):
3071 (WebCore::contextMenuItemTagCopyImageToClipboard):
3072 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
3073 (WebCore::contextMenuItemTagCopy):
3074 (WebCore::contextMenuItemTagGoBack):
3075 (WebCore::contextMenuItemTagGoForward):
3076 (WebCore::contextMenuItemTagStop):
3077 (WebCore::contextMenuItemTagReload):
3078 (WebCore::contextMenuItemTagCut):
3079 (WebCore::contextMenuItemTagPaste):
3080 (WebCore::contextMenuItemTagNoGuessesFound):
3081 (WebCore::contextMenuItemTagIgnoreSpelling):
3082 (WebCore::contextMenuItemTagLearnSpelling):
3083 (WebCore::contextMenuItemTagSearchWeb):
3084 (WebCore::contextMenuItemTagLookUpInDictionary):
3085 (WebCore::contextMenuItemTagOpenLink):
3086 (WebCore::contextMenuItemTagIgnoreGrammar):
3087 (WebCore::contextMenuItemTagSpellingMenu):
3088 (WebCore::contextMenuItemTagShowSpellingPanel):
3089 (WebCore::contextMenuItemTagCheckSpelling):
3090 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
3091 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
3092 (WebCore::contextMenuItemTagFontMenu):
3093 (WebCore::contextMenuItemTagBold):
3094 (WebCore::contextMenuItemTagItalic):
3095 (WebCore::contextMenuItemTagUnderline):
3096 (WebCore::contextMenuItemTagOutline):
3097 (WebCore::contextMenuItemTagWritingDirectionMenu):
3098 (WebCore::contextMenuItemTagTextDirectionMenu):
3099 (WebCore::contextMenuItemTagDefaultDirection):
3100 (WebCore::contextMenuItemTagLeftToRight):
3101 (WebCore::contextMenuItemTagRightToLeft):
3102 (WebCore::mediaElementLoadingStateText):
3103 (WebCore::mediaElementLiveBroadcastStateText):
3104 (WebCore::searchableIndexIntroduction):
3105 (WebCore::resetButtonDefaultLabel):
3106 (WebCore::submitButtonDefaultLabel):
3107 (WebCore::inputElementAltText):
3108 * platform/android/RenderThemeAndroid.cpp:
3109 (WebCore::RenderTheme::themeForPage):
3110 (WebCore::RenderThemeAndroid::baselinePosition):
3111 (WebCore::RenderThemeAndroid::paintButton):
3112 (WebCore::adjustMenuListStyleCommon):
3113 (WebCore::RenderThemeAndroid::paintCombo):
3114 * platform/android/ScreenAndroid.cpp:
3115 * platform/android/ScrollViewAndroid.cpp:
3116 (WebCore::ScrollView::platformOffscreenContentRectangle):
3117 * platform/android/TemporaryLinkStubs.cpp:
3118 (JSC::Bindings::dispatchJNICall):
3119 * platform/android/WidgetAndroid.cpp:
3120 (WebCore::Widget::setFrameRect):
3122 2009-11-13 Norbert Leser <norbert.leser&nokia.com>
3124 Reviewed by Eric Seidel.
3126 Added macros for USERINCLUDE paths within symbian blocks
3127 to guarantee inclusion of respective header files from local path
3128 first (to avoid clashes with same names of header files in system include path).
3132 2009-11-13 Hironori Bono <hbono@chromium.org>
3134 Reviewed by Oliver Hunt.
3136 Implement composition events introduced in DOM Level 3.
3137 This change adds a new IDL which defines the composition events, adds a class which
3138 implements the composition events, and sends the composition events according to
3140 https://bugs.webkit.org/show_bug.cgi?id=26310
3142 Test: fast/events/ime-composition-events-001.html
3144 * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
3145 * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
3146 * WebCore.gypi: ditto.
3147 * WebCore.pro: ditto
3148 * WebCore.vcproj/WebCore.vcproj: ditto.
3149 * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
3150 * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
3151 * bindings/js/JSEventCustom.cpp:
3152 (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
3153 * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
3154 * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
3155 * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
3156 (WebCore::V8DOMWrapper::convertEventToV8Object):
3157 * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
3158 * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
3159 * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
3160 (WebCore::CompositionEvent::CompositionEvent):
3161 (WebCore::CompositionEvent::~CompositionEvent):
3162 (WebCore::CompositionEvent::initCompositionEvent):
3163 (WebCore::CompositionEvent::isCompositionEvent):
3164 * dom/CompositionEvent.h: Declares the CompositionEvent class.
3165 (WebCore::CompositionEvent::create):
3166 (WebCore::CompositionEvent::data):
3167 * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
3169 (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
3171 * dom/EventNames.h: Added composition{start,update,end} to eventNames.
3172 * editing/Editor.cpp:
3173 (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
3174 (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
3176 2009-11-13 Jens Alfke <snej@chromium.org>
3178 Reviewed by Dimitri Glazkov.
3180 Fix a link error in unofficial GCC 4.4 builds on Linux.
3181 https://bugs.webkit.org/show_bug.cgi?id=31477
3183 * bindings/v8/V8Binding.cpp: Add explicit instantiations of v8StringToWebCoreString template.
3185 2009-11-13 Eric Seidel <eric@webkit.org>
3187 No review, build fix only.
3189 Fix Debug build after http://trac.webkit.org/changeset/50960.
3191 The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
3192 https://bugs.webkit.org/show_bug.cgi?id=31213
3194 * rendering/CounterNode.cpp:
3195 (WebCore::showTreeAndMark):
3196 * rendering/RenderCounter.cpp:
3197 (WebCore::destroyCounterNodeChildren):
3199 2009-11-13 Dirk Schulze <krit@webkit.org>
3201 Reviewed by Gustavo Noronha.
3203 [CAIRO] shadow support for Canvas and SVG
3204 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3206 We currently fill a path with solid color instead of filling
3207 a clipping path. This causes problems on some composite operators,
3208 since Cairo modifies the area outside the path.
3209 This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
3211 Thanks to Benjamin Otte for tracking the bug down.
3213 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3214 (WebCore::setPlatformFill):
3216 2009-11-12 Dumitru Daniliuc <dumi@chromium.org>
3218 Reviewed by Dimitri Glazkov.
3220 Adding Chromium's DatabaseTracker implementation.
3222 https://bugs.webkit.org/show_bug.cgi?id=31440
3224 * WebCore.gyp/WebCore.gyp:
3226 * storage/DatabaseTracker.h:
3227 * storage/chromium/DatabaseTrackerChromium.cpp:
3228 (WebCore::DatabaseTracker::fullPathForDatabase):
3229 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3230 * storage/chromium/QuotaTracker.cpp:
3231 (WebCore::QuotaTracker::updateDatabaseSize):
3232 * storage/chromium/QuotaTracker.h:
3234 2009-11-13 Carol Szabo <carol.szabo@nokia.com>
3236 Reviewed by Darin Adler.
3238 The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
3239 https://bugs.webkit.org/show_bug.cgi?id=31213
3240 Added tree navigation methods that permit full implementation of CSS2.1
3241 counter feature without using recursion proportional to the counter
3243 No new tests because I did not find any bug that is fixed by this
3244 commit yet, this just reduces the size of the patch for 11031 and
3245 helps respond to some concerns regarding that patch.
3247 * rendering/CounterNode.cpp:
3248 (WebCore::CounterNode::CounterNode):
3250 (WebCore::CounterNode::nextInPreOrderAfterChildren):
3251 (WebCore::CounterNode::nextInPreOrder):
3252 Added to support non-recursive tree traversal necessary for
3253 efficient full implementation of CSS2.1 counters.
3255 (WebCore::CounterNode::lastDescendant):
3256 (WebCore::CounterNode::previousInPreOrder):
3257 Moved this methods such that they occupy a place similar to that of
3258 identically named methods on the render tree. This allows for their
3259 broader use needed in full implementation of CSS2.1 counters.
3261 (WebCore::CounterNode::resetRenderer):
3262 (WebCore::CounterNode::resetRenderers):
3263 (WebCore::CounterNode::recount):
3264 (WebCore::CounterNode::insertAfter):
3265 (WebCore::CounterNode::removeChild):
3266 Changed such that insertion/removal of a counter, triggers not only
3267 recalculation of PrefixWidths, but also reassesment of values in
3268 counter nodes. This is the basis full implementation of CSS2.1
3269 counters. It does not change current behavior by much because of
3270 changes needed to the recalculation algorithm, but those are comming
3271 in the patch for 11031.
3272 (WebCore::showTreeAndMark):
3273 * rendering/CounterNode.h:
3274 * rendering/RenderCounter.cpp:
3276 Only changed argument type to prepare for implementation of Darin
3277 Adler's recommendation for the patch to 11031.
3279 (WebCore::RenderCounter::invalidate):
3280 (WebCore::destroyCounterNodeChildren):
3281 (WebCore::RenderCounter::destroyCounterNodes):
3282 * rendering/RenderCounter.h:
3283 * rendering/RenderObjectChildList.cpp:
3284 (WebCore::invalidateCountersInContainer):
3285 (WebCore::RenderObjectChildList::invalidateCounters):
3286 * rendering/RenderObjectChildList.h:
3287 Added the ability to restrict invalidation to counters with a given
3289 Also invalidated counters that are on the child container itself
3290 which were missed by the previous algorithm, but were a valid case.
3292 2009-11-13 Vitaly Repeshko <vitalyr@chromium.org>
3294 Reviewed by Dimitri Glazkov.
3296 [V8] Protect SVG animated properties from destruction in bindings.
3297 https://bugs.webkit.org/show_bug.cgi?id=31474
3299 See http://crbug.com/26719.
3301 Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
3304 Made sure we keep a reference to SVG properties while setting a
3306 * bindings/scripts/CodeGeneratorV8.pm:
3307 * bindings/v8/V8Proxy.h:
3308 (WebCore::V8Proxy::withSVGContext):
3310 2009-11-13 Brent Fulgham <bfulgham@webkit.org>
3312 Reviewed by Alexey Proskuryakov.
3314 [CAIRO] shadow support for Canvas and SVG.
3315 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3317 Incorporate Benjamin Otte's recommendations to avoid
3318 a buffer overrun, and small performance improvement.
3320 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3321 (WebCore::copyContextProperties): Correctly size output
3322 storage for cairo_get_dash to avoid buffer overrun.
3323 (WebCore::drawPathShadow): Prefer cairo_fill_extents
3324 to slower cairo_stroke_extents when not drawing shadows.
3326 2009-11-13 Dumitru Daniliuc <dumi@chromium.org>
3328 Reviewed by Dimitri Glazkov.
3330 Do not register Chromium's HTML5 DB VFS as the default
3331 VFS. Otherwise, other sqlite DB users in the same process will
3334 https://bugs.webkit.org/show_bug.cgi?id=31462
3336 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3337 (WebCore::SQLiteFileSystem::openDatabase):
3338 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3339 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3340 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3341 (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3343 2009-11-13 Alexey Proskuryakov <ap@apple.com>
3347 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3348 (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
3349 avoiding a sign mismatch warning.
3351 2009-11-13 Alexey Proskuryakov <ap@apple.com>
3355 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3356 (WebCore::SocketStreamHandle::readStreamCallback):
3357 (WebCore::SocketStreamHandle::writeStreamCallback):
3358 Use ASSERT_UNUSED for unused stream parameter.
3360 2009-11-12 Alexey Proskuryakov <ap@apple.com>
3362 Reviewed by Darin Adler.
3364 https://bugs.webkit.org/show_bug.cgi?id=31441
3365 Implement SocketStreamHandleCFNet
3367 Existing WebSocket tests now pass on Mac. No proxy support yet.
3369 * platform/network/SocketStreamHandleClient.h:
3370 * platform/network/cf/SocketStreamHandle.h:
3371 (WebCore::SocketStreamHandle::shouldUseSSL):
3372 (WebCore::SocketStreamHandle::refAuthenticationClient):
3373 (WebCore::SocketStreamHandle::derefAuthenticationClient):
3374 (WebCore::SocketStreamHandle::):
3375 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3376 (WebCore::SocketStreamHandle::SocketStreamHandle):
3377 (WebCore::SocketStreamHandle::chooseProxy):
3378 (WebCore::SocketStreamHandle::createStreams):
3379 (WebCore::SocketStreamHandle::copyCFStreamDescription):
3380 (WebCore::SocketStreamHandle::readStreamCallback):
3381 (WebCore::SocketStreamHandle::writeStreamCallback):
3382 (WebCore::SocketStreamHandle::~SocketStreamHandle):
3383 (WebCore::SocketStreamHandle::platformSend):
3384 (WebCore::SocketStreamHandle::platformClose):
3385 (WebCore::SocketStreamHandle::receivedCredential):
3386 (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
3387 (WebCore::SocketStreamHandle::receivedCancellation):
3389 2009-11-12 Pavel Feldman <pfeldman@chromium.org>
3391 Reviewed by Timothy Hatcher.
3393 Web Inspector: preload status bar button glyphs
3394 in order to prevent them from flickering (take 2).
3396 https://bugs.webkit.org/show_bug.cgi?id=31439
3398 * inspector/front-end/inspector.js:
3401 2009-11-13 Pavel Feldman <pfeldman@chromium.org>
3403 Reviewed by Adam Barth.
3405 Chromium: [REGRESSION] Crash while stopping on a breakpoint.
3406 Rolling back r50890.
3408 https://bugs.webkit.org/show_bug.cgi?id=31467
3410 * bindings/v8/V8Proxy.cpp:
3411 (WebCore::V8Proxy::canAccessPrivate):
3413 2009-11-13 Dirk Schulze <krit@webkit.org>
3415 Reviewed by Gustavo Noronha.
3417 [CAIRO] shadow support for Canvas and SVG
3418 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3420 This is the fix of a regression, caused by the shadow patch
3421 from the bug above. Reinserted the save and restore calls
3422 that were accidently removed by the previous patch.
3424 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3425 (WebCore::setPlatformFill):
3426 (WebCore::setPlatformStroke):
3428 2009-11-13 Pavel Feldman <pfeldman@chromium.org>
3430 Not reviewed. Reverting r50908 since it makes inspector tests
3433 https://bugs.webkit.org/show_bug.cgi?id=31439
3435 * inspector/front-end/inspector.js:
3437 2009-11-13 Mikhail Naganov <mnaganov@chromium.org>
3439 Reviewed by Timothy Hatcher.
3441 Enable 'console.profile()' and 'console.profileEnd()'
3442 regardless of JAVASCRIPT_DEBUGGER.
3444 https://bugs.webkit.org/show_bug.cgi?id=31293
3447 * bindings/js/JSConsoleCustom.cpp:
3448 (WebCore::JSConsole::profile):
3449 (WebCore::JSConsole::profileEnd):
3450 * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
3451 (WebCore::CALLBACK_FUNC_DECL):
3452 * bindings/v8/custom/V8CustomBinding.h:
3455 2009-11-12 David Levin <levin@chromium.org>
3461 * bindings/v8/ScriptController.h:
3462 (WebCore::ScriptController::evaluateInWorld): Add a dummy
3463 method which isn't called in chromium to make things compile.
3465 2009-11-12 Anantanarayanan G Iyengar <ananta@chromium.org>
3467 Reviewed by Adam Barth.
3469 The document-open.html test was flaky at times. The test invokes the layout test plugin
3470 which in its destroy stream handler opens a new document. This basically tears down the
3471 stream and the associated plugin instance, which causes a crash when the plugin stream
3472 dereferences an invalid m_client pointer which points to the PluginView instance which
3473 is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
3474 and check for the same.
3476 https://bugs.webkit.org/show_bug.cgi?id=31067
3478 * plugins/PluginStream.cpp:
3479 (WebCore::PluginStream::stop):
3480 (WebCore::PluginStream::destroyStream):
3482 2009-11-12 Dumitru Daniliuc <dumi@chromium.org>
3484 Reviewed by Dimitri Glazkov.
3486 Renaming some parameters passed to DB-related methods to better
3487 indicate their purpose.
3489 https://bugs.webkit.org/show_bug.cgi?id=31449
3491 * platform/chromium/ChromiumBridge.h:
3493 2009-11-12 Simon Fraser <simon.fraser@apple.com>
3495 Reviewed by Dan Bernstein.
3497 Transformed reflected elements are clipped inside element with opacity
3498 https://bugs.webkit.org/show_bug.cgi?id=30957
3500 transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
3501 each clip rect into painting space before taking the unions. This, however, did not work
3502 correctly with combinations of reflections and transforms. Fixed by unioning the
3503 clipRect and mapping through transforms along the way.
3505 Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
3506 where the transparency layers are.
3508 Test: fast/reflections/opacity-reflection-transform.html
3510 * rendering/RenderLayer.cpp:
3511 (WebCore::expandClipRectForDescendantsAndReflection):
3512 (WebCore::transparencyClipBox):
3513 (WebCore::RenderLayer::beginTransparencyLayers):
3515 2009-11-12 Adam Barth <abarth@webkit.org>
3517 Reviewed by Darin Fisher.
3519 Improve SecurityOrigin::toString comment
3520 https://bugs.webkit.org/show_bug.cgi?id=31041
3522 * page/SecurityOrigin.h:
3524 2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
3526 Reviewed by Darin Adler.
3528 externalRepresentation should take Frame as the argument
3529 https://bugs.webkit.org/show_bug.cgi?id=31393
3531 No new tests as this is just a refactoring.
3534 * rendering/RenderTreeAsText.cpp:
3535 (WebCore::externalRepresentation):
3536 * rendering/RenderTreeAsText.h:
3538 2009-11-12 Ben Murdoch <benm@google.com>
3540 Reviewed by Dimitri Glazkov.
3542 [Android] The Android specific files in page/Android are out of date.
3543 https://bugs.webkit.org/show_bug.cgi?id=31437
3547 * page/android/DragControllerAndroid.cpp:
3548 (WebCore::DragController::dragOperation): Added.
3549 (WebCore::DragController::cleanupAfterSystemDrag):
3550 * page/android/EventHandlerAndroid.cpp:
3551 (WebCore::EventHandler::accessKeyModifiers): Added.
3552 * page/android/InspectorControllerAndroid.cpp: Removed.
3554 2009-11-12 Brent Fulgham <bfulgham@webkit.org>
3556 Reviewed by Simon Fraser.
3558 [CAIRO] shadow support for Canvas and SVG.
3559 [https://bugs.webkit.org/show_bug.cgi?id=30960]
3561 Implement Canvas/SVG shadow support for Cairo. This patch
3562 uses the filter code from SVG Filters. That means that it is
3563 necessary to activate filters to see the shadows.
3565 Test: fast/canvas/canvas-shadow.html
3568 * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
3569 * platform/graphics/GraphicsContext.h:
3570 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3571 (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
3572 (WebCore::setPlatformFill):
3573 (WebCore::setPlatformStroke):
3574 (WebCore::copyContextProperties):
3575 (WebCore::drawPathShadow):
3576 (WebCore::GraphicsContext::fillPath):
3577 (WebCore::GraphicsContext::strokePath):
3578 (WebCore::GraphicsContext::drawPath):
3579 (WebCore::GraphicsContext::setPlatformShadow):
3580 (WebCore::GraphicsContext::createPlatformShadow):
3581 * platform/graphics/cairo/ImageCairo.cpp:
3582 (WebCore::BitmapImage::draw): Add filter effect.
3583 * platform/graphics/filters/Filter.h: Correct 'const' signatures.
3584 * platform/graphics/filters/ImageBufferFilter.cpp: Added.
3585 * platform/graphics/filters/ImageBufferFilter.h: Added.
3586 * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
3587 * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
3589 2009-11-12 Dmitry Titov <dimich@chromium.org>
3591 Reviewed by Alexey Proskuryakov.
3593 Add postTaskToMainThread to ScriptExecutionContext.
3594 Move the code to post task to the main thread into a new method on ScriptExecutionContext,
3595 to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in