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