2010-10-30 Dimitri Glazkov <dglazkov@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
2
3         Unreviewed, rolling out r70984.
4         http://trac.webkit.org/changeset/70984
5         https://bugs.webkit.org/show_bug.cgi?id=46015
6
7         Made media/audio-delete-while-slider-thumb-clicked.html crash.
8
9         * Android.mk:
10         * CMakeLists.txt:
11         * GNUmakefile.am:
12         * WebCore.gypi:
13         * WebCore.pro:
14         * WebCore.xcodeproj/project.pbxproj:
15         * dom/ContainerNode.cpp:
16         (WebCore::notifyChildInserted):
17         * dom/EventContext.cpp: Removed.
18         * dom/EventContext.h: Removed.
19         * dom/Node.cpp:
20         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
21         (WebCore::Node::createRendererIfNeeded):
22         (WebCore::Node::eventParentNode):
23         (WebCore::Node::enclosingLinkEventParentOrSelf):
24         (WebCore::eventTargetAsSVGElementInstance):
25         (WebCore::eventTargetRespectingSVGTargetRules):
26         (WebCore::Node::eventAncestors):
27         (WebCore::Node::dispatchGenericEvent):
28         * dom/Node.h:
29         * dom/Text.cpp:
30         (WebCore::Text::createRenderer):
31         * dom/WindowEventContext.cpp: Removed.
32         * dom/WindowEventContext.h: Removed.
33         * inspector/InspectorDOMAgent.cpp:
34         (WebCore::InspectorDOMAgent::getEventListenersForNode):
35         * inspector/InspectorInstrumentation.cpp:
36         (WebCore::eventHasListeners):
37         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
38         * inspector/InspectorInstrumentation.h:
39         (WebCore::InspectorInstrumentation::willDispatchEvent):
40         * page/EventHandler.cpp:
41         (WebCore::EventHandler::updateMouseEventTargetNode):
42         * svg/SVGElement.cpp:
43         (WebCore::SVGElement::eventParentNode):
44         * svg/SVGElement.h:
45
46 2010-10-30  Dimitri Glazkov  <dglazkov@chromium.org>
47
48         Reviewed by Darin Adler.
49
50         Implement shadow DOM-aware event targeting and introduce EventContext to track the context of each event dispatch.
51         https://bugs.webkit.org/show_bug.cgi?id=46015
52
53         This patch adds the notion of EventContext (and a very similar-acting WindowEventContext, specifically
54         for DOMWindow), an abstraction that carries information around dispatching an event for any given Node.
55
56         This abstraction is necessary to ensure that events, fired from shadow DOM nodes are properly retargeted to
57         appear as if they are coming from their host, thus never exposing the shadow DOM nodes to the world outside.
58
59         * Android.mk: Added EventContext, WindowEventContext files.
60         * CMakeLists.txt: Ditto.
61         * GNUmakefile.am: Ditto.
62         * WebCore.gypi: Ditto.
63         * WebCore.pro: Ditto.
64         * WebCore.xcodeproj/project.pbxproj: Ditto.
65         * dom/ContainerNode.cpp:
66         (WebCore::notifyChildInserted): Changed to be shadow DOM-aware.
67         * dom/EventContext.cpp: Added.
68         * dom/EventContext.h: Added.
69         * dom/Node.cpp:
70         (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Changed to be shadow DOM-aware.
71         (WebCore::Node::createRendererIfNeeded): Ditto.
72         (WebCore::Node::parentOrHostNode): Added new helper method.
73         (WebCore::Node::enclosingLinkEventParentOrSelf): Changed to be shadow DOM-aware.
74         (WebCore::eventTargetRespectingSVGTargetRules): Collapsed two helper methods into one.
75         (WebCore::Node::eventAncestors): Refactored to collect a vector of EventContexts.
76         (WebCore::Node::topEventContext): Added.
77         (WebCore::eventHasListeners): Changed to use EventContexts.
78         (WebCore::Node::dispatchGenericEvent): Ditto.
79         * dom/Node.h: Removed eventParentNode that's no longer needed, added parentOrHostNode decl,
80             and changed signature of eventAncestors to use EventContexts.
81         * dom/Text.cpp:
82         (WebCore::Text::createRenderer): Changed to be shadow DOM-aware.
83         * inspector/InspectorDOMAgent.cpp:
84         (WebCore::InspectorDOMAgent::getEventListenersForNode): Changed to use EventContexts.
85         * page/EventHandler.cpp:
86         (WebCore::EventHandler::updateMouseEventTargetNode): Removed code that's no longer necessary.
87         * svg/SVGElement.cpp: Removed eventParentNode that's no longer needed.
88         * svg/SVGElement.h: Ditto.
89         * dom/WindowEventContext.cpp: Added.
90         * dom/WindowEventContext.h: Added.
91
92 2010-10-30  Nikolas Zimmermann  <nzimmermann@rim.com>
93
94         Reviewed by Rob Buis.
95
96         Convert SVGAnimatedNumber/SVGAnimatedNumberList to the new SVGAnimatedPropertyTearOff concept
97         https://bugs.webkit.org/show_bug.cgi?id=48686
98
99         Convert the next set of primitives to use the new SVG(Animated)PropertyTearOff concept.
100
101         Tests: svg/dom/SVGAnimatedNumber.html
102                svg/dom/SVGAnimatedNumberList.html
103                svg/dom/SVGNumber.html
104
105         * GNUmakefile.am: Add SVGAnimatedNumber.h / SVGAnimatedNumberList.h to build.
106         * WebCore.gypi: Ditto.
107         * WebCore.pro: Ditto.
108         * WebCore.vcproj/WebCore.vcproj: Ditto.
109         * WebCore.xcodeproj/project.pbxproj: Ditto.
110         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedNumber/SVGAnimatedNumberList as new style SVG animated properties. Remove SVGNumber from PODType hash.
111         * bindings/scripts/CodeGeneratorJS.pm: Remove special SVGNumber handing, it's obsolete now.
112         * bindings/scripts/CodeGeneratorObjC.pm: Add special SVGNumber handling, as it's the first of the converted dynamic SVGAnimatedProperty types that's not in WebCore namespace.
113         * bindings/scripts/CodeGeneratorV8.pm: Use AvoidInclusionOfType method from CodeGenerator.pm, remove special SVGNumber handling, that's obsolete now.
114         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
115         (WebCore::extractFloatValuesFromSVGNumberList): Adapt to SVGNumberList change, which is a plain Vector<float> now.
116         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedNumber/SVGAnimatedNumberList handling.
117         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
118         * svg/SVGAnimatedNumber.h: Added.
119         * svg/SVGAnimatedNumber.idl: Enable StrictTypeChecking.
120         * svg/SVGAnimatedNumberList.h: Added.
121         * svg/SVGAnimatedNumberList.idl: Ditto.
122         * svg/SVGComponentTransferFunctionElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
123         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
124         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
125         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
126         * svg/SVGComponentTransferFunctionElement.h:
127         * svg/SVGFEColorMatrixElement.cpp: Ditto.
128         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
129         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
130         (WebCore::SVGFEColorMatrixElement::build):
131         * svg/SVGFEColorMatrixElement.h:
132         * svg/SVGFECompositeElement.h: Ditto.
133         * svg/SVGFEConvolveMatrixElement.cpp: Ditto.
134         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
135         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier): Added, replacing char[] hack by a static atomic string.
136         (WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier): Ditto.
137         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
138         (WebCore::SVGFEConvolveMatrixElement::build):
139         * svg/SVGFEConvolveMatrixElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
140         * svg/SVGFEDiffuseLightingElement.cpp: Ditto.
141         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
142         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
143         * svg/SVGFEDiffuseLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
144         * svg/SVGFEDisplacementMapElement.h: Ditto.
145         * svg/SVGFEGaussianBlurElement.cpp: Ditto.
146         (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Remove trailing whitespace.
147         (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
148         * svg/SVGFEGaussianBlurElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
149         * svg/SVGFELightElement.h: Ditto.
150         * svg/SVGFEMorphologyElement.cpp:
151         (WebCore::SVGFEMorphologyElement::radiusXIdentifier): Added, replacing char[] hack by a static atomic string.
152         (WebCore::SVGFEMorphologyElement::radiusYIdentifier): Ditto.
153         * svg/SVGFEMorphologyElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
154         * svg/SVGFEOffsetElement.h: Ditto.
155         * svg/SVGFESpecularLightingElement.cpp:
156         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Remove trailing whitespace.
157         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
158         * svg/SVGFESpecularLightingElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
159         * svg/SVGFETurbulenceElement.cpp:
160         (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Remove trailing whitespace.
161         (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
162         * svg/SVGFETurbulenceElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
163         * svg/SVGFilterElement.cpp:
164         (WebCore::SVGFilterElement::filterResXIdentifier): Remove trailing whitespace.
165         (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
166         * svg/SVGLengthList.idl: Remove leftover [SVGListProperty] marker.
167         * svg/SVGMarkerElement.cpp:
168         (WebCore::SVGMarkerElement::orientTypeIdentifier): Remove trailing whitespace.
169         (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
170         * svg/SVGNumber.idl: Remove [PODType] marker, add StrictTypeChecking.
171         * svg/SVGNumberList.cpp: Convert from SVGPODList<RefPtr<SVGPODListItem<float> > > to plain Vector<float>, just like it has been done for SVGLengthList before.
172         (WebCore::SVGNumberList::parse):
173         (WebCore::SVGNumberList::valueAsString):
174         * svg/SVGNumberList.h:
175         (WebCore::SVGNumberList::SVGNumberList):
176         * svg/SVGPathElement.h: Switch animated float properties to the new SVGAnimatedNumber(List).
177         * svg/SVGStopElement.h: Ditto.
178         * svg/SVGTextPositioningElement.cpp: Switch animated float properties to the new SVGAnimatedNumber(List).
179         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
180         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
181         * svg/SVGTextPositioningElement.h: Ditto.
182         * svg/properties/SVGPropertyTraits.h: Add SVGNumberList handling.
183
184 2010-10-29  Daniel Bates  <dbates@rim.com>
185
186         No review, rolling out 70971.
187         http://trac.webkit.org/changeset/70971
188         https://bugs.webkit.org/show_bug.cgi?id=6751
189
190         Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
191         it caused layout test failures on all bots. In particular, the
192         child count in a generated frame name differs after this patch. We need
193         to look into this further.
194
195         Test: fast/frames/iframe-set-inner-html.html
196
197         * html/HTMLFrameElementBase.cpp:
198         (WebCore::HTMLFrameElementBase::openURL):
199         (WebCore::HTMLFrameElementBase::setName):
200         * html/HTMLFrameElementBase.h:
201         * loader/DocumentLoader.cpp:
202         (WebCore::DocumentLoader::mainResource):
203         * loader/FrameLoader.cpp:
204         (WebCore::FrameLoader::loadURLIntoChildFrame):
205         (WebCore::FrameLoader::commitProvisionalLoad):
206         * loader/HistoryController.cpp:
207         (WebCore::HistoryController::saveDocumentState):
208         (WebCore::HistoryController::restoreDocumentState):
209         (WebCore::HistoryController::createItem):
210         (WebCore::HistoryController::currentFramesMatchItem):
211         * loader/ProgressTracker.cpp:
212         (WebCore::ProgressTracker::progressStarted):
213         (WebCore::ProgressTracker::progressCompleted):
214         * loader/archive/cf/LegacyWebArchive.cpp:
215         (WebCore::LegacyWebArchive::create):
216         * page/FrameTree.cpp:
217         (WebCore::FrameTree::setName):
218         (WebCore::FrameTree::clearName):
219         (WebCore::FrameTree::uniqueChildName):
220         (WebCore::FrameTree::child):
221         (WebCore::FrameTree::find):
222         * page/FrameTree.h:
223         (WebCore::FrameTree::name):
224
225 2010-10-28  Antonio Gomes  <agomes@rim.com>
226
227         Reviewed by Ojan Vafai.
228
229         Needs a "LinuxEditingBehavior", perhaps with a better name
230         https://bugs.webkit.org/show_bug.cgi?id=36627
231
232         Added EditingUnixBehavior editing type aim to cover the cases when
233         neither Mac or Windows behaviors are appropriated.
234
235         It was decided to name it Unix not Linux.
236
237         No new tests. The current editing tests that involve platform specific
238         bahaviors are coded so that they go through all editing behavior
239         types possible. There will be a follow up bug where all of them will
240         be updated to include the new editing behavior ("unix").
241
242         * editing/EditingBehaviorTypes.h:
243         * page/Settings.cpp:
244         (WebCore::editingBehaviorTypeForPlatform):
245         (WebCore::Settings::Settings):
246
247 2010-10-29  Daniel Bates  <dbates@rim.com>
248
249         Reviewed by Adam Barth.
250
251         For unnamed frames, window.name returns a generated name
252         https://bugs.webkit.org/show_bug.cgi?id=6751
253
254         Fixes an issue where the window.name of an unnamed frame returns
255         a unique generated name that is used internally to identify the
256         frame. Instead, we should return an empty string as implied by
257         section 5.1.6 of the HTML5 spec. (http://www.w3.org/TR/html5/browsers.html#browsing-context-names).
258         This section describes that a browsing context can have no name or be
259         the empty string.
260
261         * html/HTMLFrameElementBase.cpp:
262         (WebCore::HTMLFrameElementBase::openURL): Removed ASSERT for empty
263         frame name since this is valid as per the HTML5 spec.
264         (WebCore::HTMLFrameElementBase::setName): Removed the call to FrameTree::uniqueChildName()
265         since the loader code no longer depends on the frame name being unique.
266         * html/HTMLFrameElementBase.h:
267         * loader/DocumentLoader.cpp:
268         (WebCore::DocumentLoader::mainResource): Use FrameTree::uniqueName().
269         * loader/FrameLoader.cpp:
270         (WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
271         (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
272         * loader/HistoryController.cpp:
273         (WebCore::HistoryController::saveDocumentState): Ditto.
274         (WebCore::HistoryController::restoreDocumentState): Ditto.
275         (WebCore::HistoryController::createItem):
276         (WebCore::HistoryController::currentFramesMatchItem): Ditto.
277         * loader/ProgressTracker.cpp:
278         (WebCore::ProgressTracker::progressStarted): Ditto.
279         (WebCore::ProgressTracker::progressCompleted): Ditto.
280         * loader/archive/cf/LegacyWebArchive.cpp:
281         (WebCore::LegacyWebArchive::create): Ditto.
282         * page/FrameTree.cpp:
283         (WebCore::FrameTree::setName): Modified to store the DOM-specified
284         name of the frame.
285         (WebCore::FrameTree::clearName):
286         (WebCore::FrameTree::uniqueChildName): Use FrameTree::uniqueName().
287         (WebCore::FrameTree::child): Ditto.
288         (WebCore::FrameTree::find): Ditto.
289         * page/FrameTree.h:
290         (WebCore::FrameTree::uniqueName): Added.
291
292 2010-10-29  Darin Adler  <darin@apple.com>
293
294         Try to fix build.
295
296         * page/ContextMenuController.cpp: Added include of BackForwardController.h.
297         * page/DOMWindow.cpp: Ditto.
298         * page/History.cpp: Ditto.
299         * platform/ContextMenu.cpp: Ditto.
300
301 2010-10-29  Darin Adler  <darin@apple.com>
302
303         Reviewed by Sam Weinig.
304
305         More back/forward refactoring
306
307         * WebCore.exp.in: Updated.
308
309         * GNUmakefile.am: Removed BackForwardControllerClient.h.
310         * WebCore.gypi: Ditto.
311         * WebCore.pro: Ditto.
312         * WebCore.vcproj/WebCore.vcproj: Ditto.
313         * WebCore.xcodeproj/project.pbxproj: Ditto.
314
315         * history/BackForwardControllerClient.h: Removed.
316
317         * history/BackForwardController.cpp:
318         (WebCore::BackForwardController::BackForwardController):
319         Set up just m_client.
320         (WebCore::BackForwardController::~BackForwardController):
321         Removed call to backForwardControllerDestroyed.
322         (WebCore::BackForwardController::canGoBackOrForward): Added.
323         (WebCore::BackForwardController::goBackOrForward): Added.
324         (WebCore::BackForwardController::goBack): Added.
325         (WebCore::BackForwardController::goForward): Added.
326         (WebCore::BackForwardController::addItem): Added.
327         (WebCore::BackForwardController::setCurrentItem): Added.
328         (WebCore::BackForwardController::count): Added.
329         (WebCore::BackForwardController::backCount): Added.
330         (WebCore::BackForwardController::forwardCount): Added.
331         (WebCore::BackForwardController::itemAtIndex): Added.
332         (WebCore::BackForwardController::isActive): Added.
333         (WebCore::BackForwardController::close): Added.
334
335         * history/BackForwardController.h: Added functions from Page
336         and BackForwardList that should be called here instead.
337         Note that BackForwardList is to be renamed BackForwardClient soon.
338
339         * history/BackForwardList.h: Removed many now-unneeded
340         virtual functions.
341
342         * history/BackForwardListImpl.h: Moved BackForwardListClient
343         in here.
344
345         * history/PageCache.cpp:
346         (WebCore::logCanCachePageDecision): Use backForward().
347         (WebCore::PageCache::canCache): Ditto.
348
349         * loader/FrameLoader.cpp:
350         (WebCore::FrameLoader::transitionToCommitted): Removed unneeded
351         null check of backFowardList, which is never null.
352         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Use backForward.
353         (WebCore::FrameLoader::didFirstLayout): Ditto.
354         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
355         (WebCore::FrameLoader::checkDidPerformFirstNavigation): Ditto.
356         * loader/HistoryController.cpp:
357         (WebCore::HistoryController::goToItem): Ditto.
358         (WebCore::HistoryController::updateForStandardLoad): Ditto.
359         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): Ditto.
360         (WebCore::HistoryController::updateBackForwardListClippedAtTarget): Ditto.
361         (WebCore::HistoryController::pushState): Ditto.
362         * loader/NavigationScheduler.cpp:
363         (WebCore::ScheduledHistoryNavigation::fire): Ditto.
364         (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
365         * page/ContextMenuController.cpp:
366         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
367         * page/DOMWindow.cpp:
368         (WebCore::DOMWindow::close): Ditto.
369         * page/History.cpp:
370         (WebCore::History::length): Ditto.
371
372         * page/Page.cpp:
373         (WebCore::Page::Page): Use more adoptPtr. Use backForwardClient instead of
374         backForwardControllerClient.
375         (WebCore::Page::~Page): Use backForward.
376         (WebCore::Page::backForwardList): Ditto.
377         (WebCore::Page::goBack): Ditto.
378         (WebCore::Page::goForward): Ditto.
379         (WebCore::Page::canGoBackOrForward): Ditto.
380         (WebCore::Page::goBackOrForward): Ditto.
381         (WebCore::Page::getHistoryLength): Ditto.
382         (WebCore::Page::PageClients::PageClients): Made non-inline.
383         (WebCore::Page::PageClients::~PageClients): Ditto.
384
385         * page/Page.h: Made PageClients constructor and destructor non-inline.
386         Added backForward function. Marked old functions as deprecated.
387
388         * page/Settings.cpp:
389         (WebCore::Settings::setUsesPageCache): Use backForward.
390         * platform/ContextMenu.cpp:
391         (WebCore::ContextMenu::populate): Ditto.
392         (WebCore::ContextMenu::checkOrEnableIfNeeded): Ditto.
393         * wml/WMLDoElement.cpp:
394         (WebCore::WMLDoElement::defaultEventHandler): Ditto.
395         * wml/WMLDocument.cpp:
396         (WebCore::WMLDocument::finishedParsing): Ditto.
397         * wml/WMLPageState.cpp:
398         (WebCore::WMLPageState::reset): Ditto.
399         (WebCore::tryAccessHistoryURLs): Ditto.
400         * wml/WMLPrevElement.cpp:
401         (WebCore::WMLPrevElement::executeTask): Ditto.
402
403 2010-10-29  David Hyatt  <hyatt@apple.com>
404
405         Reviewed by Sam Weinig.
406
407         https://bugs.webkit.org/show_bug.cgi?id=48663
408
409         Make repaint invalidation work with vertical lines.  Rewrite linesBoundingBox for RenderText and
410         RenderInline to give the correct rectangle back for vertical lines.  Also patch linesVisibleOverflowBoundingBox
411         to give back the correct rectangle for vertical lines.
412         
413         Fix bugs in the overflow accessors of InlineFlowBox when m_overflow was 0.
414
415         Added fast/repaint/inline-vertical-lr-overflow.html
416
417         * rendering/InlineBox.cpp:
418         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
419         * rendering/InlineFlowBox.h:
420         (WebCore::InlineFlowBox::logicalLeftVisibleOverflow):
421         (WebCore::InlineFlowBox::logicalRightVisibleOverflow):
422         (WebCore::InlineFlowBox::bottomLayoutOverflow):
423         (WebCore::InlineFlowBox::rightLayoutOverflow):
424         (WebCore::InlineFlowBox::bottomVisualOverflow):
425         (WebCore::InlineFlowBox::rightVisualOverflow):
426         * rendering/RenderBox.cpp:
427         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
428         * rendering/RenderBox.h:
429         * rendering/RenderInline.cpp:
430         (WebCore::RenderInline::linesBoundingBox):
431         (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
432         (WebCore::RenderInline::clippedOverflowRectForRepaint):
433         * rendering/RenderText.cpp:
434         (WebCore::RenderText::linesBoundingBox):
435
436 2010-10-29  Mike Lawther  <mikelawther@chromium.org>
437
438         Reviewed by James Robinson.
439
440         Fix canvas/philip/tests/2d.imageData.get.source.negative
441         https://bugs.webkit.org/show_bug.cgi?id=48277
442
443         Handle negative width/height.
444         See http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
445
446         * html/canvas/CanvasRenderingContext2D.cpp:
447         (WebCore::CanvasRenderingContext2D::getImageData):
448
449 2010-10-29  Kavita Kanetkar  <kkanetkar@chromium.org>
450
451         Reviewed by Pavel Feldman.
452
453         Web Inspector: FileSystem integration
454         https://bugs.webkit.org/show_bug.cgi?id=45982
455
456         Adding filesystem support for Inspector under storage tab. This fetches root paths for
457         temporary and persistent filesystems and allows "reveal folder in OS" option that
458         launches native file browser. Currently this feature is disabled for non-chromium platforms.
459
460         * CMakeLists.txt:
461         * English.lproj/localizedStrings.js:
462         * GNUmakefile.am:
463         * WebCore.gypi:
464         * WebCore.pro:
465         * WebCore.vcproj/WebCore.vcproj:
466         * inspector/CodeGeneratorInspector.pm:
467         * inspector/Inspector.idl:
468         * inspector/InspectorController.cpp:
469         (WebCore::InspectorController::connectFrontend):
470         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
471         * inspector/InspectorController.h:
472         (WebCore::InspectorController::fileSystemAgent):
473         * inspector/InspectorFileSystemAgent.cpp: Added.
474         * inspector/InspectorFileSystemAgent.h: Added.
475         * inspector/front-end/FileSystemView.js: Added.
476         * inspector/front-end/Settings.js:
477         * inspector/front-end/StoragePanel.js:
478         (WebInspector.StoragePanel):
479         (WebInspector.StoragePanel.prototype.reset):
480         (WebInspector.StoragePanel.prototype.addFileSystem):
481         (WebInspector.StoragePanel.prototype.showFileSystem):
482         (WebInspector.StoragePanel.prototype.updateFileSystemPath):
483         (WebInspector.StoragePanel.prototype.updateFileSystemError):
484         (WebInspector.FileSystemTreeElement):
485         (WebInspector.FileSystemTreeElement.prototype.onselect):
486         * inspector/front-end/WebKit.qrc:
487         * inspector/front-end/inspector.css:
488         (.file-system-storage-tree-item .icon):
489         * inspector/front-end/inspector.html:
490         * inspector/front-end/inspector.js:
491         (WebInspector.updateResource):
492         (WebInspector._addFileSystemOrigin):
493         (WebInspector.didGetFileSystemPath):
494         (WebInspector.didGetFileSystemError):
495         (WebInspector.reset):
496         * platform/AsyncFileSystem.h:
497         (WebCore::AsyncFileSystem::root):
498         * platform/FileSystem.h:
499         * platform/chromium/ChromiumBridge.h:
500         * platform/chromium/FileSystemChromium.cpp:
501         (WebCore::revealFolderInOS):
502
503 2010-10-29  Ryosuke Niwa  <rniwa@webkit.org>
504
505         Reviewed by Darin Adler.
506
507         Remove RenderTextControl::setSelectionRange
508         https://bugs.webkit.org/show_bug.cgi?id=47870
509
510         Made RenderTextControl::setSelectionRange a global function.
511         Removed setSelectionStart, setSelectionEnd, and select from RenderTextControl.
512
513         No new tests are added since there is no behavioral change.
514
515         * accessibility/AccessibilityRenderObject.cpp:
516         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Calls setSelectedTextRange.
517         * dom/InputElement.cpp:
518         (WebCore::InputElement::updateSelectionRange): Ditto.
519         * html/HTMLFormControlElement.cpp:
520         (WebCore::HTMLTextFormControlElement::setSelectionStart): Ditto.
521         (WebCore::HTMLTextFormControlElement::setSelectionEnd): Ditto.
522         (WebCore::HTMLTextFormControlElement::select): Ditto.
523         (WebCore::HTMLTextFormControlElement::setSelectionRange): Ditto.
524         * rendering/RenderTextControl.cpp:
525         (WebCore::RenderTextControl::hasVisibleTextArea): Added.
526         (WebCore::setSelectionRange): See above.
527         * rendering/RenderTextControl.h:
528
529 2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
530
531         Reviewed by Andreas Kling.
532
533         [GTK] Crash in TextEncoding.cpp when using glib unicode
534         https://bugs.webkit.org/show_bug.cgi?id=48521
535
536         When the conversion to UTF-8 fails, try to encode the original string
537         without normalizing. Fixes tests cases:
538          fast/url/anchor.html
539          fast/url/query.html
540          fast/url/standard-url.html
541
542         * platform/text/TextEncoding.cpp:
543         (WebCore::TextEncoding::encode):
544
545 2010-10-29  Benjamin Poulain  <benjamin.poulain@nokia.com>
546
547         Reviewed by Antonio Gomes.
548
549         TextureMapperGL get the driver info log but do not use it
550         https://bugs.webkit.org/show_bug.cgi?id=48247
551
552         Remove the call to glGetProgramInfoLog().
553
554         * platform/graphics/opengl/TextureMapperGL.cpp:
555         (WebCore::TexmapShaderInfo::createShaderProgram):
556
557 2010-10-29  Benjamin Kalman  <kalman@google.com>
558
559         Reviewed by Tony Chang.
560
561         Deleting contenteditable text to the left of a non-contenteditable span inserts unnecessary placeholder <br/>
562         https://bugs.webkit.org/show_bug.cgi?id=48658
563
564         * WebCore.exp.in: Update is{Start,End}OfParagraph symbols.
565         * editing/DeleteSelectionCommand.cpp:
566         (WebCore::DeleteSelectionCommand::doApply): Cross editability boundaries when determining whether to insert placeholder.
567         * editing/visible_units.cpp: Allow editability boundary to be crossed in {start,end,isStart,isEnd}OfParagraph.
568         (WebCore::startOfParagraph): Also, avoid returning a position where renderer can't accept caret, like in endOfParagraph.
569         (WebCore::endOfParagraph):
570         (WebCore::isStartOfParagraph):
571         (WebCore::isEndOfParagraph):
572         * editing/visible_units.h: Ditto.
573
574 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
575
576         Reviewed by Timothy Hatcher.
577
578         Web Inspector: last active panel is not restored upon opening inspector.
579         https://bugs.webkit.org/show_bug.cgi?id=48668
580
581         * inspector/Inspector.idl:
582         * inspector/InspectorController.cpp:
583         (WebCore::InspectorController::InspectorController):
584         (WebCore::InspectorController::inspect):
585         (WebCore::InspectorController::showPanel):
586         (WebCore::InspectorController::disconnectFrontend):
587         (WebCore::InspectorController::populateScriptObjects):
588         * inspector/InspectorController.h:
589         * inspector/InspectorState.cpp:
590         (WebCore::InspectorState::InspectorState):
591         * inspector/front-end/Settings.js:
592         (WebInspector.Settings):
593         * inspector/front-end/inspector.js:
594         (WebInspector.set currentPanel):
595         (WebInspector.doLoadedDone.onPopulateScriptObjects):
596         (WebInspector.doLoadedDone):
597         (WebInspector.documentClick.followLink):
598         (WebInspector.documentClick):
599
600 2010-10-28  Michael Nordman  <michaeln@google.com>
601
602         Reviewed by ap.
603
604         [Chrome] Fix an appcache regression introduced in r69226
605         https://bugs.webkit.org/show_bug.cgi?id=48592
606         Define a new ApplicationCacheHost method for the specific case of main resource redirect handling.
607
608         Tests: the existing layout test applies
609
610         * loader/MainResourceLoader.cpp: use the newly introduced method
611         (WebCore::MainResourceLoader::willSendRequest):
612         * loader/appcache/ApplicationCacheHost.cpp:
613         (WebCore::ApplicationCacheHost::maybeLoadMainResourceForRedirect):
614         * loader/appcache/ApplicationCacheHost.h:
615
616 2010-10-29  Eric Carlson  <eric.carlson@apple.com>
617
618         Reviewed by Adam Roben.
619
620         Navigating to a .wav file creates a plugin document but should create a media document
621         https://bugs.webkit.org/show_bug.cgi?id=48546
622         <rdar://problem/8606105>
623
624         Test: media/media-can-play-wav-audio.html
625
626         * platform/MIMETypeRegistry.cpp: Add mapping from ".wav" to "audio/x-wav".
627
628 2010-10-29  Aaron Colwell  <acolwell@chromium.org>
629
630         Reviewed by James Robinson.
631
632         Created helper method WebCore::PlatformContextSkia::getNormalizedAlpha()
633         to centralize alpha rounding & clipping logic. 
634         https://bugs.webkit.org/show_bug.cgi?id=48094
635
636         Test: media/video-canvas-alpha.html
637
638         * platform/graphics/skia/ImageSkia.cpp:
639         (WebCore::paintSkBitmap):
640         * platform/graphics/skia/PlatformContextSkia.cpp:
641         (WebCore::PlatformContextSkia::getNormalizedAlpha):
642         * platform/graphics/skia/PlatformContextSkia.h:
643
644 2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
645
646         Reviewed by Dirk Schulze.
647
648         ASSERT when SVGAnimatedProperty instance is assigned to multiple elements.
649         https://bugs.webkit.org/show_bug.cgi?id=48555
650
651         Test: svg/custom/insertItemBefore-from-non-list-origin.svg
652
653         * bindings/scripts/CodeGeneratorJS.pm: Include SVGAnimatedPropertyTearOff.h instead of SVGPropertyTearOff.h
654         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
655         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
656         * svg/properties/SVGAnimatedListPropertyTearOff.h:
657         (WebCore::SVGAnimatedListPropertyTearOff::isAnimatedListTearOff): Return true.
658         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList): Devirtualize function.
659         * svg/properties/SVGAnimatedProperty.h:
660         (WebCore::SVGAnimatedProperty::isAnimatedListTearOff): Return false.
661         * svg/properties/SVGListPropertyTearOff.h:
662         (WebCore::SVGListPropertyTearOff::removeItemFromListIfNeeded): Only try to remove the passed item from its list, if its actually a list and not just a SVGAnimatedProperty.
663
664 2010-10-29  David Hyatt  <hyatt@apple.com>
665
666         Reviewed by Adam Roben.
667
668         https://bugs.webkit.org/show_bug.cgi?id=48444
669
670         Fix the dirty rect checks in RenderBoxLineList, InlineFlowBox, InlineTextBox.  They were still assuming horizontal-tb writing-mode.
671         This patch makes the checks directionally abstract and also refactors the checks in RenderLineBoxList to share code. 
672
673         No tests yet, since the invalidation code for inlines still assumes horizontal-tb.  That will be fixed in a follow-up bug,
674         and then repaint tests will be easy to write.
675
676         * rendering/InlineBox.cpp:
677         (WebCore::InlineBox::adjustForFlippedBlocksWritingMode):
678         * rendering/InlineBox.h:
679         * rendering/InlineFlowBox.cpp:
680         (WebCore::InlineFlowBox::paint):
681         * rendering/InlineTextBox.cpp:
682         (WebCore::InlineTextBox::paint):
683         * rendering/RenderBox.cpp:
684         (WebCore::RenderBox::convertFromFlippedWritingMode):
685         * rendering/RenderBox.h:
686         * rendering/RenderLineBoxList.cpp:
687         (WebCore::RenderLineBoxList::rangeIntersectsDirtyRect):
688         (WebCore::RenderLineBoxList::anyLineIntersectsDirtyRect):
689         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
690         (WebCore::RenderLineBoxList::paint):
691         (WebCore::RenderLineBoxList::hitTest):
692         * rendering/RenderLineBoxList.h:
693
694 2010-10-29  Patrick Gansterer  <paroga@webkit.org>
695
696         Reviewed by Adam Roben.
697
698         Cleanup createGlobalImageFileDescriptor in ClipboardWin
699         https://bugs.webkit.org/show_bug.cgi?id=48189
700
701         * platform/win/ClipboardWin.cpp:
702         (WebCore::createGlobalURLContent):
703         (WebCore::createGlobalUrlFileDescriptor):
704         (WebCore::ClipboardWin::writeURL):
705
706 2010-10-29  Dmitry Titov  <dimich@chromium.org>
707
708         [Chromium clang] Unreviewed fix removing compiler warning.
709         If GIFImageReader is a struct, don't call it a class.
710
711         * platform/image-decoders/gif/GIFImageDecoder.h:
712
713 2010-10-29  Alexey Proskuryakov  <ap@apple.com>
714
715         Fix the world (d'oh!)
716
717         https://bugs.webkit.org/show_bug.cgi?id=48576
718         Let WebKit2 client know when a frame is a frameset
719
720         * html/HTMLFrameSetElement.cpp:
721         (WebCore::HTMLFrameSetElement::insertedIntoDocument):
722         (WebCore::HTMLFrameSetElement::removedFromDocument):
723         Call base class version.
724
725 2010-10-29  Jian Li  <jianli@chromium.org>
726
727         Unreviewed. Fix chromium build break.
728
729         * bindings/v8/custom/V8FileReaderCustom.cpp:
730         (WebCore::V8FileReader::resultAccessorGetter):
731
732 2010-10-29  Jian Li  <jianli@chromium.org>
733
734         Reviewed by David Levin.
735
736         Support readAsArrayBuffer in FileReader and FileReaderSync
737         https://bugs.webkit.org/show_bug.cgi?id=47691
738
739         Merge the similar code in FileReader and FileReaderSync into
740         FileReaderLoader.
741
742         Test cases have been added to read-file-test-cases.js.
743
744         * Android.jscbindings.mk:
745         * CMakeLists.txt:
746         * GNUmakefile.am:
747         * WebCore.gypi:
748         * WebCore.pro:
749         * WebCore.vcproj/WebCore.vcproj:
750         * WebCore.xcodeproj/project.pbxproj:
751         * bindings/v8/custom/V8FileReaderCustom.cpp: Added.
752         * fileapi/FileReader.cpp:
753         (WebCore::FileReader::FileReader):
754         (WebCore::FileReader::readAsArrayBuffer):
755         (WebCore::FileReader::readAsBinaryString):
756         (WebCore::FileReader::readAsText):
757         (WebCore::FileReader::readAsDataURL):
758         (WebCore::FileReader::readInternal):
759         (WebCore::FileReader::doAbort):
760         (WebCore::FileReader::terminate):
761         (WebCore::FileReader::start):
762         (WebCore::FileReader::didStartLoading):
763         (WebCore::FileReader::didReceiveData):
764         (WebCore::FileReader::didFinishLoading):
765         (WebCore::FileReader::didFail):
766         (WebCore::FileReader::fireEvent):
767         (WebCore::FileReader::arrayBufferResult):
768         (WebCore::FileReader::stringResult):
769         * fileapi/FileReader.h:
770         (WebCore::FileReader::readType):
771         * fileapi/FileReader.idl:
772         * fileapi/FileReaderLoader.cpp: Added.
773         * fileapi/FileReaderLoader.h: Added.
774         * fileapi/FileReaderLoaderClient.h: Added.
775         * fileapi/FileReaderSync.cpp:
776         (WebCore::FileReaderSync::FileReaderSync):
777         (WebCore::FileReaderSync::readAsArrayBuffer):
778         (WebCore::FileReaderSync::readAsBinaryString):
779         (WebCore::FileReaderSync::readAsText):
780         (WebCore::FileReaderSync::readAsDataURL):
781         (WebCore::FileReaderSync::startLoading):
782         * fileapi/FileReaderSync.h:
783         * fileapi/FileReaderSync.idl:
784         * html/canvas/ArrayBuffer.cpp:
785         (WebCore::ArrayBuffer::create):
786         * html/canvas/ArrayBuffer.h:
787         * loader/ThreadableLoaderClient.h:
788
789 2010-10-29  Tony Chang  <tony@chromium.org>
790
791         Unreviewed, rolling out r70850.
792         http://trac.webkit.org/changeset/70850
793         https://bugs.webkit.org/show_bug.cgi?id=45640
794
795         chromium and qt pixel test regressions
796
797         * dom/Document.cpp:
798         * dom/Document.h:
799         * page/FrameView.cpp:
800         (WebCore::FrameView::invalidateRect):
801         (WebCore::FrameView::repaintContentRectangle):
802         (WebCore::FrameView::doDeferredRepaints):
803         * page/FrameView.h:
804         * rendering/RenderBlock.cpp:
805         (WebCore::RenderBlock::paintContents):
806         * rendering/RenderLayer.cpp:
807         (WebCore::RenderLayer::paintLayer):
808
809 2010-10-29  Alexey Proskuryakov  <ap@apple.com>
810
811         Reviewed by Darin Adler.
812
813         https://bugs.webkit.org/show_bug.cgi?id=48576
814         Let WebKit2 client know when a frame is a frameset
815
816         This can change in two cases, when document changes, and when frame is navigated to another
817         document.
818
819         * dom/Document.cpp: (WebCore::Document::documentDidBecomeActive): Update the client when
820         a document is restored from page cache.
821
822         * loader/FrameLoaderClient.h: Added a new client call to notify client.
823
824         * html/HTMLFrameSetElement.h:
825         * html/HTMLFrameSetElement.cpp:
826         (WebCore::HTMLFrameSetElement::insertedIntoDocument):
827         (WebCore::HTMLFrameSetElement::removedFromDocument):
828         Update the client when document changes, potentially becoming a frameset. Per WebCore
829         definition, a document is a frameset when it has a FRAMESET element as direct child of
830         document element (it may also have body elements).
831
832         * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::dispatchDidBecomeFrameset):
833         Added an empty implementation.
834
835 2010-10-29  Csaba Osztrogonác  <ossy@webkit.org>
836
837         Unreviewed fix. Touch WebCorePrefix.h to fix incremental build failure after r70878.
838
839         * WebCorePrefix.h:
840
841 2010-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
842
843         Reviewed by Martin Robinson.
844
845         [GTK] Handle surrogate pairs in TextBreakIteratorGtk
846         https://bugs.webkit.org/show_bug.cgi?id=48227
847
848         TextBreakIteratorGtk uses UTF-8 because it's what pango expects, but we
849         need to return indices for the given input string that are in UTF-16.
850         The number of characters is the same for both UTF-16 and UTF-8 except when
851         the input string contains surrogate pairs. We need to keep both, the
852         index for the UTF-8 string to be used internally, and the index for the
853         UTF-16 string to be used as return value of the iterator interface. It
854         fixes test fast/forms/textarea-maxlength.html
855
856         * platform/text/gtk/TextBreakIteratorGtk.cpp:
857         (WebCore::CharacterIterator::getText):
858         (WebCore::CharacterIterator::getLength):
859         (WebCore::CharacterIterator::getSize):
860         (WebCore::CharacterIterator::getIndex):
861         (WebCore::CharacterIterator::getUTF16Index):
862         (WebCore::CharacterIterator::getUTF16Length):
863         (WebCore::CharacterIterator::characterSize):
864         (WebCore::CharacterIterator::setText):
865         (WebCore::CharacterIterator::setIndex):
866         (WebCore::CharacterIterator::setUTF16Index):
867         (WebCore::CharacterIterator::first):
868         (WebCore::CharacterIterator::last):
869         (WebCore::CharacterIterator::next):
870         (WebCore::CharacterIterator::previous):
871         (WebCore::setUpIterator):
872         (WebCore::textBreakFirst):
873         (WebCore::textBreakLast):
874         (WebCore::textBreakNext):
875         (WebCore::textBreakPrevious):
876         (WebCore::textBreakPreceding):
877         (WebCore::textBreakFollowing):
878         (WebCore::textBreakCurrent):
879         (WebCore::isTextBreak):
880
881 2010-10-29  Alexander Pavlov  <apavlov@chromium.org>
882
883         Reviewed by Pavel Feldman.
884
885         Web Inspector: [REGRESSION] Addition of a new (blank) style property does not work
886         https://bugs.webkit.org/show_bug.cgi?id=48631
887
888         Test: inspector/styles-add-blank-property.html
889
890         * inspector/front-end/StylesSidebarPane.js:
891         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
892         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
893
894 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
895
896         Reviewed by Timothy Hatcher.
897
898         Web Inspector: add close button to network view, make tests pass for
899         resource manager on all ports.
900         https://bugs.webkit.org/show_bug.cgi?id=48628
901
902         * inspector/InspectorController.cpp:
903         (WebCore::InspectorController::didCommitLoad):
904         (WebCore::InspectorController::frameDetachedFromParent):
905         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
906         (WebCore::InspectorController::identifierForInitialRequest):
907         (WebCore::InspectorController::willSendRequest):
908         (WebCore::InspectorController::markResourceAsCached):
909         (WebCore::InspectorController::didReceiveResponse):
910         (WebCore::InspectorController::didReceiveContentLength):
911         (WebCore::InspectorController::didFinishLoading):
912         (WebCore::InspectorController::didFailLoading):
913         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
914         (WebCore::InspectorController::scriptImported):
915         (WebCore::InspectorController::didCreateWebSocket):
916         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
917         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
918         (WebCore::InspectorController::didCloseWebSocket):
919         * inspector/front-end/NetworkPanel.js:
920         (WebInspector.NetworkPanel):
921         * inspector/front-end/ResourceManager.js:
922         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
923         * inspector/front-end/StoragePanel.js:
924         (WebInspector.StoragePanel.prototype.addResourceToFrame):
925         * inspector/front-end/inspector.js:
926         (WebInspector._createPanels):
927         * inspector/front-end/networkPanel.css:
928         (.network-close-button):
929
930 2010-10-29  Nikolas Zimmermann  <nzimmermann@rim.com>
931
932         Reviewed by Dirk Schulze.
933
934         Convert SVGAnimatedEnumeration/Integer to the new SVGAnimatedPropertyTearOff concept
935         https://bugs.webkit.org/show_bug.cgi?id=48623
936
937         Besides converting SVGAnimatedEnumeration/Integer to the new animated property tear off concept, fix support
938         for multiple wrappers within the new concept, which was broken - covered by existing svg/dynamic-updates/ tests.
939
940         Replace all 'extern char[]' usage when using the multiple wrappers macro, by static AtomicStrings.
941
942         * GNUmakefile.am: Add SVGAnimatedEnumeration.h / SVGAnimatedInteger.h to build.
943         * WebCore.gypi: Ditto.
944         * WebCore.pro: Ditto.
945         * WebCore.vcproj/WebCore.vcproj: Ditto.
946         * WebCore.xcodeproj/project.pbxproj: Ditto.
947         * bindings/scripts/CodeGenerator.pm: Recognize SVGAnimatedEnumeration / SVGAnimatedInteger as animated types using the new concept.
948         * bindings/scripts/CodeGeneratorObjC.pm: Touched, to force regenerating ObjC bindings, dependency tracking is obviously broken.
949         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedBoolean/Enumeration/Integer handling.
950         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
951         * svg/SVGAnimatedEnumeration.h: Added.
952         * svg/SVGAnimatedEnumeration.idl:
953         * svg/SVGAnimatedInteger.h: Added.
954         * svg/SVGClipPathElement.h: Adapted all code to create new style animated property tear offs for long & int types.
955         * svg/SVGComponentTransferFunctionElement.h:
956         * svg/SVGFEBlendElement.h:
957         * svg/SVGFEColorMatrixElement.h:
958         * svg/SVGFECompositeElement.h:
959         * svg/SVGFEConvolveMatrixElement.h:
960         * svg/SVGFEDiffuseLightingElement.cpp:
961         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier): Replaced extern[] char hack using a static AtomicString.
962         (WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier): Ditto.
963         * svg/SVGFEDiffuseLightingElement.h:
964         * svg/SVGFEDisplacementMapElement.h:
965         * svg/SVGFEGaussianBlurElement.cpp:
966         (WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier): Ditto.
967         (WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier): Ditto.
968         * svg/SVGFEGaussianBlurElement.h:
969         * svg/SVGFEMorphologyElement.h:
970         * svg/SVGFESpecularLightingElement.cpp:
971         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier): Ditto.
972         (WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier): Ditto.
973         * svg/SVGFESpecularLightingElement.h:
974         * svg/SVGFETurbulenceElement.cpp:
975         (WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier): Ditto.
976         (WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier): Ditto.
977         * svg/SVGFETurbulenceElement.h:
978         * svg/SVGFilterElement.cpp:
979         (WebCore::SVGFilterElement::filterResXIdentifier): Ditto.
980         (WebCore::SVGFilterElement::filterResYIdentifier): Ditto.
981         * svg/SVGFilterElement.h:
982         * svg/SVGGradientElement.h:
983         * svg/SVGMarkerElement.cpp:
984         (WebCore::SVGMarkerElement::orientTypeIdentifier): Ditto.
985         (WebCore::SVGMarkerElement::orientAngleIdentifier): Ditto.
986         * svg/SVGMarkerElement.h:
987         * svg/SVGMaskElement.h:
988         * svg/SVGPatternElement.h:
989         * svg/SVGTextContentElement.h:
990         * svg/SVGTextPathElement.h:
991         * svg/properties/SVGAnimatedPropertyMacros.h: Add new macro for multiple wrappers using static properties.
992
993 2010-10-29  Andreas Kling  <kling@webkit.org>
994
995         Reviewed by Kenneth Rohde Christiansen.
996
997         [Qt] Make GraphicsContext cheaper to construct
998         https://bugs.webkit.org/show_bug.cgi?id=48626
999
1000         Do less unnecessary things when creating the Qt GraphicsContext:
1001         - Don't create a black QBrush that's immediately discarded.
1002         - Don't call setPlatform*(), set the painter brush and pen directly.
1003         - Call setRenderHints() once instead of multiple setRenderHint().
1004
1005         * platform/graphics/qt/GraphicsContextQt.cpp:
1006         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1007         (WebCore::GraphicsContext::GraphicsContext):
1008
1009 2010-10-29  Andreas Kling  <kling@webkit.org>
1010
1011         Reviewed by Simon Hausmann.
1012
1013         [Qt] GraphicsLayer: Don't notifySyncRequired() more than necessary
1014         https://bugs.webkit.org/show_bug.cgi?id=48624
1015
1016         Don't queue multiple meta method invocations for notifySyncRequired()
1017
1018         4% speedup on <http://ariya.github.com/clock.htm>
1019
1020         * platform/graphics/qt/GraphicsLayerQt.cpp:
1021         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1022         (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
1023         (WebCore::GraphicsLayerQtImpl::notifyChange):
1024
1025 2010-10-29  Zhenyao Mo  <zmo@google.com>
1026
1027         Reviewed by Chris Marrin.
1028
1029         drawArrays/drawElements with first/offset out of range but size==0 should generate no error
1030         https://bugs.webkit.org/show_bug.cgi?id=48601
1031
1032         * html/canvas/WebGLRenderingContext.cpp:
1033         (WebCore::WebGLRenderingContext::drawArrays):
1034         (WebCore::WebGLRenderingContext::drawElements):
1035
1036 2010-10-29  Leandro Gracia Gil  <leandrogracia@google.com>
1037
1038         Reviewed by Jeremy Orlow.
1039
1040         Patch the current speech input implementation to use the nearest
1041         language tag. The language is now passed to the startRecognition
1042         methods so that language-specific recognition could be used. Also added
1043         a second parameter to setMockSpeechInputResult for the language used in
1044         speech recognition.
1045         https://bugs.webkit.org/show_bug.cgi?id=47089
1046
1047         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
1048         details see http://codereview.chromium.org/3615005/show,
1049         http://codereview.chromium.org/3595018/show and
1050         https://bugs.webkit.org/show_bug.cgi?id=47420.
1051
1052         Test: fast/speech/input-text-language-tag.html
1053
1054         * page/SpeechInput.cpp:
1055         (WebCore::SpeechInput::startRecognition):
1056         * page/SpeechInput.h:
1057         * page/SpeechInputClient.h:
1058         * platform/mock/SpeechInputClientMock.cpp:
1059         (WebCore::SpeechInputClientMock::startRecognition):
1060         (WebCore::SpeechInputClientMock::setRecognitionResult):
1061         (WebCore::SpeechInputClientMock::timerFired):
1062         * platform/mock/SpeechInputClientMock.h:
1063         * rendering/TextControlInnerElements.cpp:
1064         (WebCore::TextControlInnerElement::attachInnerElement):
1065         (WebCore::SearchFieldCancelButtonElement::detach):
1066         (WebCore::SpinButtonElement::defaultEventHandler):
1067         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1068         (WebCore::InputFieldSpeechButtonElement::detach):
1069
1070 2010-10-29  Mads Ager  <ager@chromium.org>
1071
1072         Reviewed by Pavel Feldman.
1073
1074         [V8] The DateExtension cannot handle overwritten Date
1075         https://bugs.webkit.org/show_bug.cgi?id=48621
1076
1077         Check that the Date property is an object before attempting to get
1078         hidden properties from it.
1079
1080         Test: fast/dom/Window/slow-unload-handler-overwritten-date.html
1081
1082         * bindings/v8/DateExtension.cpp:
1083         (WebCore::DateExtension::setAllowSleep):
1084
1085 2010-10-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1086
1087         Reviewed by Dirk Schulze.
1088
1089         Convert SVGAnimatedBoolean to the new SVGAnimatedPropertyTearOff concept
1090         https://bugs.webkit.org/show_bug.cgi?id=48469
1091
1092         Convert the next SVG animated primitive type to use the SVGAnimatedPropertyTearOff concept: SVGAnimatedBoolean.
1093         Added new test verifying that StrictTypeChecking is enabled for SVGAnimatedBooleans. It also tests that this type is "static", see LayoutTests/ChangeLog for details.
1094
1095         Add support for StrictTypeChecking for boolean types.
1096
1097         Test: svg/dom/SVGExternalResourcesRequired.html
1098
1099         * GNUmakefile.am: Add SVGAnimatedBoolean.h and SVGAnimatedStaticPropertyTearOff.h to build.
1100         * WebCore.gypi: Ditto.
1101         * WebCore.pro: Ditto.
1102         * WebCore.vcproj/WebCore.vcproj: Ditto.
1103         * WebCore.xcodeproj/project.pbxproj: Ditto.
1104         * bindings/scripts/CodeGenerator.pm: Add SVGAnimatedBoolean to the new style svg animated bindings list.
1105         * bindings/scripts/CodeGeneratorJS.pm: Add StrictTypeChecking support for boolean types.
1106         * bindings/scripts/CodeGeneratorObjC.pm: Ditto. Only generate kit() usage for new style animated types, if the wrapped type needs a tear off.
1107         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1108         * svg/DeprecatedSVGAnimatedTemplate.h: Remove SVGAnimatedBoolean handling.
1109         * svg/SVGAElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_STATIC_PROPERTY_NEW/ for boolean types everywhere. Include SVGAnimatedPropertyMacros.h where needed.
1110         * svg/SVGAnimatedBoolean.h: Added.
1111         * svg/SVGAnimatedBoolean.idl:
1112         * svg/SVGAnimationElement.h:
1113         * svg/SVGCircleElement.h:
1114         * svg/SVGClipPathElement.h:
1115         * svg/SVGCursorElement.h:
1116         * svg/SVGDefsElement.h:
1117         * svg/SVGEllipseElement.h:
1118         * svg/SVGExternalResourcesRequired.cpp:
1119         * svg/SVGExternalResourcesRequired.h:
1120         (WebCore::SVGExternalResourcesRequired::~SVGExternalResourcesRequired):
1121         * svg/SVGFEConvolveMatrixElement.h:
1122         * svg/SVGFEImageElement.h:
1123         * svg/SVGFilterElement.h:
1124         * svg/SVGFontElement.h:
1125         * svg/SVGForeignObjectElement.h:
1126         * svg/SVGGElement.h:
1127         * svg/SVGGradientElement.h:
1128         * svg/SVGImageElement.h:
1129         * svg/SVGLineElement.h:
1130         * svg/SVGMPathElement.h:
1131         * svg/SVGMarkerElement.h:
1132         * svg/SVGMaskElement.h:
1133         * svg/SVGPathElement.h:
1134         * svg/SVGPatternElement.h:
1135         * svg/SVGPolyElement.h:
1136         * svg/SVGRectElement.h:
1137         * svg/SVGSVGElement.h:
1138         * svg/SVGScriptElement.h:
1139         * svg/SVGSwitchElement.h:
1140         * svg/SVGSymbolElement.h:
1141         * svg/SVGTextContentElement.h:
1142         * svg/SVGUseElement.h:
1143         * svg/SVGViewElement.h:
1144         * svg/properties/SVGAnimatedListPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
1145         * svg/properties/SVGAnimatedProperty.h: Remove m_baseVal/m_animVal.
1146         (WebCore::SVGAnimatedProperty::commitChange): New method to share code between the SVGAnimated*PropertyTearOff classes.
1147         * svg/properties/SVGAnimatedPropertyMacros.h: Add new DECLARE_ANIMATED_STATIC_PROPERTY_NEW macro which creates SVGAnimatedStaticPropertyTearOff types.
1148         * svg/properties/SVGAnimatedPropertyTearOff.h: Moved RefPtr<SVGProperty> m_baseVal/m_animVal from SVGAnimatedProperty, as SVGAnimatedStaticPropertyTearOff doesn't need them.
1149         * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Added.
1150         (WebCore::SVGAnimatedStaticPropertyTearOff::baseVal): Directly returns the stored m_property as reference, no tear off is created.
1151         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal): Ditto.
1152         (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Directly updates the stored m_property reference, and invalidates the SVG attributes.
1153         (WebCore::SVGAnimatedStaticPropertyTearOff::setAnimVal): Not implemented.
1154         (WebCore::SVGAnimatedStaticPropertyTearOff::create):
1155         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
1156         * svg/properties/SVGListPropertyTearOff.h:
1157         (WebCore::SVGListPropertyTearOff::commitChange): Share code, use SVGAnimatedProperty::commitChange.
1158         * svg/properties/SVGPropertyTearOff.h:
1159         (WebCore::SVGPropertyTearOff::commitChange): Ditto.
1160
1161 2010-10-28  MORITA Hajime  <morrita@google.com>
1162
1163         Reviewed by Kent Tamura.
1164
1165         <meter min=0 max=100 value=100> should be optimum.
1166         https://bugs.webkit.org/show_bug.cgi?id=48613
1167
1168         Changed to make the condition inclusive for better case consistently.
1169         - Values on the border between optimum and subsequntial go optimum.
1170         - Values on the border between suboptimal and even-less-than-good go suboptimal.
1171
1172         Test: fast/dom/HTMLMeterElement/meter-boundary-values.html
1173
1174         * html/HTMLMeterElement.cpp:
1175         (WebCore::HTMLMeterElement::gaugeRegion):
1176
1177 2010-10-29  Kenichi Ishibashi  <bashi@google.com>
1178
1179         Reviewed by Kent Tamura.
1180
1181         [HTML5] Add DOMSettableTokenList
1182         https://bugs.webkit.org/show_bug.cgi?id=47810
1183
1184         Adds DOMSettableTokenList interface to support <output> element.
1185         The DOMTokenList interface was refactored since its was tightly coupled
1186         with HTMLElement.classList property.
1187
1188         * Android.derived.jscbindings.mk: Added JSDOMSettableTokenList.h file.
1189         * Android.derived.v8bindings.mk: Added V8DOMSettableTokenList.h file.
1190         * Android.jscbindings.mk: Added JSDOMSettableTokenList.cpp file.
1191         * Android.mk: Added ClassList.cpp file.
1192         * CMakeLists.txt: Added DOMSettableTokenList.{cpp,idl} and ClassList.cpp files.
1193         * DerivedSources.cpp: Added JSDOMSettableTokenList.cpp file.
1194         * DerivedSources.make: Added DOMSettableTokenList entry.
1195         * GNUmakefile.am: Added JSDOMSettableTokenList.{h,cpp} and ClassList.{h,cpp} files.
1196         * WebCore.gypi: Added DOMSettableTokenList.{h,cpp,idl}, V8DOMSettableTokenListCustom.cpp and ClassList.{h,cpp} files.
1197         * WebCore.pri: Added DOMSettableTokenList.idl file.
1198         * WebCore.pro: Added V8DOMSettableTokenListCustom.cpp, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
1199         * WebCore.vcproj/WebCore.vcproj: Added JSDOMSettableTokenList.{h,cpp}, ClassList.{h,cpp} and DOMSettableTokenList.{h,cpp} files.
1200         * WebCore.xcodeproj/project.pbxproj: Added ClassList.{h,cpp}, DOMSettabletokenList.{h,cpp} and JSDOMSettableTokenList.{h,cpp}
1201         * bindings/gobject/GNUmakefile.am: Added WebKitDOMDOMSettableTokenList.{h,cpp} and WebKitDOMDOMSettableTokenListPrivate.cpp files.
1202         * bindings/scripts/CodeGeneratorJS.pm: Modified IndexGetterReturnsStrings() returns 1 for DOMSettableTokenList.
1203         * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Added.
1204         (WebCore::V8DOMSettableTokenList::indexedPropertyGetter):
1205         * dom/Element.cpp: Replaced DOMTokenList to ClassList.
1206         (WebCore::Element::classList):
1207         * dom/ElementRareData.h: ditto.
1208         * dom/SpaceSplitString.cpp: Added add() and remove() functions.
1209         (WebCore::SpaceSplitStringData::add):
1210         (WebCore::SpaceSplitStringData::remove):
1211         (WebCore::SpaceSplitString::add):
1212         (WebCore::SpaceSplitString::remove):
1213         * dom/SpaceSplitString.h: Added add() and remove() functions.
1214         * dom/StyledElement.cpp: Replaced DOMTokenList to ClassList.
1215         (WebCore::StyledElement::classAttributeChanged):
1216         * dom/StyledElement.h: ditto.
1217         * html/ClassList.cpp: Added, mostly from original DOMTokenList.cpp.
1218         (WebCore::ClassList::ClassList):
1219         (WebCore::ClassList::ref):
1220         (WebCore::ClassList::deref):
1221         (WebCore::ClassList::length):
1222         (WebCore::ClassList::item):
1223         (WebCore::ClassList::contains):
1224         (WebCore::ClassList::containsInternal):
1225         (WebCore::ClassList::add):
1226         (WebCore::ClassList::addInternal):
1227         (WebCore::ClassList::remove):
1228         (WebCore::ClassList::removeInternal):
1229         (WebCore::ClassList::toggle):
1230         (WebCore::ClassList::toString):
1231         (WebCore::ClassList::reset):
1232         (WebCore::ClassList::classNames):
1233         * html/ClassList.h: Added, mostly from original DOMTokenList.h.
1234         (WebCore::ClassList::create):
1235         (WebCore::ClassList::element):
1236         * html/DOMSettableTokenList.cpp: Added.
1237         (WebCore::DOMSettableTokenList::DOMSettableTokenList):
1238         (WebCore::DOMSettableTokenList::~DOMSettableTokenList):
1239         (WebCore::DOMSettableTokenList::item):
1240         (WebCore::DOMSettableTokenList::contains):
1241         (WebCore::DOMSettableTokenList::add):
1242         (WebCore::DOMSettableTokenList::addInternal):
1243         (WebCore::DOMSettableTokenList::remove):
1244         (WebCore::DOMSettableTokenList::removeInternal):
1245         (WebCore::DOMSettableTokenList::toggle):
1246         (WebCore::DOMSettableTokenList::setValue):
1247         * html/DOMSettableTokenList.h: Added.
1248         (WebCore::DOMSettableTokenList::create):
1249         (WebCore::DOMSettableTokenList::ref):
1250         (WebCore::DOMSettableTokenList::deref):
1251         (WebCore::DOMSettableTokenList::length):
1252         (WebCore::DOMSettableTokenList::toString):
1253         (WebCore::DOMSettableTokenList::value):
1254         * html/DOMSettableTokenList.idl: Added.
1255         * html/DOMTokenList.cpp: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
1256         (WebCore::DOMTokenList::validateToken): Changed to be a static member function of DOMTokenList.
1257         (WebCore::DOMTokenList::addToken): Added, mostly from original DOMTokenList::addInternal().
1258         (WebCore::DOMTokenList::removeToken): Added, mostly from original DOMTokenList::removeInternal().
1259         * html/DOMTokenList.h: Refactored to be an abstract interface for both of ClassList and DOMSettableTokenList.
1260         (WebCore::DOMTokenList::~DOMTokenList):
1261         (WebCore::DOMTokenList::element):
1262         * page/DOMWindow.cpp: Added an entry for DOMSettableTokenList.
1263         * page/DOMWindow.idl: ditto.
1264
1265 2010-10-29  Pavel Feldman  <pfeldman@chromium.org>
1266
1267         Reviewed by Timothy Hatcher.
1268
1269         Web Inspector: make legacy resource tracking optional in the native code,
1270         make cookeis work against new resource manager.
1271         https://bugs.webkit.org/show_bug.cgi?id=48532
1272
1273         * inspector/InspectorCSSStore.cpp:
1274         (WebCore::InspectorCSSStore::resourceStyleSheetText):
1275         * inspector/InspectorController.cpp:
1276         (WebCore::InspectorController::InspectorController):
1277         (WebCore::InspectorController::~InspectorController):
1278         (WebCore::InspectorController::connectFrontend):
1279         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1280         (WebCore::InspectorController::populateScriptObjects):
1281         (WebCore::InspectorController::unbindAllResources):
1282         (WebCore::InspectorController::didCommitLoad):
1283         (WebCore::InspectorController::frameDetachedFromParent):
1284         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1285         (WebCore::InspectorController::identifierForInitialRequest):
1286         (WebCore::InspectorController::willSendRequest):
1287         (WebCore::InspectorController::markResourceAsCached):
1288         (WebCore::InspectorController::didReceiveResponse):
1289         (WebCore::InspectorController::didReceiveContentLength):
1290         (WebCore::InspectorController::didFinishLoading):
1291         (WebCore::InspectorController::didFailLoading):
1292         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1293         (WebCore::InspectorController::scriptImported):
1294         (WebCore::InspectorController::setResourceTrackingEnabled):
1295         (WebCore::InspectorController::getCookies):
1296         (WebCore::InspectorController::deleteCookie):
1297         (WebCore::InspectorController::didCreateWebSocket):
1298         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
1299         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
1300         (WebCore::InspectorController::didCloseWebSocket):
1301         (WebCore::InspectorController::breakpointsSettingKey):
1302         (WebCore::InspectorController::getResourceContent):
1303         * inspector/InspectorController.h:
1304         * inspector/InspectorResource.cpp:
1305         (WebCore::InspectorResource::updateScriptObject):
1306         (WebCore::InspectorResource::markFailed):
1307         * inspector/InspectorResource.h:
1308         * inspector/InspectorResourceAgent.cpp:
1309         (WebCore::populateObjectWithFrameResources):
1310         * inspector/front-end/CookieItemsView.js:
1311         (WebInspector.CookieItemsView.prototype._updateWithCookies):
1312         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
1313         * inspector/front-end/Resource.js:
1314         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1315         (WebInspector.Resource.prototype._checkWarning):
1316         * inspector/front-end/ResourceManager.js:
1317         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
1318         (WebInspector.ResourceManager.prototype.didFailLoading):
1319         * inspector/front-end/inspector.js:
1320         (WebInspector.forAllResources):
1321         (WebInspector.updateResource):
1322
1323 2010-10-29  MORITA Hajime <morrita@google.com>
1324
1325         Unreviewed attempt for fixing build break for http://trac.webkit.org/changeset/70847
1326
1327         * editing/EditingAllInOne.cpp:
1328
1329 2010-10-29  Mihai Parparita  <mihaip@chromium.org>
1330
1331         Reviewed by Adam Barth.
1332
1333         Support RegExp in V8 implementation of SerializedScriptValue
1334         https://bugs.webkit.org/show_bug.cgi?id=44809
1335         
1336         Add RegExp serialization/deserialization now that V8 provides API access
1337         to the RegExp type.
1338
1339         * bindings/v8/SerializedScriptValue.cpp:
1340         (WebCore::ZigZag::Writer::writeRegExp):
1341         (WebCore::ZigZag::Serializer::writeRegExp):
1342         (WebCore::ZigZag::Serializer::doSerialize):
1343         (WebCore::ZigZag::Reader::read):
1344         (WebCore::ZigZag::Reader::readRegExp):
1345
1346 2010-10-13  MORITA Hajime  <morrita@google.com>
1347
1348         Reviewed by David Hyatt.
1349
1350         Navigating dark background websites results in blinding white flashes between pages. 
1351         https://bugs.webkit.org/show_bug.cgi?id=45640
1352
1353         This FOUC is caused by an early layout request before the <body> is ready, 
1354         and the page's background style given for <body>, instead of <html>.
1355         So many sites have such stylesheets that we should care them.
1356         
1357         - Some DOM operation such as 'element.offsetLeft' causes page layout.
1358         - The page layout results page repaint
1359         - The page page repaint makes a white screen. because there is nothing to paint
1360           before <body> is available.
1361         
1362         This change:
1363         - extracted existing FOUC check on RenderBlock and RenderLayer to 
1364           Document::mayCauseFlashOfUnstyledContent(),
1365         - checked <body> availability on mayCauseFlashOfUnstyledContent(), and
1366         - added FOUC guards before requesting reapint on FrameView.
1367         
1368         No new tests. The data loading speed matters and it cannot be
1369         captured by DRT.
1370
1371         * dom/Document.cpp:
1372         (WebCore::Document::mayCauseFlashOfUnstyledContent): Added.
1373         * dom/Document.h:
1374         * page/FrameView.cpp:
1375         (WebCore::FrameView::invalidateRect): Added a guard.
1376         (WebCore::FrameView::repaintContentRectangle): Added a guard.
1377         (WebCore::FrameView::doDeferredRepaints): Added a guard.
1378         (WebCore::FrameView::shouldUpdate): Added.
1379         * page/FrameView.h:
1380         * rendering/RenderBlock.cpp:
1381         (WebCore::RenderBlock::paintContents): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
1382         * rendering/RenderLayer.cpp:
1383         (WebCore::RenderLayer::paintLayer): Replaced FOUC check to use mayCauseFlashOfUnstyledContent
1384
1385 2010-10-29  David Hyatt  <hyatt@apple.com>
1386
1387         Reviewed by Dan Bernstein.
1388
1389         https://bugs.webkit.org/show_bug.cgi?id=48618
1390
1391         Backgrounds should clip to the border radius properly for vertical lines.  The code that does this still assumes horizontal lines.
1392         The testcase to cover this used nested spans, which also exposed a bug in the propagation of the vertical bit through the line
1393         box tree.
1394         
1395         Added fast/blockflow/border-radius-clipping-vertical-lr.html.
1396
1397         * rendering/RenderBlockLineLayout.cpp:
1398         (WebCore::RenderBlock::createLineBoxes):
1399         * rendering/RenderBoxModelObject.cpp:
1400         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1401
1402 2010-10-26  MORITA Hajime  <morrita@google.com>
1403
1404         Reviewed by Kent Tamura.
1405
1406         Refactoring: Spellchecking related static functions could form a class
1407         https://bugs.webkit.org/show_bug.cgi?id=48287
1408
1409         Extracted spellcheck related static functions to TextCheckingHelper class,
1410         which has EditorClient and Range as its member.
1411         
1412         No new tests. Just a refactoring.
1413
1414         * CMakeLists.txt:
1415         * GNUmakefile.am:
1416         * WebCore.gypi:
1417         * WebCore.pro:
1418         * WebCore.vcproj/WebCore.vcproj:
1419         * WebCore.xcodeproj/project.pbxproj:
1420         * editing/Editor.cpp:
1421         (WebCore::Editor::advanceToNextMisspelling):
1422         (WebCore::Editor::isSelectionUngrammatical):
1423         (WebCore::Editor::guessesForUngrammaticalSelection):
1424         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
1425         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1426         (WebCore::Editor::markMisspellingsOrBadGrammar):
1427         (WebCore::Editor::markMisspellings):
1428         (WebCore::Editor::markBadGrammar):
1429         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1430         (WebCore::Editor::changeBackToReplacedString):
1431         * editing/Editor.h:
1432         * editing/TextCheckingHelper.cpp: Added.
1433         (WebCore::TextCheckingHelper::TextCheckingHelper):
1434         (WebCore::TextCheckingHelper::~TextCheckingHelper):
1435         (WebCore::TextCheckingHelper::paragraphAlignedRange):
1436         (WebCore::TextCheckingHelper::findFirstMisspelling):
1437         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1438         (WebCore::TextCheckingHelper::findFirstGrammarDetail):
1439         (WebCore::TextCheckingHelper::findFirstBadGrammar):
1440         (WebCore::TextCheckingHelper::isUngrammatical):
1441         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
1442         (WebCore::TextCheckingHelper::markAllMisspellings):
1443         (WebCore::TextCheckingHelper::markAllBadGrammar):
1444         * editing/TextCheckingHelper.h: Added.
1445
1446 2010-10-28  Adam Barth  <abarth@webkit.org>
1447
1448         Reviewed by Eric Seidel, Peter Kasting, and Darin Fisher.
1449         (Eric reviewed the CoreGraphics interactions, Peter reviewed the image
1450         decoder interaction, and Darin Fisher SGTMed the policy decision.)
1451
1452         [chromium] Chromium Mac should use WebKit's image decoders
1453         https://bugs.webkit.org/show_bug.cgi?id=47974
1454
1455         This patch teaches WebKit's image decoders how to talk to CoreGraphics.
1456         This patch doesn't handle color profiles, but that will come in a
1457         subsequent patch.
1458
1459         * WebCore.gyp/WebCore.gyp:
1460         * WebCore.gypi:
1461         * loader/CachedImage.cpp:
1462         (WebCore::CachedImage::createImage):
1463         * platform/graphics/ImageSource.h:
1464         * platform/image-decoders/ImageDecoder.cpp:
1465         (WebCore::RGBA32Buffer::clear):
1466         (WebCore::RGBA32Buffer::zeroFill):
1467         (WebCore::RGBA32Buffer::copyBitmapData):
1468         (WebCore::RGBA32Buffer::setSize):
1469         * platform/image-decoders/ImageDecoder.h:
1470         (WebCore::RGBA32Buffer::getAddr):
1471         * platform/image-decoders/cg: Added.
1472         * platform/image-decoders/cg/ImageDecoderCG.cpp: Added.
1473         (WebCore::RGBA32Buffer::copyBitmapData):
1474         (WebCore::RGBA32Buffer::setSize):
1475         (WebCore::RGBA32Buffer::asNewNativeImage):
1476
1477 2010-10-28  Sergio Villar Senin  <svillar@igalia.com>
1478
1479         Reviewed by Xan Lopez.
1480
1481         [GTK] GObject bindings generator issues
1482         https://bugs.webkit.org/show_bug.cgi?id=48135
1483
1484         GObject code generator must not generate conditional API's. This
1485         patch also adds an alternative return value for non-void
1486         conditional methods. With this change the conditionalMethods hack
1487         is no longer needed.
1488
1489         * bindings/scripts/CodeGeneratorGObject.pm:
1490
1491 2010-10-28  David Hyatt  <hyatt@apple.com>
1492
1493         Reviewed by Dan Bernstein.
1494
1495         https://bugs.webkit.org/show_bug.cgi?id=48569
1496
1497         Box shadows on vertical inlines don't paint properly.  Fix the paintBoxShadow method to treat the edges to include as
1498         logical (so that top/bottom are used instead of left/right for vertical lines).  In order to make my box-shadow tests
1499         work I had to fix a bug in the transform code of InlineTextBox that was causing the baselines of vertical lines to
1500         be wrong.
1501         
1502         Added fast/blockflow/box-shadow-* tests
1503
1504         * rendering/InlineTextBox.cpp:
1505         (WebCore::InlineTextBox::paint):
1506         * rendering/RenderBoxModelObject.cpp:
1507         (WebCore::RenderBoxModelObject::paintBoxShadow):
1508         * rendering/RenderBoxModelObject.h:
1509
1510 2010-10-28  James Robinson  <jamesr@chromium.org>
1511
1512         Reviewed by Simon Fraser.
1513
1514         iframes forced into slow scrolling mode by containing RenderLayer sometimes
1515         https://bugs.webkit.org/show_bug.cgi?id=48570
1516
1517         Only performs the overlap test for RenderLayers that paint themselves.  This
1518         prevents marking RenderWidgets as being overlapped unnecessarily.
1519
1520         Test: fast/repaint/iframe-scroll-repaint.html
1521
1522         * rendering/RenderLayer.cpp:
1523         (WebCore::RenderLayer::paintLayer):
1524
1525 2010-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1526
1527         Unreviewed, rolling out r70814.
1528         http://trac.webkit.org/changeset/70814
1529         https://bugs.webkit.org/show_bug.cgi?id=48612
1530
1531         Caused media/controls-drag-timebar.html to fail on multiple
1532         platforms (Requested by aroben on #webkit).
1533
1534         * html/HTMLMediaElement.cpp:
1535         (WebCore::HTMLMediaElement::seek):
1536         * platform/graphics/MediaPlayer.cpp:
1537         * platform/graphics/MediaPlayer.h:
1538         * platform/graphics/MediaPlayerPrivate.h:
1539         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1540         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1541         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1542         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
1543         * platform/graphics/win/QTMovie.cpp:
1544         * platform/graphics/win/QTMovie.h:
1545
1546 2010-10-28  Dan Bernstein  <mitz@apple.com>
1547
1548         Reviewed by Simon Fraser.
1549
1550         <rdar://problem/8597430> Crash triggered by incremental layout of block truncated by line-clamp
1551         https://bugs.webkit.org/show_bug.cgi?id=48602
1552
1553         Test: fast/flexbox/line-clamp-crash.html
1554
1555         * rendering/RenderFlexibleBox.cpp:
1556         (WebCore::RenderFlexibleBox::applyLineClamp): Even if the child needs layout, call clearTruncation(),
1557         since layout itself may be partial and not touch the truncated line (but touch its markup box).
1558
1559 2010-10-28  Jian Li  <jianli@chromium.org>
1560
1561         Reviewed by Dmitry Titov.
1562
1563         [chromium] UUID generation does not work in Linux that has sandbox
1564         turned on
1565         https://bugs.webkit.org/show_bug.cgi?id=48571
1566
1567         This is because we cannot access /proc when sandbox is on. The fix is to
1568         use random numbers to construct UUID.
1569
1570         * platform/UUID.cpp:
1571         (WebCore::createCanonicalUUIDString):
1572
1573 2010-10-28  Jia Pu  <jpu@apple.com>
1574
1575         Reviewed by Dan Bernstein.
1576
1577         Editing a word with misspell or autocorrection underline should remove the underline when the editing changes the word.
1578         https://bugs.webkit.org/show_bug.cgi?id=48078
1579         <rdar://problem/8579155>
1580
1581         Tests: platform/mac/editing/spelling/editing-multiple-words-with-markers.html
1582                platform/mac/editing/spelling/editing-word-with-marker-1.html
1583                platform/mac/editing/spelling/editing-word-with-marker-2.html
1584
1585         This patch is part of on-going improvement of autocorrection feature on Mac OS X. When an editing
1586         occurs, if it affects words (by deleting/inserting characters, spliting word, merging words) that
1587         have Spelling and/or CorrectionIndicator markers, we want to remove the markers. If subsequntial
1588         spelling checking finds spelling error in newlly formed words, it will add the markers back in.
1589
1590         * dom/DocumentMarker.h: Changed MarkerType to bit masks to make search multiple types easier.
1591
1592         * dom/DocumentMarkerController.cpp: Refactored two removeMarkers() methods to support remove
1593           markers with specific type from a node.
1594         (WebCore::DocumentMarkerController::removeMarkers): Changed signature to remove marker with specific type.
1595         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Refactoring.
1596         (WebCore::DocumentMarkerController::hasMarkers): Convenience method to search markers in range.
1597
1598         * dom/DocumentMarkerController.h: Added new methods and matched new signature of removeMarkers().
1599
1600         * editing/Editor.cpp:
1601         (WebCore::Editor::respondToChangedContents): Remove existing markers if the change formed new word.
1602         (WebCore::Editor::cut): Remove markers on words that will be modified by this editing.
1603         (WebCore::Editor::paste): Ditto.
1604         (WebCore::Editor::pasteAsPlainText): Ditto.
1605         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): Main logic for removing 
1606           markers on words affected by editing.
1607
1608         * editing/Editor.h: Added removeSpellAndCorrectionMarkersFromWordsToBeEdited().  Added
1609           REMOVE_MARKERS_UPON_EDITING and SUPPORT_AUTOCORRECTION_PANEL macro to improve readability.
1610
1611         * editing/TypingCommand.cpp:
1612         (WebCore::TypingCommand::insertText): Remove markers on words that will be modified by this editing.
1613         (WebCore::TypingCommand::deleteKeyPressed): Ditto.
1614         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1615
1616 2010-10-28  Brian Weinstein  <bweinstein@apple.com>
1617
1618         Reviewed by Brady Eidson.
1619
1620         Part of <https://bugs.webkit.org/show_bug.cgi?id=45980>
1621         userscripts/user-script-*-document.html tests are flaky on Windows
1622
1623         In WebFrameLoaderClient::committedLoad on Windows, we call through to PluginStream::didRecieveData
1624         if our manual loader is a plugin stream, and we can call didRecieveData with a 0 length.
1625         
1626         We shouldn't ASSERT that length is 0, because code paths exists where we call it with a 0 length.
1627         
1628         This is tested by re-enabling user-script-plugin-document.html on Windows.
1629
1630         * plugins/PluginStream.cpp:
1631         (WebCore::PluginStream::didReceiveData):
1632
1633 2010-10-28  Mihai Parparita  <mihaip@chromium.org>
1634
1635         Reviewed by Darin Adler.
1636
1637         [Chromium] History related tests REGRESSED after r70723
1638         https://bugs.webkit.org/show_bug.cgi?id=48513
1639         
1640         Remove backItem(), forwardItem() and currentItem() from the Chromium
1641         BackForwardList implementation, since they can use the base class
1642         behavior now (which call itemAtIndex with -1, 1, and 0 respectively).
1643
1644         * history/BackForwardList.h:
1645         * history/BackForwardListChromium.cpp:
1646
1647 2010-10-28  Ryosuke Niwa  <rniwa@webkit.org>
1648
1649         Reviewed by Tony Chang.
1650
1651         chrome.dll!WebCore::Node::shadowAncestorNode ReadAV@NULL (98643190851b5662363449cc7303d8a5)
1652         https://bugs.webkit.org/show_bug.cgi?id=47888
1653
1654         The crash was caused by the while loop in ApplyStyleCommand::fixRangeAndApplyInlineStyle
1655         not considering the case where startNode is the root editable element.
1656         Fixed the bug by not entering the loop when startNode is the editable root.
1657
1658         Test: editing/style/fix-range-from-root-editable-crash.html
1659
1660         * editing/ApplyStyleCommand.cpp:
1661         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
1662
1663 2010-10-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
1664
1665         Reviewed by Ariya Hidayat.
1666
1667         [Texmap] [Qt] Texture mapper initial implementation
1668         https://bugs.webkit.org/show_bug.cgi?id=47070
1669
1670         Build fix, some wrong changes slipped into the previous patch.
1671         No new tests: build fix.
1672
1673         * platform/graphics/GraphicsLayer.h:
1674         * platform/graphics/opengl/TextureMapperGL.cpp:
1675         (WebCore::BitmapTextureGL::setContentsToImage):
1676         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1677         (WebCore::TextureMapperNode::uploadTextureFromContent):
1678         (WebCore::TextureMapperNode::paintRecursive):
1679         * platform/qt/QWebPageClient.h:
1680         (QWebPageClient::setRootGraphicsLayer):
1681
1682 2010-10-28  David Hyatt  <hyatt@apple.com>
1683
1684         Reviewed by James Robinson.
1685
1686         https://bugs.webkit.org/show_bug.cgi?id=48568
1687
1688         Backgrounds don't work right with vertical RenderInlines. Make background painting
1689         do the right thing for vertical strips.
1690
1691         Added fast/blockflow/background-* tests
1692
1693         * rendering/InlineFlowBox.cpp:
1694         (WebCore::InlineFlowBox::paintFillLayer):
1695
1696 2010-10-28  Eric Carlson  <eric.carlson@apple.com>
1697
1698         Reviewed by Adam Roben.
1699
1700         Seeking by very small increment doesn't generate 'seeked' event
1701         https://bugs.webkit.org/show_bug.cgi?id=48530
1702
1703         Test: media/video-seek-by-small-increment.html
1704
1705         * html/HTMLMediaElement.cpp:
1706         (WebCore::HTMLMediaElement::seek): Ask the media engine for its closest time value so we can
1707         avoid asking it to seek to the current time.
1708
1709         * platform/graphics/MediaPlayer.cpp:
1710         (WebCore::MediaPlayer::mediaTimeForTimeValue): New.
1711         * platform/graphics/MediaPlayer.h:
1712         * platform/graphics/MediaPlayerPrivate.h:
1713         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue): Ditto.
1714
1715         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1716         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1717         (WebCore::MediaPlayerPrivate::mediaTimeForTimeValue): Return the closest value in the movie's time scale.
1718
1719         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1720         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue): Ditto
1721         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
1722
1723         * platform/graphics/win/QTMovie.cpp:
1724         (QTMovie::timeScale): Return the movie's time scale.
1725         * platform/graphics/win/QTMovie.h:
1726
1727 2010-10-28  David Hyatt  <hyatt@apple.com>
1728
1729         Reviewed by Beth Dakin.
1730
1731         https://bugs.webkit.org/show_bug.cgi?id=48443
1732         
1733         Border images don't work right with vertical RenderInlines. Make border/mask/background painting
1734         do the right thing for vertical strips.
1735
1736         Added fast/blockflow/border-image-* tests.
1737
1738         * rendering/InlineFlowBox.cpp:
1739         (WebCore::InlineFlowBox::paintBoxDecorations):
1740         (WebCore::InlineFlowBox::paintMask):
1741
1742 2010-10-28  Patrick Gansterer  <paroga@webkit.org>
1743
1744         Reviewed by Adam Roben.
1745
1746         Port ContextMenuItemWin.cpp to WinCE
1747         https://bugs.webkit.org/show_bug.cgi?id=48407
1748
1749         * platform/win/ContextMenuItemWin.cpp:
1750
1751 2010-10-28  Ryosuke Niwa  <rniwa@webkit.org>
1752
1753         Reviewed by Darin Adler.
1754
1755         queryCommandValue should fall back to queryCommandState
1756         https://bugs.webkit.org/show_bug.cgi?id=48479
1757
1758         Added a fallback to Command::value so that commands with a state function without a value function
1759         returns the value returned by the state function as a string.
1760
1761         * editing/EditorCommand.cpp:
1762         (WebCore::Editor::Command::value):
1763
1764 2010-10-28  Pavel Feldman  <pfeldman@chromium.org>
1765
1766         Not reviewed. Rolling out r70800.
1767
1768 2010-10-28  Alexey Proskuryakov  <ap@apple.com>
1769
1770         Reviewed by Dan Bernstein.
1771
1772         https://bugs.webkit.org/show_bug.cgi?id=48551
1773         HTMLDocument::isFrameSet() should not depend on renderer
1774
1775         No change in functionality, so no new tests.
1776
1777         * html/HTMLDocument.cpp: (WebCore::HTMLDocument::isFrameSet): Omit the check for renderer.
1778
1779         * rendering/RenderLayer.h: Removed unneeded includes and forward declarations.
1780
1781 2010-10-28  Pavel Feldman  <pfeldman@chromium.org>
1782
1783         Reviewed by Timothy Hatcher.
1784
1785         Web Inspector: make legacy resource tracking optional in the native code,
1786         make cookeis work against new resource manager.
1787         https://bugs.webkit.org/show_bug.cgi?id=48532
1788
1789         * inspector/InspectorCSSStore.cpp:
1790         (WebCore::InspectorCSSStore::resourceStyleSheetText):
1791         * inspector/InspectorController.cpp:
1792         (WebCore::InspectorController::InspectorController):
1793         (WebCore::InspectorController::~InspectorController):
1794         (WebCore::InspectorController::connectFrontend):
1795         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1796         (WebCore::InspectorController::populateScriptObjects):
1797         (WebCore::InspectorController::unbindAllResources):
1798         (WebCore::InspectorController::didCommitLoad):
1799         (WebCore::InspectorController::frameDetachedFromParent):
1800         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1801         (WebCore::InspectorController::identifierForInitialRequest):
1802         (WebCore::InspectorController::willSendRequest):
1803         (WebCore::InspectorController::markResourceAsCached):
1804         (WebCore::InspectorController::didReceiveResponse):
1805         (WebCore::InspectorController::didReceiveContentLength):
1806         (WebCore::InspectorController::didFinishLoading):
1807         (WebCore::InspectorController::didFailLoading):
1808         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1809         (WebCore::InspectorController::scriptImported):
1810         (WebCore::InspectorController::setResourceTrackingEnabled):
1811         (WebCore::InspectorController::getCookies):
1812         (WebCore::InspectorController::deleteCookie):
1813         (WebCore::InspectorController::didCreateWebSocket):
1814         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
1815         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
1816         (WebCore::InspectorController::didCloseWebSocket):
1817         (WebCore::InspectorController::breakpointsSettingKey):
1818         (WebCore::InspectorController::getResourceContent):
1819         * inspector/InspectorController.h:
1820         * inspector/InspectorResource.cpp:
1821         (WebCore::InspectorResource::updateScriptObject):
1822         (WebCore::InspectorResource::markFailed):
1823         * inspector/InspectorResource.h:
1824         * inspector/InspectorResourceAgent.cpp:
1825         (WebCore::populateObjectWithFrameResources):
1826         * inspector/front-end/Resource.js:
1827         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1828         * inspector/front-end/ResourceManager.js:
1829         (WebInspector.ResourceManager.prototype._updateResourceWithResponse):
1830         (WebInspector.ResourceManager.prototype.didFailLoading):
1831         * inspector/front-end/inspector.js:
1832         (WebInspector.updateResource):
1833
1834 2010-10-28  Pavel Podivilov  <podivilov@chromium.org>
1835
1836         Reviewed by Pavel Feldman.
1837
1838         Web Inspector: fix pausing on next JavaScript statement
1839         https://bugs.webkit.org/show_bug.cgi?id=48534
1840
1841         * inspector/InspectorDebuggerAgent.cpp:
1842         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1843         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1844         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
1845         (WebCore::InspectorDebuggerAgent::pause):
1846         (WebCore::InspectorDebuggerAgent::didPause):
1847         * inspector/InspectorDebuggerAgent.h:
1848
1849 2010-10-28  Yuzo Fujishima  <yuzo@google.com>
1850
1851         Reviewed by David Hyatt.
1852
1853         Fix for Bug 14550 - Non-layout style change does not update nested first-letter
1854         https://bugs.webkit.org/show_bug.cgi?id=14550
1855
1856         If a render text fragment is accompanied by a first letter, update the
1857         first letter's style when the fragment's style is changed.
1858
1859         Test: fast/css/first-letter-nested.html
1860
1861         * rendering/RenderBlock.cpp:
1862         (WebCore::RenderBlock::styleDidChange): Stop calling updateFirstLetter
1863         from here.
1864         * rendering/RenderBlock.h: Make updateFirstLetter accessbile from
1865         RenderTextFragment.
1866         * rendering/RenderTextFragment.cpp:
1867         (WebCore::RenderTextFragment::styleDidChange): If appropriate, update
1868         first letter after removing stale cached pseudo style.
1869         (WebCore::RenderTextFragment::blockForAccompanyingFirstLetter): Helper
1870         to get the block for the first letter.
1871         * rendering/RenderTextFragment.h:
1872         * rendering/style/RenderStyle.cpp:
1873         (WebCore::RenderStyle::removeCachedPseudoStyle): Remove the specified
1874         pseudo style from cache.
1875         * rendering/style/RenderStyle.h:
1876
1877 2010-10-28  Benoit Jacob  <bjacob@mozilla.com>
1878
1879         Reviewed by Kenneth Russell.
1880
1881         Ensure that WebGL stencil buffers are correctly initialized
1882         https://bugs.webkit.org/show_bug.cgi?id=48351
1883
1884         * html/canvas/WebGLFramebuffer.cpp:
1885         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
1886
1887 2010-10-28  Chris Fleizach  <cfleizach@apple.com>
1888
1889         Reviewed by Adele Peterson.
1890
1891         AX: multi select group option does not handle setting of AXSelectedChildren correctly
1892         https://bugs.webkit.org/show_bug.cgi?id=48464
1893
1894         Ensure that when selecting an item from a <select> element, it accounts for <optgroups>.
1895
1896         Test: platform/mac/accessibility/select-element-selection-with-optgroups.html
1897
1898         * accessibility/AccessibilityListBoxOption.cpp:
1899         (WebCore::AccessibilityListBoxOption::setSelected):
1900
1901 2010-10-28  Dan Bernstein  <mitz@apple.com>
1902
1903         Reviewed by Adam Roben.
1904
1905         No longer soft-link zlib
1906         https://bugs.webkit.org/show_bug.cgi?id=48004
1907
1908         * platform/graphics/WOFFFileFormat.cpp:
1909         (WebCore::convertWOFFToSfnt): Removed Windows-speciific code to soft-link
1910         zlib.
1911
1912 2010-10-27  Zhenyao Mo  <zmo@google.com>
1913
1914         Reviewed by Kenneth Russell.
1915
1916         Work around a Mac driver bug in generateMipmap
1917         https://bugs.webkit.org/show_bug.cgi?id=48489
1918
1919         * html/canvas/WebGLRenderingContext.cpp:
1920         (WebCore::WebGLRenderingContext::generateMipmap): Make sure minFilter is set to NEAREST_MIPMAP_LINEAR before generateMipmap, and after the call, set it back to the original value.
1921         * html/canvas/WebGLTexture.h:
1922         (WebCore::WebGLTexture::getMinFilter): Return the cached minFilter value.
1923
1924 2010-10-28  Mikhail Naganov  <mnaganov@chromium.org>
1925
1926         [Chromium clang] Unreviewed. Fix forward declaration of 'struct FileMetadata'.
1927
1928         See http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Debug%20Clang/builds/753/steps/compile/logs/stdio
1929
1930         * fileapi/FileSystemCallbacks.h:
1931         * platform/AsyncFileSystemCallbacks.h:
1932
1933 2010-10-28  Alexander Pavlov  <apavlov@chromium.org>
1934
1935         Reviewed by Pavel Feldman.
1936
1937         Web Inspector: Bring backend-frontend message format to follow the protocol specification
1938         https://bugs.webkit.org/show_bug.cgi?id=48406
1939
1940         * inspector/InspectorDOMAgent.cpp:
1941         (WebCore::InspectorDOMAgent::getStyles):
1942         (WebCore::InspectorDOMAgent::applyStyleText):
1943         (WebCore::InspectorDOMAgent::buildObjectForStyle):
1944         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
1945         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
1946         (WebCore::InspectorDOMAgent::buildObjectForRule):
1947         * inspector/InspectorDOMAgent.h:
1948         * inspector/front-end/AuditRules.js:
1949         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1950         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1951         * inspector/front-end/CSSStyleModel.js:
1952         (WebInspector.CSSStyleModel.parseRuleArrayPayload):
1953         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1954         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1955         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1956         (WebInspector.CSSStyleModel.prototype.setCSSText):
1957         * inspector/front-end/DOMAgent.js:
1958         (WebInspector.CSSStyleDeclaration):
1959         (WebInspector.CSSStyleDeclaration.parsePayload):
1960         (WebInspector.CSSStyleDeclaration.prototype.get allProperties):
1961         (WebInspector.CSSStyleDeclaration.prototype.getLiveProperty):
1962         (WebInspector.CSSStyleDeclaration.prototype.getPropertyValue):
1963         (WebInspector.CSSStyleDeclaration.prototype.getPropertyPriority):
1964         (WebInspector.CSSStyleDeclaration.prototype.getPropertyShorthand):
1965         (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
1966         (WebInspector.CSSStyleDeclaration.prototype.getShorthandValue):
1967         (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
1968         (WebInspector.CSSStyleDeclaration.prototype.appendProperty):
1969         (WebInspector.CSSStyleDeclaration.prototype.propertyAt):
1970         (WebInspector.CSSRule):
1971         (WebInspector.CSSRule.parsePayload):
1972         (WebInspector.CSSRule.prototype.get isUserAgent):
1973         (WebInspector.CSSRule.prototype.get isUser):
1974         (WebInspector.CSSRule.prototype.get isViaInspector):
1975         (WebInspector.CSSRule.prototype.get isRegular):
1976         (WebInspector.CSSProperty):
1977         (WebInspector.CSSProperty.parsePayload):
1978         (WebInspector.CSSProperty.prototype.get propertyText):
1979         (WebInspector.CSSProperty.prototype.get isLive):
1980         (WebInspector.CSSProperty.prototype.get active):
1981         (WebInspector.CSSProperty.prototype.get styleBased):
1982         (WebInspector.CSSProperty.prototype.get inactive):
1983         (WebInspector.CSSProperty.prototype.get disabled):
1984         (WebInspector.CSSProperty.prototype.setText):
1985         (WebInspector.CSSProperty.prototype.setValue):
1986         (WebInspector.CSSProperty.prototype.setDisabled.callback):
1987         (WebInspector.CSSProperty.prototype.setDisabled):
1988         * inspector/front-end/MetricsSidebarPane.js:
1989         (WebInspector.MetricsSidebarPane.prototype.update.callback):
1990         (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
1991         (WebInspector.MetricsSidebarPane.prototype.update):
1992         (WebInspector.MetricsSidebarPane.prototype._update):
1993         (WebInspector.MetricsSidebarPane.prototype.editingCommitted.callback):
1994         (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
1995         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1996         * inspector/front-end/StylesSidebarPane.js:
1997         (WebInspector.StylesSidebarPane.prototype.update):
1998         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1999         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
2000         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2001         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
2002         (WebInspector.StylesSidebarPane.prototype._containsInherited):
2003         (WebInspector.StylePropertiesSection):
2004         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
2005         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
2006         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2007         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2008         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
2009         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2010         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
2011         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2012         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
2013         (WebInspector.StylePropertyTreeElement):
2014         (WebInspector.StylePropertyTreeElement.prototype.get disabled):
2015         (WebInspector.StylePropertyTreeElement.prototype.get name):
2016         (WebInspector.StylePropertyTreeElement.prototype.get priority):
2017         (WebInspector.StylePropertyTreeElement.prototype.get value):
2018         (WebInspector.StylePropertyTreeElement.prototype.get parsedOk):
2019         (WebInspector.StylePropertyTreeElement.prototype):
2020         (WebInspector.StylePropertyTreeElement.prototype.):
2021
2022 2010-10-27  MORITA Hajime  <morrita@google.com>
2023
2024         Reviewed by Kent Tamura.
2025
2026         WebKit needs to expose an Element::spellcheck attribute to javascript.
2027         https://bugs.webkit.org/show_bug.cgi?id=25536
2028
2029         Published Element.spellcheck property on IDL, implemented it.
2030         
2031         Tests: editing/spelling/spelling-attribute-change.html
2032                fast/dom/HTMLElement/spellcheck.html
2033
2034         * html/HTMLElement.cpp:
2035         (WebCore::HTMLElement::spellcheck):
2036         (WebCore::HTMLElement::setSpellcheck):
2037         * html/HTMLElement.h:
2038         * html/HTMLElement.idl:
2039
2040 2010-10-27  Pavel Feldman  <pfeldman@chromium.org>
2041
2042         Reviewed by Timothy Hatcher.
2043
2044         Web Inspector: make debugger work against new resource manager.
2045         https://bugs.webkit.org/show_bug.cgi?id=48376
2046
2047         * inspector/Inspector.idl:
2048         * inspector/InspectorController.cpp:
2049         (WebCore::InspectorController::identifierForInitialRequest):
2050         * inspector/InspectorResourceAgent.cpp:
2051         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
2052         * inspector/InspectorResourceAgent.h:
2053         * inspector/front-end/ExtensionServer.js:
2054         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
2055         * inspector/front-end/Resource.js:
2056         (WebInspector.Resource.prototype.set content):
2057         * inspector/front-end/ResourceManager.js:
2058         (WebInspector.ResourceManager):
2059         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
2060         (WebInspector.ResourceManager.prototype._createResource):
2061         (WebInspector.ResourceManager.prototype.willSendRequest):
2062         (WebInspector.ResourceManager.prototype._updateResourceWithRequest):
2063         (WebInspector.ResourceManager.prototype.didFinishLoading):
2064         (WebInspector.ResourceManager.prototype.didFailLoading):
2065         (WebInspector.ResourceManager.prototype.setOverrideContent):
2066         (WebInspector.ResourceManager.prototype._processCachedResources):
2067         (WebInspector.ResourceManager.prototype._addFramesRecursively):
2068         (WebInspector.ResourceManager.prototype.resourceForURL):
2069         (WebInspector.ResourceManager.prototype.addConsoleMessage):
2070         (WebInspector.ResourceManager.prototype.clearConsoleMessages):
2071         (WebInspector.ResourceManager.prototype.forAllResources):
2072         (WebInspector.ResourceManager.prototype._bindResourceURL):
2073         (WebInspector.ResourceManager.prototype._unbindResourceURL):
2074         (WebInspector.ResourceManager.getContent):
2075         (WebInspector.ResourceTreeModel):
2076         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
2077         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
2078         (WebInspector.ResourceTreeModel.prototype._clearResources):
2079         * inspector/front-end/StoragePanel.js:
2080         (WebInspector.StoragePanel.prototype.addOrUpdateFrame):
2081         * inspector/front-end/networkPanel.css:
2082         (.network.panel .resources-dividers):
2083
2084 2010-10-28  Andy Estes  <aestes@apple.com>
2085
2086         One more Qt fix due to r70754.
2087
2088         * html/HTMLObjectElement.cpp:
2089         (WebCore::HTMLObjectElement::hasValidClassId):
2090
2091 2010-10-28  Pascal Massimino  <pascal.massimino@gmail.com>
2092
2093         Reviewed by Adam Barth.
2094
2095         fix setSize() call flow: it was only called the first
2096         time (when onlySize is true)
2097         Bug URL: https://bugs.webkit.org/show_bug.cgi?id=48494
2098
2099         Testing: difficult to exercise the bug, as it requires
2100         some manual flow (change tab, scroll,...)
2101
2102         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2103         (WebCore::WEBPImageDecoder::decode):
2104            fix: call setSize() even when onlySize is false
2105
2106 2010-10-28  Andy Estes  <aestes@apple.com>
2107
2108         Fix the Qt build after r70754.
2109
2110         * html/HTMLObjectElement.cpp:
2111         (WebCore::HTMLObjectElement::hasValidClassId):
2112         (WebCore::HTMLObjectElement::updateWidget):
2113         * html/HTMLObjectElement.h:
2114
2115 2010-10-28  Andy Estes  <aestes@apple.com>
2116
2117         Reviewed by Adam Barth.
2118
2119         Fix a test failure introduced in r70748 by supporting Qt's non-standard
2120         use of classid.
2121         https://bugs.webkit.org/show_bug.cgi?id=45679
2122
2123         * html/HTMLObjectElement.cpp:
2124         (WebCore::objectHasSupportedClassId): Return true if the object's
2125         serviceType is 'application/x-qt-plugin'.
2126         (WebCore::HTMLObjectElement::updateWidget): Do not render fallback
2127         content if a non-empty classid is specified for a Qt plugin object.
2128
2129 2010-10-28  Ivan Krstić  <ike@apple.com>
2130
2131         Reviewed by Mark Rowe.
2132
2133         Remove unused experimental proxied panel interface.
2134         <rdar://problem/7237059>
2135
2136         * WebCore.exp.in:
2137         * platform/mac/WebCoreSystemInterface.h:
2138         * platform/mac/WebCoreSystemInterface.mm:
2139
2140 2010-10-27  Andy Estes  <aestes@apple.com>
2141
2142         Reviewed by Adam Barth.
2143
2144         r66156 broke AtlasCT library, formerly affected http://map.d.co.il/
2145         https://bugs.webkit.org/show_bug.cgi?id=45679
2146
2147         This patch removes WebKit's map of classid values to MIME types. It also
2148         changes the behavior of object elements to render fallback content when
2149         a non-empty classid attribute is specified, which is the behavior HTML5
2150         specifies when a UA encounters a classid it doesn't understand.
2151
2152         Test: fast/replaced/object-with-non-empty-classid-triggers-fallback.html
2153
2154         * html/HTMLObjectElement.cpp: Remove serviceTypeForClassId(),
2155         createClassIdToTypeMap(), and the ClassIdToTypeMap typedef.
2156         (WebCore::HTMLObjectElement::updateWidget): Do not call
2157         serviceTypeForClassId() when there is no type attribute, and render
2158         fallback content if the classid attribute is non-empty.
2159
2160 2010-10-27  Eric Uhrhane  <ericu@chromium.org>
2161
2162         Reviewed by David Levin.
2163
2164         [Chromium] Metadata queries should return full file info, not just modification time
2165         https://bugs.webkit.org/show_bug.cgi?id=48098
2166
2167         LayoutTests that use this functionality via WorkerAsyncFileWriter are in review.
2168
2169         Build file changes to add FileMetadata.
2170         * GNUmakefile.am:
2171         * WebCore.gypi:
2172         * WebCore.pro:
2173         * WebCore.vcproj/WebCore.vcproj:
2174         * WebCore.xcodeproj/project.pbxproj:
2175
2176         The rest of the changes here just pass the new FileMetadata object through calls that used to take a modification time.
2177         * platform/FileMetadata.h: Added.
2178         (WebCore::FileMetadata::FileMetadata):
2179         * fileapi/FileSystemCallbacks.cpp:
2180         (WebCore::FileSystemCallbacksBase::didReadMetadata):
2181         (WebCore::MetadataCallbacks::didReadMetadata):
2182         * fileapi/FileSystemCallbacks.h:
2183         * platform/AsyncFileSystemCallbacks.h:
2184
2185 2010-10-27  Chris Rogers  <crogers@google.com>
2186
2187         Reviewed by Kenneth Russell.
2188
2189         Add VectorMath files
2190         https://bugs.webkit.org/show_bug.cgi?id=48467
2191
2192         No new tests since audio API is not yet implemented.
2193
2194         * platform/audio/VectorMath.cpp: Added.
2195         (WebCore::VectorMath::vsmul):
2196         (WebCore::VectorMath::vadd):
2197         * platform/audio/VectorMath.h: Added.
2198
2199 2010-10-27  Chris Rogers  <crogers@google.com>
2200
2201         Reviewed by Kenneth Russell.
2202
2203         Fixup files affected by VectorMath and related API changes
2204         https://bugs.webkit.org/show_bug.cgi?id=48481
2205
2206         No new tests since audio API is not yet implemented.
2207
2208         * platform/audio/AudioBus.cpp:
2209         * platform/audio/AudioChannel.cpp:
2210         * platform/audio/Biquad.cpp:
2211         * platform/audio/FFTConvolver.cpp:
2212         * platform/audio/FFTConvolver.h:
2213         * platform/audio/Panner.cpp:
2214         (WebCore::Panner::create):
2215         * platform/audio/Reverb.cpp:
2216         (WebCore::calculateNormalizationScale):
2217         (WebCore::Reverb::initialize):
2218         (WebCore::Reverb::process):
2219         * platform/audio/ReverbAccumulationBuffer.cpp:
2220         * platform/audio/ReverbAccumulationBuffer.h:
2221         * platform/audio/ReverbConvolver.cpp:
2222         (WebCore::ReverbConvolver::ReverbConvolver):
2223         (WebCore::ReverbConvolver::process):
2224         * platform/audio/ReverbConvolver.h:
2225         * platform/audio/ReverbConvolverStage.cpp:
2226         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
2227         * platform/audio/ReverbConvolverStage.h:
2228         * platform/audio/ReverbInputBuffer.h:
2229
2230 2010-10-27  Kinuko Yasuda  <kinuko@chromium.org>
2231
2232         Reviewed by Dumitru Daniliuc.
2233
2234         DOMFileSystem's reference should be kept while there're any active Entries/callbacks
2235         https://bugs.webkit.org/show_bug.cgi?id=47535
2236
2237         Changed to keep DOMFileSystem's reference in each EntryBase, DirectoryReaderBase, EntryCallbacks and EntriesCallbacks.
2238
2239         Test: fast/filesystem/filesystem-reference.html
2240
2241         * fileapi/DOMFileSystemBase.cpp:
2242         (WebCore::DOMFileSystemBase::readDirectory): Changed to pass/take
2243         PassRefPtr but not a raw pointer.
2244         * fileapi/DOMFileSystemBase.h:
2245         * fileapi/DirectoryEntry.cpp:
2246         (WebCore::DirectoryEntry::DirectoryEntry): Ditto.
2247         (WebCore::DirectoryEntry::createReader):
2248         * fileapi/DirectoryEntry.h:
2249         (WebCore::DirectoryEntry::create): Ditto.
2250         * fileapi/DirectoryEntrySync.cpp:
2251         (WebCore::DirectoryEntrySync::DirectoryEntrySync): Ditto.
2252         * fileapi/DirectoryEntrySync.h:
2253         (WebCore::DirectoryEntrySync::create): Ditto.
2254         * fileapi/DirectoryReader.h:
2255         (WebCore::DirectoryReader::filesystem):
2256         * fileapi/DirectoryReaderBase.h:
2257         (WebCore::DirectoryReaderBase::filesystem):
2258         * fileapi/Entry.cpp:
2259         (WebCore::Entry::Entry): Ditto.
2260         * fileapi/Entry.h:
2261         (WebCore::Entry::filesystem):
2262         * fileapi/EntryBase.h:
2263         (WebCore::EntryBase::filesystem):
2264         (WebCore::EntryBase::EntryBase): Ditto.
2265         * fileapi/EntrySync.cpp:
2266         (WebCore::EntrySync::create): Ditto.
2267         (WebCore::EntrySync::getParent):
2268         (WebCore::EntrySync::EntrySync): Ditto.
2269         * fileapi/EntrySync.h:
2270         (WebCore::EntrySync::filesystem):
2271         * fileapi/FileEntry.cpp:
2272         (WebCore::FileEntry::FileEntry): Ditto.
2273         * fileapi/FileEntry.h:
2274         (WebCore::FileEntry::create): Ditto.
2275         * fileapi/FileEntrySync.cpp:
2276         (WebCore::FileEntrySync::FileEntrySync): Ditto.
2277         * fileapi/FileEntrySync.h:
2278         (WebCore::FileEntrySync::create): Ditto.
2279         * fileapi/FileSystemCallbacks.cpp:
2280         (WebCore::EntriesCallbacks::create): Ditto.
2281         (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto.
2282         * fileapi/FileSystemCallbacks.h:
2283
2284 2010-10-27  Yuzo Fujishima  <yuzo@google.com>
2285
2286         Reviewed by Eric Seidel.
2287
2288         Fix for Bug 48310 - SVG font-face-name without name attribute causes a crash
2289         https://bugs.webkit.org/show_bug.cgi?id=48310
2290
2291         Test: svg/custom/font-face-name-without-name-attr.svg
2292
2293         * svg/SVGFontFaceElement.cpp:
2294         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't create src
2295         property if the src value list is empty.
2296         * svg/SVGFontFaceSrcElement.cpp:
2297         (WebCore::SVGFontFaceSrcElement::srcValue): Don't add empty src
2298         values to the src value list.
2299
2300 2010-10-27  Chris Rogers  <crogers@google.com>
2301
2302         Reviewed by Kenneth Russell.
2303
2304         Allow AudioDSPKernel to function without an AudioDSPKernelProcessor
2305         https://bugs.webkit.org/show_bug.cgi?id=48472
2306
2307         No new tests since audio API is not yet implemented.
2308
2309         * platform/audio/AudioDSPKernel.h:
2310         (WebCore::AudioDSPKernel::AudioDSPKernel):
2311         (WebCore::AudioDSPKernel::sampleRate):
2312
2313 2010-10-27  Enrica Casucci  <enrica@apple.com>
2314
2315         Reviewed by Alexey Proskuryakov.
2316
2317         Support Appkit key bindings and custom key bindings in WebKit2
2318         https://bugs.webkit.org/show_bug.cgi?id=48271
2319         <rdar://problem/7660723>
2320
2321         * dom/KeyboardEvent.h:
2322         (WebCore::KeypressCommand::KeypressCommand): Added default constructor and modified assert for text
2323         insertion command constructor to support WebKit2 scenarios.
2324         The default constructor is needed to support the generated WebKit2 message processing code.
2325
2326 2010-10-26  Darin Adler  <darin@apple.com>
2327
2328         Reviewed by Sam Weinig.
2329
2330         WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
2331         https://bugs.webkit.org/show_bug.cgi?id=42322
2332         rdar://problem/8193631
2333
2334         WebKitTestRunner needs to support layoutTestController.clearBackForwardList
2335         https://bugs.webkit.org/show_bug.cgi?id=42333
2336         rdar://problem/8193643
2337
2338         * WebCore.exp.in: Updated exports.
2339
2340         * history/BackForwardList.h: Added comments about future refactoring.
2341         Moved functions that are not called inside WebCore into a separate
2342         section, to be removed later. Added an isActive function to replace the
2343         use of enabled() and entries().
2344
2345         * history/BackForwardListImpl.h: Removed isBackForwardListImpl.
2346         Marked virtual function overrides virtual explicitly, except for the
2347         ones that will be non-virtual once we make the changes above.
2348         Added the isActive function.
2349
2350         * history/PageCache.cpp:
2351         (WebCore::logCanCachePageDecision): Use isActive.
2352         (WebCore::PageCache::canCache): Ditto.
2353
2354         * loader/FrameLoader.cpp:
2355         (WebCore::FrameLoader::checkDidPerformFirstNavigation): Check
2356         using currentItem, backItem, and forwardItem instead of
2357         using entries.
2358
2359         * page/Settings.cpp:
2360         (WebCore::Settings::setUsesPageCache): Loop through the back/forward
2361         list entries using backListCount and forwardListCount instead of
2362         using entries.
2363
2364 2010-10-27  Chris Rogers  <crogers@google.com>
2365
2366         Reviewed by Chris Marrin.
2367
2368         Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
2369         https://bugs.webkit.org/show_bug.cgi?id=48279
2370
2371         No new tests since flag is disabled.
2372
2373         * Configurations/FeatureDefines.xcconfig:
2374
2375 2010-10-27  Chris Rogers  <crogers@google.com>
2376
2377         Reviewed by Kenneth Russell.
2378
2379         Add AudioResamplerKernel files
2380         https://bugs.webkit.org/show_bug.cgi?id=47624
2381
2382         No new tests since audio API is not yet implemented.
2383
2384         * platform/audio/AudioResamplerKernel.cpp: Added.
2385         (WebCore::AudioResamplerKernel::AudioResamplerKernel):
2386         (WebCore::AudioResamplerKernel::getSourcePointer):
2387         (WebCore::AudioResamplerKernel::process):
2388         (WebCore::AudioResamplerKernel::reset):
2389         (WebCore::AudioResamplerKernel::rate):
2390         * platform/audio/AudioResamplerKernel.h: Added.
2391
2392 2010-10-27  Adam Barth  <abarth@webkit.org>
2393
2394         Reviewed by Ojan Vafai.
2395
2396         REGRESSION(66511): CORDYS Process Factory doesn't work
2397         https://bugs.webkit.org/show_bug.cgi?id=48453
2398
2399         When Ojan refactored this function in 66511, he missed an "else",
2400         which causes us to generated HIERARCHY_REQUEST_ERR in some cases where
2401         we're not supposed to.  This patch restores the "else" behavior (using
2402         an early return) and adds a test for the cases that caused problems in
2403         the field.
2404
2405         Test: fast/dom/allowed-children.html
2406
2407         * dom/Node.cpp:
2408         (WebCore::isChildTypeAllowed):
2409
2410 2010-10-27  Beth Dakin  <bdakin@apple.com>
2411
2412         Reviewed by Darin Adler.
2413
2414         Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit 
2415         SPI to scale a WebView
2416         -and corresponding-
2417         <rdar://problem/8107667>
2418
2419         This patch adds SPI to Mac WebKit that scales the page by the given 
2420         scale factor. The scale factor is factored into the RenderStyle's 
2421         transform.
2422
2423         Set the current pageScale for the document.
2424         * css/CSSStyleSelector.cpp:
2425         (WebCore::CSSStyleSelector::styleForDocument):
2426
2427         Frame keeps track of the page scale factor. When 
2428         scalePage() is called, it modifies the RenderView's style to 
2429         include a transform of the appropriate scale and forces a style 
2430         recalc.
2431         * page/Frame.cpp:
2432         (WebCore::Frame::Frame):
2433         (WebCore::Frame::scalePage):
2434         * page/Frame.h:
2435         (WebCore::Frame::pageScaleFactor):
2436         * WebCore.exp.in:
2437
2438         Add a scale to the transformation matrix.
2439         * rendering/style/RenderStyle.cpp:
2440         (WebCore::RenderStyle::setPageScaleTransform):
2441         * rendering/style/RenderStyle.h:
2442
2443 2010-10-27  Dan Bernstein  <mitz@apple.com>
2444
2445         Reviewed by Darin Adler.
2446
2447         REGRESSION (r70335): Incorrect article layout in Safari Reader
2448         https://bugs.webkit.org/show_bug.cgi?id=48436
2449
2450         * page/DOMWindow.cpp:
2451         (WebCore::DOMWindow::getMatchedCSSRules): Return rules from all origins if the cross-origin
2452         check is disabled.
2453         * page/Settings.cpp:
2454         (WebCore::Settings::Settings): Initialize m_crossOriginCheckInGetMatchedCSSRulesDisabled.
2455         * page/Settings.h:
2456         (WebCore::Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled): Added this accessor.
2457         (WebCore::Settings::crossOriginCheckInGetMatchedCSSRulesDisabled): Ditto.
2458
2459 2010-10-27  Zhenyao Mo  <zmo@google.com>
2460
2461         Reviewed by Kenneth Russell.
2462
2463         refactor the nested large switch statements in GraphicsContext3DCG.cpp:getImageData()
2464         https://bugs.webkit.org/show_bug.cgi?id=47027
2465
2466         * platform/graphics/GraphicsContext3D.cpp:
2467         (WebCore::doPacking): ASSERT false if undefined format is passed in.
2468         * platform/graphics/GraphicsContext3D.h: Add kSourceFormatUndefined enum.
2469         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2470         (WebCore::getSourceDataFormat): Decide source data format from componentsPerPixel, alpha format, bitsPerComponet, etc.
2471         (WebCore::GraphicsContext3D::getImageData): Refactor the code to use getSourceDataFormat and remove nested switches.
2472
2473 2010-10-27  Patrick Gansterer  <paroga@webkit.org>
2474
2475         Reviewed by Adam Barth.
2476
2477         Use WTF::StringHasher::createBlobHash where possible
2478         https://bugs.webkit.org/show_bug.cgi?id=48228
2479
2480         Replace StringImpl::computeHash with StringHasher::createBlobHash.
2481         This removes many duplicated code.
2482
2483         * bindings/js/JSSVGPODTypeWrapper.h:
2484         (WebCore::PODTypeWrapperCacheInfoHash::hash):
2485         * page/SecurityOriginHash.h:
2486         (WebCore::SecurityOriginHash::hash):
2487         * platform/cf/SchedulePair.h:
2488         (WebCore::SchedulePairHash::hash):
2489         * platform/graphics/FontCache.cpp:
2490         (WebCore::computeHash):
2491         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2492         (WebCore::FontPlatformData::RefCountedHFONT::hash):
2493         * platform/graphics/cocoa/FontPlatformData.h:
2494         (WebCore::FontPlatformData::hash):
2495         * platform/graphics/gtk/FontPlatformDataPango.h:
2496         (WebCore::FontPlatformData::hash):
2497         * platform/graphics/wince/FontPlatformData.cpp:
2498         (WebCore::FixedSizeFontDataKeyHash::hash):
2499         * platform/graphics/wx/FontPlatformDataWx.cpp:
2500         (WebCore::FontPlatformData::FontPlatformData):
2501         (WebCore::FontPlatformData::computeHash):
2502         * plugins/PluginPackage.cpp:
2503         (WebCore::PluginPackage::hash):
2504         * plugins/win/PluginPackageWin.cpp:
2505         (WebCore::PluginPackage::hash):
2506         * svg/DeprecatedSVGAnimatedTemplate.h:
2507         (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash):
2508         * svg/properties/SVGAnimatedPropertyDescription.h:
2509         (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
2510
2511 2010-10-27  Tony Chang  <tony@chromium.org>
2512
2513         Unreviewed, build fix after r70692.
2514
2515         * rendering/RenderBoxModelObject.cpp:
2516         (WebCore::RenderBoxModelObject::paintBorder):
2517
2518 2010-10-27  Leandro Pereira  <leandro@profusion.mobi>
2519
2520         Unreviewed. Build fix after r70651.
2521
2522         * CMakeListsEfl.txt: Add SoupURIUtils.cpp.
2523
2524 2010-10-27  Crystal Zhang  <haizhang@rim.com>
2525
2526         Reviewed by Eric Carlson.
2527
2528         https://bugs.webkit.org/show_bug.cgi?id=48446
2529
2530         Fix an issue where we were passing the wrong parameter
2531         to MIMETypeRegistry::getMIMETypeForExtension().
2532
2533         * platform/MIMETypeRegistry.cpp:
2534
2535 2010-10-27  David Hyatt  <hyatt@apple.com>
2536
2537         Reviewed by Beth Dakin.
2538
2539         https://bugs.webkit.org/show_bug.cgi?id=48449
2540         
2541         Make border drawing work correctly with vertical inline flows.  The top and bottom edge have to be omitted
2542         rather than the left and right edges.
2543         
2544         Also discovered that border-radius is broken with the new path-based-drawing code for all inline flows.  This
2545         is a regression from the old drawing code.  I patched the code to be correct rather than clipping out stuff
2546         that it shouldn't and applying border-radii on lines that don't even have them.
2547
2548         Added fast/blockflow/border-vertical-lr.html and fast/borders/border-radius-inline-flow.html
2549
2550         * rendering/RenderBoxModelObject.cpp:
2551         (WebCore::RenderBoxModelObject::paintBorder):
2552         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2553         * rendering/RenderBoxModelObject.h:
2554
2555 2010-10-27  Martin Robinson  <mrobinson@igalia.com>
2556
2557         Reviewed by Gustavo Noronha Silva.
2558
2559         [Cairo] Font fallback determination is very ineffecient
2560         https://bugs.webkit.org/show_bug.cgi?id=42052
2561
2562         When choosing a fallback font in FontCache::getFontDataForCharacters, use FontConfig's
2563         mechanism for searching the fallback list directly, instead of scanning the list manually.
2564         If the font is a custom font or any other font with no FontConfig pattern associated with
2565         it, as FontConfig for a font that can supply the missing glyphs.
2566
2567         Test: platform/gtk/fonts/custom-font-missing-glyphs.html
2568
2569         * platform/graphics/cairo/FontCacheFreeType.cpp:
2570         (WebCore::createFontConfigPatternForCharacters): Added this helper which turns
2571         a collection of unicode characters into a FontConfig pattern.
2572         (WebCore::findBestFontGivenFallbacks): Using a FontConfig pattern created with th
2573         above helper and a FcFontSet of fallback fonts, this helper will find a font in
2574         the set which fulfills the requirments.
2575         (WebCore::FontCache::getFontDataForCharacters): Given an existing font with missing
2576         glyphs, either find an appropriate fallback font from the list of FontConfig fallbacks
2577         or ask FontConfig directly for an appropriate font.
2578         * platform/graphics/cairo/FontPlatformDataFreeType.h: Made a member mutable, as it is
2579         initialized lazily.
2580
2581 2010-10-27  Alexander Pavlov  <apavlov@chromium.org>
2582
2583         Reviewed by Pavel Feldman.
2584
2585         Web Inspector: "Reload Page and Audit on Load" fails to run audits when resource tracking is disabled
2586         https://bugs.webkit.org/show_bug.cgi?id=48431
2587
2588         * inspector/front-end/AuditsPanel.js:
2589         (WebInspector.AuditsPanel.prototype._reloadResources):
2590         * inspector/front-end/ResourcesPanel.js:
2591         (WebInspector.ResourcesPanel.prototype._createPanelEnabler):
2592         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
2593
2594 2010-10-27  Abhishek Arya  <inferno@chromium.org>
2595
2596         Reviewed by Dave Hyatt.
2597
2598         Add a function to make sure child is allowed before adding to a
2599         render view. 
2600         https://bugs.webkit.org/show_bug.cgi?id=48328 
2601
2602         Test: fast/inline/inline-child-height-width-calc-crash.html
2603
2604         * rendering/RenderView.cpp:
2605         (WebCore::RenderView::isChildAllowed):
2606         * rendering/RenderView.h:
2607
2608 2010-10-27  Martin Robinson  <mrobinson@igalia.com>
2609
2610         Reviewed by Gustavo Noronha Silva.
2611
2612         [GTK] r69296 includes a cast from GdkWindow* to GtkWindow*
2613         https://bugs.webkit.org/show_bug.cgi?id=48445
2614
2615         Pass the pageClient GtkWidget* to gtk_xtbin_new instead of the
2616         GdkWindow*. The pageClient is used to get the proper visual for the
2617         plugin container widget.
2618
2619         No new tests. This patch should prevent plugins/null-npp-getvalue-pointer.html
2620         from crashing.
2621
2622         * plugins/gtk/PluginViewGtk.cpp:
2623         (WebCore::PluginView::platformStart): Pass the widget instead of the window.
2624         * plugins/gtk/gtk2xtbin.c: Accept the widget instead of the window.
2625         (gtk_xtbin_new):
2626         * plugins/gtk/gtk2xtbin.h: Update the declaration.
2627
2628 2010-10-27  Kwang Yul Seo  <skyul@company100.net>
2629
2630         Reviewed by James Robinson.
2631
2632         [BREWMP] Port graphics backend
2633         https://bugs.webkit.org/show_bug.cgi?id=40275
2634
2635         Add PLATFORM(BREWMP) guard to skia's FontCustomPlatformData
2636         to share OS(LINUX) implementation.
2637
2638         * loader/CachedFont.cpp:
2639         * platform/graphics/skia/FontCustomPlatformData.cpp:
2640         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2641         (WebCore::FontCustomPlatformData::fontPlatformData):
2642         (WebCore::createFontCustomPlatformData):
2643         * platform/graphics/skia/FontCustomPlatformData.h:
2644
2645 2010-10-27  Satish Sampath  <satish@chromium.org>
2646
2647         Unreviewed, rolling out r70665.
2648         http://trac.webkit.org/changeset/70665
2649         https://bugs.webkit.org/show_bug.cgi?id=47089
2650
2651         Need to address Alexey's review comments.
2652
2653         * page/SpeechInput.cpp:
2654         (WebCore::SpeechInput::startRecognition):
2655         * page/SpeechInput.h:
2656         * page/SpeechInputClient.h:
2657         * platform/mock/SpeechInputClientMock.cpp:
2658         (WebCore::SpeechInputClientMock::startRecognition):
2659         (WebCore::SpeechInputClientMock::setRecognitionResult):
2660         (WebCore::SpeechInputClientMock::timerFired):
2661         * platform/mock/SpeechInputClientMock.h:
2662         * rendering/TextControlInnerElements.cpp:
2663         (WebCore::TextControlInnerElement::attachInnerElement):
2664         (WebCore::SearchFieldCancelButtonElement::detach):
2665         (WebCore::SpinButtonElement::defaultEventHandler):
2666         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2667         (WebCore::InputFieldSpeechButtonElement::detach):
2668
2669 2010-10-27  ZHenyao Mo  <zmo@google.com>
2670
2671         Reviewed by Kenneth Russell.
2672
2673         Must enable GL_POINT_SPRITE in GraphicsContext3D implementations
2674         https://bugs.webkit.org/show_bug.cgi?id=45908
2675
2676         * platform/graphics/mac/GraphicsContext3DMac.mm: Enable for Mac port.
2677         (WebCore::GraphicsContext3D::GraphicsContext3D):
2678
2679 2010-10-27  Leandro Gracia Gil  <leandrogracia@google.com>
2680
2681         Reviewed by Jeremy Orlow.
2682
2683         Patch the current speech input implementation to use the nearest
2684         language tag. The language is now passed to the startRecognition
2685         methods so that language-specific recognition could be used. Also added
2686         a second parameter to setMockSpeechInputResult for the language used in
2687         speech recognition.
2688         https://bugs.webkit.org/show_bug.cgi?id=47089
2689
2690         This is the 2nd of a 4-sided patch in Chromium and WebKit. For more
2691         details see http://codereview.chromium.org/3615005/show and
2692         http://codereview.chromium.org/3595018/show. The last of the 4 patches
2693         depends also on the language tag validation provided by this patch:
2694         https://bugs.webkit.org/show_bug.cgi?id=48225.
2695
2696         Test: fast/speech/input-text-language-tag.html
2697
2698         * page/SpeechInput.cpp:
2699         (WebCore::SpeechInput::startRecognition):
2700         * page/SpeechInput.h:
2701         * page/SpeechInputClient.h:
2702         * platform/mock/SpeechInputClientMock.cpp:
2703         (WebCore::SpeechInputClientMock::startRecognition):
2704         (WebCore::SpeechInputClientMock::setRecognitionResult):
2705         (WebCore::SpeechInputClientMock::timerFired):
2706         * platform/mock/SpeechInputClientMock.h:
2707         * rendering/TextControlInnerElements.cpp:
2708         (WebCore::TextControlInnerElement::attachInnerElement):
2709         (WebCore::SearchFieldCancelButtonElement::detach):
2710         (WebCore::SpinButtonElement::defaultEventHandler):
2711         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2712         (WebCore::InputFieldSpeechButtonElement::detach):
2713
2714 2010-10-27  David Hyatt  <hyatt@apple.com>
2715
2716         Reviewed by Dan Bernstein.
2717
2718         https://bugs.webkit.org/show_bug.cgi?id=48381
2719
2720         Make basic layer positioning work with vertical-lr writing-mode.
2721
2722         * rendering/RenderBlock.cpp:
2723         (WebCore::RenderBlock::paintChildren):
2724         (WebCore::RenderBlock::paintFloats):
2725         * rendering/RenderBox.cpp:
2726         (WebCore::RenderBox::adjustForFlippedBlocksWritingMode):
2727         (WebCore::RenderBox::locationOffsetIncludingFlipping):
2728         * rendering/RenderBox.h:
2729         * rendering/RenderLayer.cpp:
2730         (WebCore::RenderLayer::updateLayerPosition):
2731
2732 2010-10-27  Zhenyao Mo  <zmo@google.com>
2733
2734         Reviewed by Kenneth Russell.
2735
2736         object-deletion-behaviour.html fails with mesa backend
2737         https://bugs.webkit.org/show_bug.cgi?id=46667
2738
2739         * html/canvas/WebGLRenderingContext.cpp:
2740         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): If object_type is 0, we return early because object_name should be always be 0.
2741
2742 2010-10-27  Zhenyao Mo  <zmo@google.com>
2743
2744         Reviewed by Kenneth Russell.
2745
2746         If WebGL is running on top of a strict version of OpenGL ES it should make sure attribs have buffers assigned at all times
2747         https://bugs.webkit.org/show_bug.cgi?id=47964
2748
2749         * html/canvas/WebGLRenderingContext.cpp:
2750         (WebCore::WebGLRenderingContext::validateRenderingState): Minimum checking: if input <= 0, only check if each enabled vertex attribute is bound to a buffer.
2751         (WebCore::WebGLRenderingContext::drawArrays): If underlying GL performs bounds checking, we still need to do the minimum checking using validateRenderingState.
2752         (WebCore::WebGLRenderingContext::drawElements): Ditto.
2753         * html/canvas/WebGLRenderingContext.h: Add a comment for input <= 0 in validateRenderingState.
2754
2755 2010-10-27  Simon Fraser  <simon.fraser@apple.com>
2756
2757         Reviewed by Dan Bernstein.
2758
2759         Accelerated animation with missing values in keyframes is broken
2760         https://bugs.webkit.org/show_bug.cgi?id=48395
2761
2762         r66339 changed the behavior of keyframe animations such that if a property
2763         is missing from a keyframe, the property will be interpolated between those
2764         keyframes that do have a value for the property. If a value is missing
2765         from the first or last keyframes, the element's unanimated style supplies
2766         that value.
2767         
2768         However, accelerated animations had a bug where if a value was missing
2769         from the first (and maybe subsequent) or last (and maybe preceding) keyframes,
2770         the animation data given to the GraphicsLayer would be missing the style from the
2771         first or final keyframe.
2772
2773         Tests: animations/missing-values-first-keyframe.html
2774                animations/missing-values-last-keyframe.html
2775
2776         * rendering/RenderLayerBacking.cpp:
2777         (WebCore::RenderLayerBacking::startAnimation):
2778
2779 2010-10-27  Renata Hodovan  <reni@inf.u-szeged.hu>
2780
2781         Reviewed by Dirk Schulze.
2782
2783         Calling the super class of RenderSVGImage::updateFromElement is missing
2784         https://bugs.webkit.org/show_bug.cgi?id=48347
2785
2786         RenderSVGImage::updateFromElement is an inherited function of RenderSVGModelObject what needs calling its ancestor.
2787         Lack of this call caused filters were not invalidated at SVGImage objects.
2788
2789         No new tests, because this modification is covered by SVGFEConvolveMatrixElement's dynamic update tests.
2790
2791         * rendering/RenderSVGImage.cpp:
2792         (WebCore::RenderSVGImage::updateFromElement):
2793
2794 2010-10-27  Justin Schuh  <jschuh@chromium.org>
2795
2796         Reviewed by Dirk Schulze.
2797
2798         Ignore invalid blend modes
2799         https://bugs.webkit.org/show_bug.cgi?id=48371
2800
2801         Test: svg/filters/feBlend-invalid-mode.xhtml
2802
2803         * platform/graphics/filters/FEBlend.cpp:
2804         (WebCore::FEBlend::apply):
2805
2806 2010-10-27  Sergio Villar Senin  <svillar@igalia.com>
2807
2808         Reviewed by Martin Robinson.
2809
2810         [Gtk] http/tests/xmlhttprequest/basic-auth-default.html fails
2811         https://bugs.webkit.org/show_bug.cgi?id=38956
2812
2813         Added a new utility function that turns SoupURIs into
2814         KURLs. That addresses some issues with SoupURIs like for example
2815         soup_uri_to_string ignoring the URI password. Basic authentication
2816         using URL credentials should work now.
2817
2818         * GNUmakefile.am:
2819         * platform/network/soup/ResourceHandleSoup.cpp:
2820         (WebCore::ResourceHandle::start):
2821         (WebCore::ResourceHandle::loadResourceSynchronously):
2822         * platform/network/soup/ResourceRequestSoup.cpp:
2823         (WebCore::ResourceRequest::updateFromSoupMessage):
2824         * platform/network/soup/ResourceResponseSoup.cpp:
2825         (WebCore::ResourceResponse::updateFromSoupMessage):
2826         * platform/network/soup/SoupURIUtils.cpp: Added.
2827         (WebCore::soupURIToKURL):
2828         * platform/network/soup/SoupURIUtils.h: Added.
2829
2830 2010-10-27  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2831
2832         Reviewed by Andreas Kling.
2833
2834         Remove references to ancient QGVLauncher and QtLauncher
2835         https://bugs.webkit.org/show_bug.cgi?id=48430
2836
2837         * manual-tests/plugins/windowed.html: change to QtTestBrowser
2838         * manual-tests/plugins/windowless.html: ditto
2839
2840 2010-10-27  Patrick Gansterer  <paroga@webkit.org>
2841
2842         Reviewed by Csaba Osztrogonác.
2843
2844         [WINCE] Buildfix after r70400.
2845         https://bugs.webkit.org/show_bug.cgi?id=48419
2846
2847         * platform/wince/TemporaryLinkStubs.cpp: Added.
2848         (WebCore::setCookieStoragePrivateBrowsingEnabled):
2849
2850 2010-10-27  Satish Sampath  <satish@chromium.org>
2851
2852         Reviewed by Steve Block.
2853
2854         Add runtime flag check before enabling speech input in code.
2855         https://bugs.webkit.org/show_bug.cgi?id=48426
2856
2857         * html/HTMLInputElement.cpp:
2858         (WebCore::HTMLInputElement::isSpeechEnabled): Added runtime flag check.
2859
2860 2010-10-27  Adam Roben  <aroben@apple.com>
2861
2862         Only decompress pixel buffers when needed (and fix a crash in the
2863         process)
2864
2865         Fixes <http://webkit.org/b/48417> Crash when running
2866         compositing/video/video-background-color.html on Windows
2867
2868         Reviewed by Anders Carlsson.
2869
2870         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2871         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Only
2872         decompress the pixel buffer when it has an incompatible format. This
2873         also has the benefit of only decompressing the buffer when a
2874         QTDecompressionSession has been created! (I assume this was just a typo
2875         from when this code was added in r70252.)
2876
2877 2010-10-27  Mario Sanchez Prada  <msanchez@igalia.com>
2878
2879         Reviewed by Martin Robinson.
2880
2881         getTextAtOffset returns incorrect results if a link includes text and an image
2882         https://bugs.webkit.org/show_bug.cgi?id=47365
2883
2884         Properly consider text under a non-text renderer in textForObject.
2885
2886         We need to check all the children under a non-text renderer, if
2887         any, to consider when current object is not a text object but some
2888         of its children are, in order not to miss those portions of text
2889         by not properly handling those situations.
2890
2891         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2892         (textForRenderer): New. Get the text for a RenderObject's children.
2893         (textForObject): Use the new textForRenderer function.
2894
2895 2010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2896
2897         Reviewed by Rob Buis.
2898
2899         Convert SVGRect to the new SVGPropertyTearOff concept
2900         https://bugs.webkit.org/show_bug.cgi?id=48204
2901
2902         Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
2903         Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
2904
2905         Test: svg/dom/SVGRect.html
2906
2907         * GNUmakefile.am: Add SVGAnimatedRect.h to build.
2908         * WebCore.gypi: Ditto.
2909         * WebCore.pro: Ditto.
2910         * WebCore.vcproj/WebCore.vcproj: Ditto.
2911         * WebCore.xcodeproj/project.pbxproj: Ditto.
2912         * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
2913         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
2914         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
2915         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2916         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
2917         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
2918         * svg/SVGAngle.idl: Remove [SVGProperty] flag.
2919         * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
2920         * svg/SVGAnimatedLength.idl: Ditto.
2921         * svg/SVGAnimatedLengthList.idl: Ditto.
2922         * svg/SVGAnimatedRect.h: Added.
2923         * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
2924         * svg/SVGLength.idl: Remove [SVGProperty] flag.
2925         * svg/SVGMarkerElement.h:
2926         * svg/SVGPatternElement.h:
2927         * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
2928         * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
2929         (WebCore::SVGSVGElement::currentView):
2930         (WebCore::SVGSVGElement::inheritViewAttributes):
2931         * svg/SVGSVGElement.h:
2932         * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
2933         * svg/SVGSymbolElement.h:
2934         * svg/SVGViewElement.h:
2935         * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
2936         (WebCore::SVGViewSpec::SVGViewSpec):
2937         * svg/SVGViewSpec.h: Ditto.
2938         (WebCore::SVGViewSpec::contextElement):
2939         * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
2940         * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
2941
2942 2010-10-27  Pavel Podivilov  <podivilov@chromium.org>
2943
2944         Unreviewed, fix line endings in InspectorState.h
2945
2946         * inspector/InspectorState.h:
2947
2948 2010-10-27  Pavel Podivilov  <podivilov@chromium.org>
2949
2950         Reviewed by Pavel Feldman.
2951
2952         Web Inspector: move frontend settings to local storage
2953         https://bugs.webkit.org/show_bug.cgi?id=47715
2954
2955         * inspector/Inspector.idl:
2956         * inspector/InspectorController.cpp:
2957         (WebCore::InspectorController::InspectorController):
2958         (WebCore::InspectorController::didCommitLoad):
2959         * inspector/InspectorController.h:
2960         * inspector/InspectorState.cpp:
2961         (WebCore::InspectorState::InspectorState):
2962         * inspector/InspectorState.h:
2963         * inspector/front-end/ConsoleView.js:
2964         * inspector/front-end/EventListenersSidebarPane.js:
2965         * inspector/front-end/NetworkPanel.js:
2966         (WebInspector.NetworkPanel.prototype._createStatusbarButtons):
2967         * inspector/front-end/Panel.js:
2968         (WebInspector.Panel):
2969         * inspector/front-end/ResourcesPanel.js:
2970         (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
2971         * inspector/front-end/Settings.js:
2972         (WebInspector.Settings):
2973         (WebInspector.Settings.prototype.installApplicationSetting):
2974         (WebInspector.Settings.prototype.installProjectSetting):
2975         (WebInspector.Settings.prototype._get):
2976         (WebInspector.Settings.prototype._set):
2977         (WebInspector.Settings.prototype._getProjectSetting):
2978         (WebInspector.Settings.prototype._setProjectSetting):
2979         (WebInspector.Settings.prototype._formatProjectKey):
2980         * inspector/front-end/StylesSidebarPane.js:
2981         * inspector/front-end/WatchExpressionsSidebarPane.js:
2982         (WebInspector.WatchExpressionsSidebarPane):
2983         (WebInspector.WatchExpressionsSidebarPane.prototype.reset):
2984         * inspector/front-end/inspector.js:
2985         (WebInspector.reset):
2986
2987 2010-10-27  Andy Estes  <aestes@apple.com>
2988
2989         Reviewed by David Hyatt.
2990
2991         Siblings of floated elements should be cleared below the float if they
2992         are too wide to fit in the containing block.
2993         https://bugs.webkit.org/show_bug.cgi?id=48396
2994
2995         Test: fast/block/float/clear-element-too-wide-for-containing-block.html
2996
2997         WebKit did not clear elements adjacent to floats if they were wider than
2998         the containing block, instead keeping them on the same line and allowing
2999         them to spill out the right side of the containing block. We should
3000         match the spec in this regard and clear the element below the float even
3001         if it is too wide for the containing block. Doing this seems to also
3002         match IE's and Firefox's behavior.
3003
3004         * rendering/RenderBlock.cpp:
3005         (WebCore::RenderBlock::getClearDelta): Continue to compute the clear
3006         delta even if the child's minimum preferred width is greater than the
3007         containing block's available width.
3008
3009 2010-10-26  Rob Buis  <rwlbuis@gmail.com>
3010
3011         Reviewed by Nikolas Zimmermann.
3012
3013         Title-Element has no popup on <svg>-Elements, but on <g>
3014         https://bugs.webkit.org/show_bug.cgi?id=47669
3015
3016         Allow tooltips on non-root svg elements.
3017
3018         No new tests.
3019
3020         * svg/SVGStyledElement.cpp:
3021
3022 2010-10-26  Dai Mikurube  <dmikurube@google.com>
3023
3024         Reviewed by Kent Tamura.
3025
3026         constraint validation: stepMismatch (rounding error)
3027         https://bugs.webkit.org/show_bug.cgi?id=48220
3028
3029         1. Changed the computation to achieve difference from a integral
3030         multiple of the allowed value step.
3031
3032         The previous fmod(doubleValue, step) sometimes returned unacceptable
3033         remainder. For example,
3034             double doubleValue = 1.005; // Actually, near to 1.005
3035             double step = 0.005; // Actually, near to 0.005
3036             fmod(doubleValue, step) ==> (near to) 0.005
3037         It's a case that doubleValue is a little smaller than 1.005 and step is
3038         a little larger than 0.005.
3039
3040         2. Changed the error threshold.
3041
3042         Number values in HTML5 are expressed in IEEE 754 single-precision.
3043         Too precise comparison sometimes leads unintended errors.
3044
3045         For example, I found a case :
3046                   remainder = 0.00000000000000022204460
3047             acceptableError = 0.00000000000000007105427
3048
3049         * html/NumberInputType.cpp:
3050         (WebCore::NumberInputType::stepMismatch):
3051
3052 2010-10-26  Chris Rogers  <crogers@google.com>
3053
3054         Reviewed by Kenneth Russell.
3055
3056         Add DelayNode files
3057         https://bugs.webkit.org/show_bug.cgi?id=47516
3058
3059         No new tests since audio API is not yet implemented.
3060
3061         * webaudio/DelayNode.cpp: Added.
3062         (WebCore::DelayNode::DelayNode):
3063         (WebCore::DelayNode::delayTime):
3064         * webaudio/DelayNode.h: Added.
3065         (WebCore::DelayNode::create):
3066         (WebCore::DelayNode::delayProcessor):
3067         * webaudio/DelayNode.idl: Added.
3068
3069 2010-10-26  Chris Rogers  <crogers@google.com>
3070
3071         Reviewed by Kenneth Russell.
3072
3073         AudioContext and AudioNode followup changes for AudioNodeInput/AudioNodeOutput thread safety
3074         https://bugs.webkit.org/show_bug.cgi?id=47504
3075
3076         No new tests since audio API is not yet implemented.
3077
3078         * webaudio/AudioContext.cpp:
3079         (WebCore::AudioContext::isAudioThread):
3080         (WebCore::AudioContext::isGraphOwner):
3081         (WebCore::AudioContext::handlePreRenderTasks):
3082         (WebCore::AudioContext::handlePostRenderTasks):
3083         (WebCore::AudioContext::deleteMarkedNodes):
3084         (WebCore::AudioContext::markAudioNodeInputDirty):
3085         (WebCore::AudioContext::markAudioNodeOutputDirty):
3086         (WebCore::AudioContext::handleDirtyAudioNodeInputs):
3087         (WebCore::AudioContext::handleDirtyAudioNodeOutputs):
3088         * webaudio/AudioContext.h:
3089         * webaudio/AudioNode.cpp:
3090         * webaudio/AudioNode.h:
3091         (WebCore::AudioNode::isMarkedForDeletion):
3092         * webaudio/AudioNode.idl:
3093
3094 2010-10-26  Chris Rogers  <crogers@google.com>
3095
3096         Reviewed by Kenneth Russell.
3097
3098         Add DelayProcessor files
3099         https://bugs.webkit.org/show_bug.cgi?id=47517
3100
3101         No new tests since audio API is not yet implemented.
3102
3103         * webaudio/DelayProcessor.cpp: Added.
3104         (WebCore::DelayProcessor::DelayProcessor):
3105         (WebCore::DelayProcessor::~DelayProcessor):
3106         (WebCore::DelayProcessor::createKernel):
3107         * webaudio/DelayProcessor.h: Added.
3108         (WebCore::DelayProcessor::delayTime):
3109
3110 2010-10-26  Chris Rogers  <crogers@google.com>
3111
3112         Reviewed by Kenneth Russell.
3113
3114         Add AudioNodeOutput files
3115         https://bugs.webkit.org/show_bug.cgi?id=45581
3116
3117         No new tests since audio API is not yet implemented.
3118
3119         * webaudio/AudioNodeOutput.cpp: Added.
3120         (WebCore::AudioNodeOutput::AudioNodeOutput):
3121         (WebCore::AudioNodeOutput::setNumberOfChannels):
3122         (WebCore::AudioNodeOutput::setInternalBus):
3123         (WebCore::AudioNodeOutput::updateRenderingState):
3124         (WebCore::AudioNodeOutput::updateNumberOfChannels):
3125         (WebCore::AudioNodeOutput::propagateChannelCount):
3126         (WebCore::AudioNodeOutput::pull):
3127         (WebCore::AudioNodeOutput::bus):
3128         (WebCore::AudioNodeOutput::renderingFanOutCount):
3129         (WebCore::AudioNodeOutput::fanOutCount):
3130         (WebCore::AudioNodeOutput::addInput):
3131         (WebCore::AudioNodeOutput::removeInput):
3132         (WebCore::AudioNodeOutput::disconnectAllInputs):
3133         (WebCore::AudioNodeOutput::disable):
3134         (WebCore::AudioNodeOutput::enable):
3135         * webaudio/AudioNodeOutput.h: Added.
3136         (WebCore::AudioNodeOutput::node):
3137         (WebCore::AudioNodeOutput::context):
3138         (WebCore::AudioNodeOutput::numberOfChannels):
3139         (WebCore::AudioNodeOutput::isChannelCountKnown):
3140
3141 2010-10-26  Chris Rogers  <crogers@google.com>
3142
3143         Reviewed by Kenneth Russell.
3144
3145         Add AudioNodeInput files
3146         https://bugs.webkit.org/show_bug.cgi?id=45577
3147
3148         No new tests since audio API is not yet implemented.
3149
3150         * webaudio/AudioNodeInput.cpp: Added.
3151         (WebCore::AudioNodeInput::AudioNodeInput):
3152         (WebCore::AudioNodeInput::connect):
3153         (WebCore::AudioNodeInput::disconnect):
3154         (WebCore::AudioNodeInput::disable):
3155         (WebCore::AudioNodeInput::enable):
3156         (WebCore::AudioNodeInput::changedOutputs):
3157         (WebCore::AudioNodeInput::updateRenderingState):
3158         (WebCore::AudioNodeInput::numberOfChannels):
3159         (WebCore::AudioNodeInput::numberOfRenderingChannels):
3160         (WebCore::AudioNodeInput::bus):
3161         (WebCore::AudioNodeInput::internalSummingBus):
3162         (WebCore::AudioNodeInput::sumAllConnections):
3163         (WebCore::AudioNodeInput::pull):
3164         * webaudio/AudioNodeInput.h: Added.
3165         (WebCore::AudioNodeInput::node):
3166         (WebCore::AudioNodeInput::context):
3167         (WebCore::AudioNodeInput::numberOfRenderingConnections):
3168         (WebCore::AudioNodeInput::renderingOutput):
3169         (WebCore::AudioNodeInput::isConnected):
3170         (WebCore::AudioNodeInput::numberOfConnections):
3171
3172 2010-10-26  MORITA Hajime  <morrita@google.com>
3173
3174         Reviewed by Tony Chang.
3175
3176         Rolling in r70512 again, added missing null-check to
3177         Editor::isSpellCheckingEnabled().
3178         http://trac.webkit.org/changeset/70512
3179
3180         spellcheck='' should be the same as spellcheck="true"
3181         https://bugs.webkit.org/show_bug.cgi?id=25539
3182
3183         * dom/Element.cpp:
3184         (WebCore::Element::spellcheckAttributeState):
3185         (WebCore::Element::isSpellCheckingEnabled):
3186         * dom/Element.h:
3187         * editing/Editor.cpp:
3188         (WebCore::markMisspellingsOrBadGrammar):
3189         (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
3190         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3191         * editing/Editor.h:
3192         * platform/ContextMenu.cpp:
3193         (WebCore::ContextMenu::populate):
3194
3195 2010-10-26  Brent Fulgham  <bfulgham@webkit.org>
3196
3197         Unreviewed build fixes.
3198
3199         * WebCore.vcproj/WebCore.vcproj: Turn off several non-WinCairo
3200         files.  We don't support CoreAnimation!
3201         * WebCore.vcproj/WebCoreCairo.vsprops: Add missing include path
3202         for 'image-decoders/webp'
3203         * platform/network/curl/CookieJarCurl.cpp:
3204         (WebCore::setCookieStoragePrivateBrowsingEnabled): Add build stub.
3205
3206 2010-10-26  Ryosuke Niwa  <rniwa@webkit.org>
3207
3208         Reviewed by Kent Tamura.
3209
3210         Crash in CompositeEditCommand::splitTreeToNode
3211         https://bugs.webkit.org/show_bug.cgi?id=48349
3212
3213         The bug was caused by indentIntoBlockquote's passing null pointer to splitTreeToNode.
3214         Fixed the crash by adding early exits.
3215
3216         Test: editing/execCommand/indent-node-to-split-to-crash.html
3217
3218         * editing/CompositeEditCommand.cpp:
3219         (WebCore::CompositeEditCommand::splitTreeToNode):
3220         * editing/IndentOutdentCommand.cpp:
3221         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
3222
3223 2010-10-26  Ryosuke Niwa  <rniwa@webkit.org>
3224
3225         Reviewed by Kent Tamura.
3226
3227         REGRESSION(r67170): crash in removeImplicitlyStyledElement
3228         https://bugs.webkit.org/show_bug.cgi?id=48389
3229
3230         Fixed the crash by adding a null pointer check.
3231
3232         Test: editing/style/invalid-font-size.html
3233
3234         * editing/ApplyStyleCommand.cpp:
3235         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
3236
3237 2010-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
3238
3239         Unreviewed, rolling out r70573.
3240         http://trac.webkit.org/changeset/70573
3241         https://bugs.webkit.org/show_bug.cgi?id=48204
3242
3243         Broke 39 tests on Chromium
3244
3245         * GNUmakefile.am:
3246         * WebCore.gypi:
3247         * WebCore.pro:
3248         * WebCore.vcproj/WebCore.vcproj:
3249         * WebCore.xcodeproj/project.pbxproj:
3250         * bindings/scripts/CodeGenerator.pm:
3251         * bindings/scripts/CodeGeneratorJS.pm:
3252         * bindings/scripts/CodeGeneratorObjC.pm:
3253         * bindings/scripts/CodeGeneratorV8.pm:
3254         * svg/DeprecatedSVGAnimatedPropertyTraits.h:
3255         * svg/DeprecatedSVGAnimatedTemplate.h:
3256         * svg/SVGAngle.idl:
3257         * svg/SVGAnimatedAngle.idl:
3258         * svg/SVGAnimatedLength.idl:
3259         * svg/SVGAnimatedLengthList.idl:
3260         * svg/SVGAnimatedRect.h: Removed.
3261         * svg/SVGFitToViewBox.h:
3262         * svg/SVGLength.idl:
3263         * svg/SVGMarkerElement.h:
3264         * svg/SVGPatternElement.h:
3265         * svg/SVGRect.idl:
3266         * svg/SVGSVGElement.cpp:
3267         (WebCore::SVGSVGElement::currentView):
3268         (WebCore::SVGSVGElement::inheritViewAttributes):
3269         * svg/SVGSVGElement.h:
3270         * svg/SVGSVGElement.idl:
3271         * svg/SVGSymbolElement.h:
3272         * svg/SVGViewElement.h:
3273         * svg/SVGViewSpec.cpp:
3274         (WebCore::SVGViewSpec::SVGViewSpec):
3275         * svg/SVGViewSpec.h:
3276         (WebCore::SVGViewSpec::contextElement):
3277         * svg/SVGZoomEvent.idl:
3278         * svg/properties/SVGAnimatedPropertyMacros.h:
3279
3280 2010-10-26  Anders Carlsson  <andersca@apple.com>
3281
3282         Fix 32-bit build.
3283
3284         * platform/graphics/mac/FontMac.mm:
3285         (WebCore::showGlyphsWithAdvances):
3286
3287 2010-10-26  Jenn Braithwaite  <jennb@chromium.org>
3288
3289         Reviewed by Dmitry Titov.
3290
3291         Resource tracking failure when trying to move a frame between documents
3292         https://bugs.webkit.org/show_bug.cgi?id=44713
3293
3294         Test: fast/frames/iframe-reparenting-fail-load.html
3295
3296         * loader/DocumentLoader.cpp:
3297         (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
3298         Added method that notifies the client to update resource tracking for
3299         loading resources that have been transferred to a different page.
3300         * loader/DocumentLoader.h:
3301         * loader/EmptyClients.h:
3302         (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
3303         Empty method.
3304         * loader/FrameLoader.h:
3305         * loader/FrameLoader.cpp:
3306         Added method that triggers resource tracking updates. This wraps
3307         the DocumentLoader method as it appears DocumentLoader is opaque
3308         to Frame.
3309         * loader/FrameLoaderClient.h:
3310         Added API to notify the client to update resource tracking for
3311         a loading resource that has been transferred to a different page.
3312         * page/Frame.cpp:
3313         (WebCore::Frame::transferChildFrameToNewDocument):
3314         Update resource tracking if page has changed.
3315
3316 2010-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
3317
3318         Reviewed by Rob Buis.
3319
3320         Convert SVGRect to the new SVGPropertyTearOff concept
3321         https://bugs.webkit.org/show_bug.cgi?id=48204
3322
3323         Convert the next SVG primitive type to use the SVGPropertyTearOff concept: SVGRect.
3324         Added new test verifying that StrictTypeChecking is enabled for SVGRect. Refactor and share code between JSC/V8/ObjC generators.
3325
3326         Test: svg/dom/SVGRect.html
3327
3328         * GNUmakefile.am: Add SVGAnimatedRect.h to build.
3329         * WebCore.gypi: Ditto.
3330         * WebCore.pro: Ditto.
3331         * WebCore.vcproj/WebCore.vcproj: Ditto.
3332         * WebCore.xcodeproj/project.pbxproj: Ditto.
3333         * bindings/scripts/CodeGenerator.pm: Refactor SVGPropertyTearOff handling, and share code between JSC/V8/ObjC generators.
3334         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3335         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3336         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3337         * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove SVGAnimatedRect handling.
3338         * svg/DeprecatedSVGAnimatedTemplate.h: Ditto.
3339         * svg/SVGAngle.idl: Remove [SVGProperty] flag.
3340         * svg/SVGAnimatedAngle.idl: Remove [SVGAnimatedProperty] flag.
3341         * svg/SVGAnimatedLength.idl: Ditto.
3342         * svg/SVGAnimatedLengthList.idl: Ditto.
3343         * svg/SVGAnimatedRect.h: Added.
3344         * svg/SVGFitToViewBox.h: SVGRect now uses the new tear off concept, adapt code.
3345         * svg/SVGLength.idl: Remove [SVGProperty] flag.
3346         * svg/SVGMarkerElement.h:
3347         * svg/SVGPatternElement.h:
3348         * svg/SVGRect.idl: Remove [PODType] flag, add StrictTypeChecking to all attributes.
3349         * svg/SVGSVGElement.cpp: s/setViewBox/setViewBoxBaseValue/.
3350         (WebCore::SVGSVGElement::currentView):
3351         (WebCore::SVGSVGElement::inheritViewAttributes):
3352         * svg/SVGSVGElement.h:
3353         * svg/SVGSVGElement.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
3354         * svg/SVGSymbolElement.h:
3355         * svg/SVGViewElement.h:
3356         * svg/SVGViewSpec.cpp: Take a SVGElement as context element.
3357         (WebCore::SVGViewSpec::SVGViewSpec):
3358         * svg/SVGViewSpec.h: Ditto.
3359         (WebCore::SVGViewSpec::contextElement):
3360         * svg/SVGZoomEvent.idl: Remove [Immutable] flags for SVGRect types, no longer needed.
3361         * svg/properties/SVGAnimatedPropertyMacros.h: Support declaring animated properties on non-SVGElement types (here: SVGViewSpec), just like the old macros handled it.
3362
3363 2010-10-26  takano takumi  <takano1@asia.apple.com>
3364
3365         Reviewed by Dave Hyatt.
3366
3367         Advances are wrong and glyphs are rotated improperly in vertical writing
3368         https://bugs.webkit.org/show_bug.cgi?id=48315
3369
3370         We shouldn't use vertical metrics for Roman fonts. Also, we should rotate vertical variant
3371         glyphs back on drawing as the whole run has already been rotated beforehand.
3372
3373         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3374         (WebCore::FontPlatformData::FontPlatformData): Changed to ignore vertical orientation when the font doesn't support vertical metrics.
3375         * platform/graphics/mac/FontMac.mm:
3376         (WebCore::showGlyphsWithAdvances): Changed to rotate glyphs -90 degree for vertical variants.
3377         (WebCore::Font::drawGlyphs):
3378
3379 2010-10-26  Satish Sampath  <satish@chromium.org>
3380
3381         Reviewed by Jeremy Orlow.
3382
3383         Add a 'grammar' attribute for speech input.
3384         https://bugs.webkit.org/show_bug.cgi?id=48339
3385
3386         To differentiate between various types of speech input, we add a 'x-webkit-grammar' attribute to a
3387         speech enabled input element. This is passed without validation to the speech recognizer. Typical values
3388         could be "builtin:search", "builtin:dictation" and even an externally hosted SRGS grammar XML file URI.
3389         It is up to the recognizer to interpret the value and use it as an aid in recognition.
3390
3391         * bindings/generic/RuntimeEnabledFeatures.h:
3392         (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled):
3393         * html/HTMLAttributeNames.in:
3394         * html/HTMLInputElement.idl:
3395         * page/SpeechInput.cpp:
3396         (WebCore::SpeechInput::startRecognition):
3397         * page/SpeechInput.h:
3398         * page/SpeechInputClient.h:
3399         * platform/mock/SpeechInputClientMock.cpp:
3400         (WebCore::SpeechInputClientMock::startRecognition):
3401         * platform/mock/SpeechInputClientMock.h:
3402         * rendering/TextControlInnerElements.cpp:
3403         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
3404
3405 2010-10-26  Pavel Feldman  <pfeldman@chromium.org>
3406
3407         Reviewed by Timothy Hatcher.
3408
3409         Web Inspector: console does not work after two reloads.
3410         https://bugs.webkit.org/show_bug.cgi?id=48318
3411
3412         * inspector/InspectorController.cpp:
3413         (WebCore::InspectorController::disconnectFrontend):
3414
3415 2010-10-26  Pavel Podivilov  <podivilov@chromium.org>
3416
3417         Reviewed by Pavel Feldman.
3418
3419         Web Inspector: console doesn't work in closures when window is overrode 
3420         https://bugs.webkit.org/show_bug.cgi?id=48320
3421
3422         * inspector/front-end/InjectedScript.js:
3423         (injectedScriptConstructor.):
3424
3425 2010-10-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3426
3427         Reviewed by Kenneth Rohde Christiansen.
3428
3429         [Qt] Fix an assert with QtPixmapInstance creation.
3430         https://bugs.webkit.org/show_bug.cgi?id=48323
3431
3432         This places the newly refcounted QtPixmapInstance in a RefPtr
3433         to prevent an assert on the first ref() call.
3434
3435         * bridge/qt/qt_pixmapruntime.cpp:
3436         (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
3437
3438 2010-10-26  Kenichi Ishibashi  <bashi@google.com>
3439
3440         Reviewed by Kent Tamura.
3441
3442         Input Method inserts conversion candidates unexpectedly
3443         https://bugs.webkit.org/show_bug.cgi?id=46868
3444
3445         Calls updateStyleIfNeeded() before setting selection for the composition to
3446         avoid inserting the previous composition text into a content editable element
3447         which has an event handler that changes the style of the element.
3448
3449         Test: platform/chromium/fast/text/chromium-mac-duplicate-ime-composition.html
3450
3451         * editing/Editor.cpp:
3452         (WebCore::Editor::setComposition): calls updateStyleIfNeeded() before setting selection.
3453
3454 2010-10-26  Mario Sanchez Prada  <msanchez@igalia.com>
3455
3456         Reviewed by Chris Fleizach.
3457
3458         [Gtk] Layout tables should indicate that they are not data tables via an object attribute
3459         https://bugs.webkit.org/show_bug.cgi?id=35422
3460
3461         Set the 'layout-guess' attribute to 'true' for data tables.
3462
3463         Reorganized some code in AccessibilityTable so now the function
3464         isDataTable() is more coherent by just answering that very
3465         specific question, regardless of whether the table is being
3466         exposed or not to Assistive Technologies.
3467
3468         Hence, now it's possible to make two questions separately instead
3469         of just one, meaning that the new function isAccessibleTable() is
3470         now what we formerly defined as the isDataTable() function.
3471
3472         * accessibility/AccessibilityObject.h:
3473         (WebCore::AccessibilityObject::isAccessibilityTable):
3474            New function to allow asking tables both whether they are
3475            exposed and whether they are data tables, which are different
3476            questions whose answers might be the same in many situations,
3477            but different sometimes (as it can happen in the GTK port).
3478         * accessibility/AccessibilityTable.h:
3479         * accessibility/AccessibilityTable.cpp:
3480         (WebCore::AccessibilityTable::hasARIARole):
3481            New, checks whether the table has a valid ARIA role.
3482         (WebCore::AccessibilityTable::isAccessibilityTable):
3483            New, returns the value of m_isAccessibilityTable. It's
3484            basically the former isDataTable() function renamed.
3485         (WebCore::AccessibilityTable::isDataTable):
3486            Changed behaviour. Instead of just returning the value of
3487            m_isAccessibilityTable as it did so far (which was confusing
3488            because of that's not what the name suggests), focus on
3489            checking whether it's a data table or not and return a bool
3490            value accordingly. It's basically a rename of the former
3491            isTableExposableThroughAccessibility() function, but withouth
3492            the GTK-specific if-endif region (which didn't make sense
3493            here now, because that was answering the question "is the table
3494            exposed in the GTK port?", instead of "is it a data table?").
3495         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
3496            Uses the hasAriaRole(), and isDataTable() to determine whether
3497            a table should be exposed or not. Also includes the GTK-specific
3498            if-region coming from the former implementation of the function
3499            isTableExposableThroughAccessibility() not to check whether it's
3500            a data table in case the rest of the checks succeeded (all
3501            tables are exposed in the GTK port).
3502         (WebCore::AccessibilityTable::addChildren):
3503            Replace usage of isDataTable() with isAccessibilityTable(), to
3504            keep exactly the same behaviour happening before this patch.
3505         (WebCore::AccessibilityTable::roleValue): Ditto.
3506         (WebCore::AccessibilityTable::accessibilityIsIgnored): Ditto.
3507         (WebCore::AccessibilityTable::title): Ditto.
3508
3509         Updated usage of the former function isDataTable() everywhere
3510         else, replacing it with the new isAccessibilityTable(), so keeping
3511         exactly the same behaviour happening before this patch.
3512
3513         * accessibility/AccessibilityARIAGrid.cpp:
3514         (WebCore::AccessibilityARIAGrid::addChildren):
3515            Use isAccessibilityTable() instead of isDataTable().
3516         * accessibility/AccessibilityARIAGridCell.cpp:
3517         (WebCore::AccessibilityARIAGridCell::parentTable): Ditto.
3518         * accessibility/AccessibilityARIAGridRow.cpp:
3519         (WebCore::AccessibilityARIAGridRow::disclosedRows): Ditto.
3520         (WebCore::AccessibilityARIAGridRow::disclosedByRow): Ditto.
3521         (WebCore::AccessibilityARIAGridRow::parentTable): Ditto.
3522         * accessibility/AccessibilityTableCell.cpp:
3523         (WebCore::AccessibilityTableCell::isTableCell):
3524            Use isAccessibilityTable() instead of isDataTable().
3525         * accessibility/AccessibilityTableHeaderContainer.cpp:
3526         (WebCore::AccessibilityTableHeaderContainer::addChildren): Ditto.
3527         * accessibility/AccessibilityTableRow.cpp:
3528         (WebCore::AccessibilityTableRow::isTableRow): Ditto
3529         * accessibility/mac/AccessibilityObjectWrapper.mm:
3530         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3531            Use isAccessibilityTable() instead of isDataTable().
3532         (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
3533         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
3534         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): Ditto.
3535         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): Ditto.
3536         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): Ditto.
3537
3538         Use the new function isAccessibilityTable() together with the
3539         modified implementation of isDataTable() to set the 'layout-guess'
3540         attribute when needed.
3541
3542         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3543         (webkit_accessible_get_attributes):
3544            Set the 'layout-guess' attribute&