2010-08-24 Daniel Bates <dbates@rim.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-08-24  Daniel Bates  <dbates@rim.com>
2
3         Fix code comment as per Darin Adler's suggestion in <https://bugs.webkit.org/show_bug.cgi?id=44486#c2>.
4         I inadvertently did not update this comment when I landed changeset 65967 <http://trac.webkit.org/changeset/65967>.
5
6         * rendering/RenderListMarker.cpp:
7         (WebCore::listMarkerSuffix):
8
9 2010-08-23  Daniel Bates  <dbates@rim.com>
10
11         Reviewed by Darin Adler.
12
13         Suffix for CSS alphabetic list style types should fallback to
14         decimal for ordinals outside of their representable range
15         https://bugs.webkit.org/show_bug.cgi?id=44486
16
17         Test: fast/lists/w3-css3-list-styles-fallback-style.html
18
19         Fixes an issue where the decimal suffix is not used for
20         ordinals that cannot be represented by the alphabetic list
21         style type.
22
23         Currently, for ordinals that cannot be represented in the
24         alphabetic list style we use the suffix associated with the
25         list style. Instead, we should use the suffix for the decimal
26         list style ('.'). For instance, when the list style type is
27         Afar and the starting ordinal is 0, then we fallback to the
28         decimal list style suffix '.' because 0 cannot be represented
29         in Afar.
30
31         * rendering/RenderListMarker.cpp:
32         (WebCore::toRoman): Moved bounds check into WebCore::effectiveListMarkerType().
33         (WebCore::toAlphabetic): Ditto.
34         (WebCore::toHebrew): Ditto.
35         (WebCore::toArmenian): Ditto.
36         (WebCore::toGeorgian): Ditto.
37         (WebCore::toCJKIdeographic): Ditto.
38         (WebCore::effectiveListMarkerType): Added.
39         (WebCore::listMarkerSuffix): Added value parameter to prototype.
40         Modified to call WebCore::effectiveListMarkerType.
41         (WebCore::listMarkerText): Modified to call WebCore::effectiveListMarkerType().
42         (WebCore::RenderListMarker::paint): Modified to pass list item ordinal (i.e. m_listItem->value()) to WebCore::listMarkerSuffix().
43         (WebCore::RenderListMarker::calcPrefWidths): Ditto.
44         (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
45
46 2010-08-24  Gavin Barraclough  <barraclough@apple.com>
47
48         Windows build fix.
49
50         * ForwardingHeaders/wtf/DecimalNumber.h: Added.
51
52 2010-08-23  Gavin Barraclough  <barraclough@apple.com>
53
54         Reviewed by Oliver Hunt.
55
56         https://bugs.webkit.org/show_bug.cgi?id=44487
57
58         * html/LegacyHTMLTreeBuilder.cpp:
59         (WebCore::serializeForNumberType):
60             Update function call to numberToString.
61
62 2010-08-24  Eric Seidel  <eric@webkit.org>
63
64         Reviewed by Adam Barth.
65
66         XMLDocumentParser needs to implement DocumentParser::detach()
67         https://bugs.webkit.org/show_bug.cgi?id=44533
68
69         Test: fast/frames/set-parent-src-synchronously.xhtml
70
71         In the example from the page we were accessing document()
72         after DocumentParser::detach() was called.  To prevent this
73         I added an ASSERT(m_document) to document(), causing many
74         test cases to cover the bug shown in bug 44533.
75
76         To fix the bug, I implemented XMLDocumentParser::detach()
77         and had it call clearCurrentNodeStack(), thus making
78         it impossible for XMLDocumentParser to still have the Document
79         on the node stack after detach (which was what was causing this bug).
80
81         While fixing this, I noticed that XMLDocumentParser may have the
82         same trouble crashing that the HTMLDocumentParser did when
83         synchronously deleted from JS (for example by an iframe navigation).
84         I added a test case to cover this and protected the parser after
85         the two places it executes scripts.
86
87         * dom/DocumentParser.h:
88         (WebCore::DocumentParser::document):
89         (WebCore::DocumentParser::isDetached):
90         * dom/RawDataDocumentParser.h:
91         (WebCore::RawDataDocumentParser::finish):
92         * dom/XMLDocumentParser.cpp:
93         (WebCore::XMLDocumentParser::append):
94         (WebCore::XMLDocumentParser::detach):
95         (WebCore::XMLDocumentParser::notifyFinished):
96         * dom/XMLDocumentParser.h:
97         * dom/XMLDocumentParserLibxml2.cpp:
98         (WebCore::XMLDocumentParser::doWrite):
99         (WebCore::XMLDocumentParser::endElementNs):
100         (WebCore::XMLDocumentParser::resumeParsing):
101         * html/HTMLDocumentParser.cpp:
102         (WebCore::HTMLDocumentParser::pumpTokenizer):
103         (WebCore::HTMLDocumentParser::willPumpLexer):
104         (WebCore::HTMLDocumentParser::didPumpLexer):
105         (WebCore::HTMLDocumentParser::end):
106         (WebCore::HTMLDocumentParser::endIfDelayed):
107         (WebCore::HTMLDocumentParser::script):
108         * html/HTMLViewSourceParser.cpp:
109         (WebCore::HTMLViewSourceParser::updateTokenizerState):
110         * html/HTMLViewSourceParser.h:
111         (WebCore::HTMLViewSourceParser::document):
112         * loader/ImageDocument.cpp:
113         (WebCore::ImageDocumentParser::document):
114
115 2010-08-24  Patrick Gansterer  <paroga@paroga.com>
116
117         Reviewed by Adam Roben.
118
119         Add SynchronousLoader for ResourceHandleWin
120         https://bugs.webkit.org/show_bug.cgi?id=44452
121
122         * platform/network/win/ResourceHandleWin.cpp:
123         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
124         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
125         (WebCore::WebCoreSynchronousLoader::didReceiveData):
126         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
127         (WebCore::WebCoreSynchronousLoader::didFail):
128         (WebCore::ResourceHandle::loadResourceSynchronously):
129
130 2010-08-24  Ryosuke Niwa  <rniwa@webkit.org>
131
132         Unreviewed.
133
134         Replaced soft tab indentation by hard tab indentation for LegacyWebArchive.h.
135
136         * WebCore.xcodeproj/project.pbxproj:
137
138 2010-08-24  Joseph Pecoraro  <joepeck@webkit.org>
139
140         Reviewed by Mark Rowe.
141
142         Web Inspector: RemoteInspectorFrontend can be renamed to InspectorFrontend
143         https://bugs.webkit.org/show_bug.cgi?id=44499
144
145         Follow-up. No longer generate the RemoteInspectorFrontend files, just
146         generate the required InspectorFrontend files.
147
148         * DerivedSources.make:
149
150 2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
151
152         Reviewed by Pavel Feldman.
153
154         Web Inspector: Backend Should Provide Full Supported CSS Properties List
155         https://bugs.webkit.org/show_bug.cgi?id=40886
156
157         This allows the backend to send the front-end its complete list of
158         supported CSS Properties. This is used in CSS Autocompletion and
159         CSS Syntax Highlighting to show which styles are supported.
160
161         * css/makeprop.pl: moved CSS properties to the header file.
162         * inspector/Inspector.idl: expose getSupportedCSSProperties.
163         * inspector/InspectorDOMAgent.cpp:
164         (WebCore::InspectorDOMAgent::getSupportedCSSProperties):
165         * inspector/InspectorDOMAgent.h:
166         * inspector/front-end/CSSCompletions.js:
167         (WebInspector.CSSCompletions._firstIndexOfPrefix): handle a possible error case before properties have loaded.
168         (WebInspector.CSSCompletions._load): fill up the special array with the received properties.
169         * inspector/front-end/SourceCSSTokenizer.js:
170         (WebInspector.SourceCSSTokenizer): use the list of support properties from the backend.
171         * inspector/front-end/SourceCSSTokenizer.re2js:
172         * inspector/front-end/inspector.js: request the list of supported CSS properties on load.
173         (WebInspector.doLoadedDone):
174
175 2010-08-24  Adam Barth  <abarth@webkit.org>
176
177         Reviewed by Eric Seidel.
178
179         Delete LegacyHTMLTreeBuilder
180         https://bugs.webkit.org/show_bug.cgi?id=44554
181
182         There were some free functions in LegacyHTMLTreeBuilder that needed a
183         new home.  I've put them in HTMLTreeBuilder, but they'll probably need
184         a better home eventually.
185
186         * Android.mk:
187         * CMakeLists.txt:
188         * GNUmakefile.am:
189         * WebCore.gypi:
190         * WebCore.pro:
191         * WebCore.vcproj/WebCore.vcproj:
192         * WebCore.xcodeproj/project.pbxproj:
193         * dom/Document.cpp:
194         (WebCore::shouldCreateImplicitHead):
195         * dom/DocumentParser.h:
196         * dom/ScriptableDocumentParser.h:
197         * html/HTMLConstructionSite.cpp:
198         * html/HTMLFormControlElement.cpp:
199         (WebCore::HTMLFormControlElement::removedFromTree):
200         * html/HTMLInputElement.cpp:
201         * html/HTMLMeterElement.cpp:
202         * html/HTMLProgressElement.cpp:
203         * html/HTMLTreeBuilder.cpp:
204         (WebCore::serializeForNumberType):
205         (WebCore::parseToDoubleForNumberType):
206         * html/HTMLTreeBuilder.h:
207         * html/HTMLViewSourceParser.h:
208         * html/LegacyHTMLTreeBuilder.cpp: Removed.
209         * html/LegacyHTMLTreeBuilder.h: Removed.
210         * html/StepRange.cpp:
211         * html/ValidityState.cpp:
212         * rendering/RenderSlider.cpp:
213
214 2010-08-24  Pavel Podivilov  <podivilov@chromium.org>
215
216         Reviewed by Yury Semikhatsky.
217
218         Web Inspector: show DOM breakpoints in sidebar pane
219         https://bugs.webkit.org/show_bug.cgi?id=44424
220
221         * inspector/front-end/BreakpointManager.js:
222         (WebInspector.BreakpointManager.prototype._setBreakpoint):
223         (WebInspector.BreakpointManager.prototype._breakpointRemoved):
224         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
225         (WebInspector.Breakpoint.prototype.set enabled):
226         (WebInspector.Breakpoint.prototype.set condition):
227         (WebInspector.Breakpoint.prototype.remove):
228         * inspector/front-end/BreakpointsSidebarPane.js:
229         (WebInspector.BreakpointsSidebarPane):
230         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
231         (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
232         (WebInspector.BreakpointsSidebarPane.prototype._contextMenuEventFired):
233         (WebInspector.BreakpointItem):
234         (WebInspector.BreakpointItem.prototype.element):
235         (WebInspector.BreakpointItem.prototype.remove):
236         (WebInspector.BreakpointItem.prototype._checkboxClicked):
237         (WebInspector.BreakpointItem.prototype._enableChanged):
238         (WebInspector.BreakpointItem.prototype._removed):
239         (WebInspector.JSBreakpointItem):
240         (WebInspector.JSBreakpointItem.prototype._textChanged):
241         (WebInspector.DOMBreakpointItem):
242         (WebInspector.DOMBreakpointItem.prototype.compareTo):
243         * inspector/front-end/DOMAgent.js:
244         (WebInspector.DOMBreakpointManager):
245         (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
246         (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
247         (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
248         (WebInspector.DOMBreakpoint):
249         (WebInspector.DOMBreakpoint.prototype.get enabled):
250         (WebInspector.DOMBreakpoint.prototype.set enabled):
251         (WebInspector.DOMBreakpoint.prototype.remove):
252         * inspector/front-end/ElementsPanel.js:
253         (WebInspector.ElementsPanel):
254         (WebInspector.ElementsPanel.prototype.reset):
255         * inspector/front-end/ElementsTreeOutline.js:
256         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
257         * inspector/front-end/ScriptView.js:
258         (WebInspector.ScriptView):
259         * inspector/front-end/ScriptsPanel.js:
260         (WebInspector.ScriptsPanel):
261         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
262         (WebInspector.ScriptsPanel.prototype.reset):
263         * inspector/front-end/SourceFrame.js:
264         (WebInspector.SourceFrame):
265         (WebInspector.SourceFrame.prototype.set visible):
266         (WebInspector.SourceFrame.prototype.addBreakpoint):
267         (WebInspector.SourceFrame.prototype._breakpointRemoved):
268         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
269         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
270         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
271         (WebInspector.SourceFrame.prototype._contextMenu):
272         (WebInspector.SourceFrame.prototype._mouseDown):
273         * inspector/front-end/SourceView.js:
274         (WebInspector.SourceView):
275         (WebInspector.SourceView.prototype.updateLocalContent):
276         * inspector/front-end/inspector.js:
277         (WebInspector.createJSBreakpointsSidebarPane.breakpointAdded):
278         (WebInspector.createJSBreakpointsSidebarPane):
279         (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded):
280         (WebInspector.createDOMBreakpointsSidebarPane):
281         (WebInspector.doLoadedDone):
282
283 2010-08-24  Stephen White  <senorblanco@chromium.org>
284
285         Reviewed by Dumitru Daniliuc.
286
287         Speculative fix for layout test failures on Chrome/Linux.
288         https://bugs.webkit.org/show_bug.cgi?id=44550
289
290         Tests fast/canvas/arc-crash.html, fast/canvas/canvas-state-intact-after-putImageData.html, and fast/canvas/toDataURL-supportedTypes.html are failing on Chrome/Linux.  Can't repro the failure locally, but this fix can't hurt.
291
292         * html/canvas/CanvasRenderingContext2D.cpp:
293         (WebCore::CanvasRenderingContext2D::paintRenderingResultsToCanvas):
294
295 2010-08-24  Dumitru Daniliuc  <dumi@chromium.org>
296
297         Reviewed by Dimitri Glazkov.
298
299         Fix the NodeFilter wrapper and the binding for acceptNode.
300         https://bugs.webkit.org/show_bug.cgi?id=44542
301
302         * bindings/v8/V8DOMWrapper.cpp:
303         (WebCore::V8DOMWrapper::wrapNativeNodeFilter): This function
304         should always create a filter. V8NodeFilterCondition::acceptNode()
305         will check if the given object can be used as a filter, and throw
306         an exception if it can't.
307         * bindings/v8/V8NodeFilterCondition.cpp:
308         (WebCore::V8NodeFilterCondition::acceptNode): Update this binding
309         to do the same thing that the JS binding does.
310
311 2010-08-24  Simon Fraser  <simon.fraser@apple.com>
312
313         Reviewed by Tony Chang.
314
315         After r65681, caret no longer displays promptly while editing form fields
316         https://bugs.webkit.org/show_bug.cgi?id=44294
317         
318         The caret no longer eagerly updates its rect on every paint, so we have
319         to manually update it after scrolling the selection into view when
320         the selection changes.
321         
322         Tested by the pixel results of fast/forms/input-text-scroll-left-on-blur.html
323
324         * page/Frame.cpp:
325         (WebCore::Frame::revealSelection):
326
327 2010-08-24  Adam Barth  <abarth@webkit.org>
328
329         Reviewed by Darin Adler.
330
331         Remove redundant call to OwnPtr::clear
332         https://bugs.webkit.org/show_bug.cgi?id=44548
333
334         As pointed out by Darin, this call to clear is not needed.
335
336         * editing/TextIterator.cpp:
337         (WebCore::plainTextToMallocAllocatedBuffer):
338
339 2010-08-24  Adam Barth  <abarth@webkit.org>
340
341         Reviewed by Eric Seidel.
342
343         HTMLTokenizer::create
344         https://bugs.webkit.org/show_bug.cgi?id=44477
345
346         * html/HTMLDocumentParser.cpp:
347         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
348         * html/HTMLPreloadScanner.cpp:
349         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
350         (WebCore::HTMLPreloadScanner::scan):
351         (WebCore::HTMLPreloadScanner::processToken):
352         * html/HTMLPreloadScanner.h:
353         * html/HTMLTokenizer.h:
354         (WebCore::HTMLTokenizer::create):
355         * html/HTMLViewSourceParser.cpp:
356         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
357         (WebCore::HTMLViewSourceParser::pumpTokenizer):
358         (WebCore::HTMLViewSourceParser::updateTokenizerState):
359         * html/HTMLViewSourceParser.h:
360
361 2010-08-24  Adam Barth  <abarth@webkit.org>
362
363         Reviewed by Darin Adler.
364
365         Remove references to LegacyHTMLTreebuilder from HTMLTreeBuilder
366         https://bugs.webkit.org/show_bug.cgi?id=44544
367
368         * html/HTMLDocumentParser.cpp:
369         * html/HTMLDocumentParser.h:
370         * html/HTMLTreeBuilder.cpp:
371         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
372         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
373         (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
374         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
375         (WebCore::HTMLTreeBuilder::finished):
376         * html/HTMLTreeBuilder.h:
377         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
378
379 2010-08-24  Xan Lopez  <xlopez@igalia.com>
380
381         Try to fix GTK+ build.
382
383         Move GTK_API_VERSION_2 define out.
384
385         * GNUmakefile.am:
386
387 2010-08-24  Simon Fraser  <simon.fraser@apple.com>
388
389         Reviewed by Sam Weinig.
390
391         TreeWalker traversal order is wrong when skipping and rejecting
392         https://bugs.webkit.org/show_bug.cgi?id=44377
393         
394         TreeWalker's nextSibling() and previousSibling() behaved incorrectly
395         when traversing down a subtree where all nodes are skipped; it backed all
396         the way up to the root of the subtree, then jump to the subtree's parentNode.
397         This would skip later siblings.
398         
399         Fix by resetting 'node' when traversing to children so that node = node->parentNode()
400         gets the correct node later.
401
402         Test: fast/dom/TreeWalker/traversal-skip-most.html
403
404         * dom/TreeWalker.cpp:
405         (WebCore::TreeWalker::previousSibling):
406         (WebCore::TreeWalker::nextSibling):
407
408 2010-08-24  Hans Wennborg  <hans@chromium.org>
409
410         Reviewed by Steve Block.
411
412         Remove null-checks from DeviceOrientationController
413         https://bugs.webkit.org/show_bug.cgi?id=44504
414
415         Remove checks for m_client being NULL from DeviceOrientationController.
416         It will never be NULL, and this is checked by an ASSERT on construction.
417
418         Will be covered by layout tests for device orientation.
419
420         * dom/DeviceOrientationController.cpp:
421         (WebCore::DeviceOrientationController::timerFired):
422         (WebCore::DeviceOrientationController::addListener):
423         (WebCore::DeviceOrientationController::removeListener):
424         (WebCore::DeviceOrientationController::removeAllListeners):
425
426 2010-08-24  Stephen White  <senorblanco@chromium.org>
427
428         Reviewed by Kenneth Russell.
429
430         Fix accelerated 2d canvas with accelerated compositing off.
431         https://bugs.webkit.org/show_bug.cgi?id=44525
432
433         Tested by running with --enable-accelerated-2d-canvas with
434         --enable-accelerated-compositing off.
435         ImageBuffer::copyImage changes covered by
436         LayoutTests/fast/canvas/canvas-pattern-*.html.
437
438         * html/HTMLCanvasElement.cpp:
439         (WebCore::HTMLCanvasElement::paint):
440         Extend the accelerated compositing check and the readback for
441         non-accelerated compositing to accelerated 2D canvas also.
442         * html/canvas/CanvasRenderingContext.cpp:
443         * html/canvas/CanvasRenderingContext.h:
444         (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
445         Move this logic from WebGL to common canvas context code.
446         * html/canvas/WebGLRenderingContext.h:
447         Remove implementation of paintsIntoCanvasBuffer.
448         * platform/graphics/skia/ImageBufferSkia.cpp:
449         (WebCore::ImageBuffer::copyImage):
450         When copying the image for patterns, sync the software canvas.
451         * platform/graphics/skia/PlatformContextSkia.cpp:
452         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
453         Use SkDevice::eraseColor() to clear the canvas for mixed mode rendering.
454
455 2010-08-24  Adam Barth  <abarth@webkit.org>
456
457         Reviewed by Eric Seidel.
458
459         Deploy adoptPtr in WebCore/editing
460         https://bugs.webkit.org/show_bug.cgi?id=44501
461
462         * editing/Editor.cpp:
463         (WebCore::Editor::Editor):
464         * editing/TextIterator.cpp:
465         (WebCore::plainTextToMallocAllocatedBuffer):
466
467 2010-08-24  Adam Barth  <abarth@webkit.org>
468
469         Reviewed by Eric Seidel.
470
471         Deploy adoptPtr in WebCore/history
472         https://bugs.webkit.org/show_bug.cgi?id=44502
473
474         * history/HistoryItem.cpp:
475         (WebCore::HistoryItem::HistoryItem):
476         (WebCore::HistoryItem::addRedirectURL):
477
478 2010-08-24  Adam Barth  <abarth@webkit.org>
479
480         Reviewed by Eric Seidel.
481
482         Partial deployment of adoptPtr to WebCore/html
483         https://bugs.webkit.org/show_bug.cgi?id=44507
484
485         Deploy adoptPtr to some more places in WebCore/html.  The big chunk
486         that I haven't done yet is createRenderer, but that's going to be a big
487         patch unto itself.
488
489         * html/HTMLFormCollection.cpp:
490         (WebCore::HTMLFormCollection::formCollectionInfo):
491         * html/HTMLFormElement.cpp:
492         (WebCore::HTMLFormElement::addElementAlias):
493         * html/HTMLInputElement.cpp:
494         (WebCore::createTypeMap):
495         (WebCore::HTMLInputElement::setInputType):
496         (WebCore::HTMLInputElement::parseMappedAttribute):
497         (WebCore::HTMLInputElement::attach):
498         (WebCore::HTMLInputElement::preDispatchEventHandler):
499         * html/HTMLObjectElement.cpp:
500         (WebCore::HTMLObjectElement::parseMappedAttribute):
501         (WebCore::HTMLObjectElement::attach):
502         * html/HTMLToken.h:
503         (WebCore::HTMLToken::beginDOCTYPE):
504         * html/HTMLVideoElement.cpp:
505         (WebCore::HTMLVideoElement::attach):
506         (WebCore::HTMLVideoElement::parseMappedAttribute):
507         * html/ValidityState.h:
508         (WebCore::ValidityState::create):
509
510 2010-08-24  Adam Barth  <abarth@webkit.org>
511
512         Reviewed by Eric Seidel.
513
514         Partial deployment of adoptPtr to WebCore/html
515         https://bugs.webkit.org/show_bug.cgi?id=44507
516
517         There's a lot of places that need adoptPtr in WebCore/html.  This patch
518         does some of them.  More will follow.
519
520         * html/FileThreadTask.h:
521         (WebCore::FileThreadTask0::create):
522         (WebCore::FileThreadTask1::create):
523         (WebCore::FileThreadTask2::create):
524         (WebCore::FileThreadTask3::create):
525         * html/HTMLAreaElement.cpp:
526         (WebCore::HTMLAreaElement::mapMouseEvent):
527         * html/HTMLCanvasElement.cpp:
528         (WebCore::HTMLCanvasElement::getContext):
529         * html/HTMLElementStack.cpp:
530         (WebCore::HTMLElementStack::insertAbove):
531         (WebCore::HTMLElementStack::pushCommon):
532         * html/HTMLEmbedElement.cpp:
533         (WebCore::HTMLEmbedElement::parseMappedAttribute):
534         (WebCore::HTMLEmbedElement::attach):
535
536 2010-08-24  Sam Weinig  <sam@webkit.org>
537
538         Reviewed by Simon Fraser.
539
540         Improve comment for Simon.
541
542         * editing/Editor.h:
543
544 2010-08-24  Sam Weinig  <sam@webkit.org>
545
546         Reviewed by Oliver Hunt.
547
548         Paste event fires twice for mac WebKit
549         <rdar://problem/8094611>
550         https://bugs.webkit.org/show_bug.cgi?id=44535
551
552         The mac implementation of paste in WebKit was accidentally calling 
553         Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
554         in Editor::pasteAsPlainText (which is called by -[WebHTMLView paste:]).
555         Use the new pasteAsPlainTextBypassingDHTML function to bypass the
556         second call.
557
558         Test: editing/pasteboard/paste-event-only-once.html
559
560         * WebCore.exp.in:
561         * editing/Editor.cpp:
562         (WebCore::Editor::pasteAsPlainTextBypassingDHTML): 
563         * editing/Editor.h:
564         Expose a function which just pastes using from the general pasteboard,
565         bypassing all the checking and DHTML pasting.
566
567 2010-08-24  Nate Chapin  <japhet@chromium.org>
568
569         Unreviewed.
570
571         Chromium build fix (add a #include missing in PingLoader.cpp)
572
573         * loader/PingLoader.cpp:
574
575 2010-08-24  Nate Chapin  <japhet@chromium.org>
576
577         Reviewed by David Levin.
578
579         Allow image loads triggered from unload handlers to run entirely
580         independently of any other loads or navigations.
581
582         https://bugs.webkit.org/show_bug.cgi?id=30457
583
584         Test: http/tests/navigation/image-load-in-unload-handler.html
585
586         * Android.mk:
587         * CMakeLists.txt:
588         * GNUmakefile.am:
589         * WebCore.gypi:
590         * WebCore.pro:
591         * WebCore.vcproj/WebCore.vcproj:
592         * WebCore.xcodeproj/project.pbxproj:
593         * loader/DocLoader.cpp:
594         (WebCore::DocLoader::requestImage): Use PingLoader for image
595             loads in unload handlers.
596         * loader/FrameLoader.h:
597         (WebCore::FrameLoader::pageDismissalEventBeingDispatched):
598         * loader/PingLoader.cpp: Added.
599         (WebCore::PingLoader::loadImage): Set the appropriate
600             headers for an image load in unload handler (since we're
601             not using SubresourceLoader, we need to do this manually here).
602         (WebCore::PingLoader::PingLoader):
603         * loader/PingLoader.h: Added.
604         (WebCore::PingLoader::~PingLoader):
605         (WebCore::PingLoader::didReceiveResponse):
606         (WebCore::PingLoader::didReceiveData):
607         (WebCore::PingLoader::didFinishLoading):
608         (WebCore::PingLoader::didFail):
609
610 2010-08-24  Pavel Feldman  <pfeldman@chromium.org>
611
612         Reviewed by Yury Semikhatsky.
613
614         Web Inspector: Trace to the style that contributes to
615         the computed styles panel.
616         https://bugs.webkit.org/show_bug.cgi?id=44448
617
618         Test: inspector/styles-computed-trace.html
619
620         * English.lproj/localizedStrings.js:
621         * inspector/front-end/Section.js:
622         (WebInspector.Section.prototype.set subtitle):
623         (WebInspector.Section.prototype.get subtitleAsTextForTest):
624         * inspector/front-end/StylesSidebarPane.js:
625         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
626         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
627         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
628         (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
629         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
630         (WebInspector.StylePropertiesSection.linkifyUncopyable):
631         (WebInspector.StylePropertiesSection):
632         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
633         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
634         (WebInspector.StylePropertiesSection.prototype.isPropertyDisabled):
635         (WebInspector.StylePropertiesSection.prototype.update):
636         (WebInspector.StylePropertiesSection.prototype.onpopulate):
637         (WebInspector.ComputedStylePropertiesSection):
638         (WebInspector.ComputedStylePropertiesSection.prototype.collapse):
639         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
640         (WebInspector.ComputedStylePropertiesSection.prototype.update):
641         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
642         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
643         (WebInspector.BlankStylePropertiesSection):
644         * inspector/front-end/inspector.css:
645         (.styles-section a::before):
646         * inspector/front-end/inspector.js:
647         (WebInspector.documentClick.followLink):
648         (WebInspector.documentClick):
649         (WebInspector.linkifyResourceAsNode):
650
651 2010-08-24  Daniel Cheng  <dcheng@chromium.org>
652
653         Reviewed by Eric Seidel.
654
655         [chromium] Generate drag images for HTML elements and selections.
656         https://bugs.webkit.org/show_bug.cgi?id=43449
657
658         We weren't properly generating drag images if an HTML element was set
659         as the drag feedback image. I also implemented dragImageForSelection
660         while I was working on this part of the code.
661
662         No new tests.
663
664         * WebCore.exp.in:
665         * bindings/objc/DOM.mm:
666         (-[DOMNode renderedImage]):
667         * page/Frame.h:
668         * page/brew/FrameBrew.cpp:
669         (WebCore::Frame::nodeImage):
670         * page/chromium/FrameChromium.cpp:
671         (WebCore::):
672         (WebCore::Frame::nodeImage):
673         (WebCore::Frame::dragImageForSelection):
674         * page/efl/FrameEfl.cpp:
675         (WebCore::Frame::nodeImage):
676         * page/gtk/FrameGtk.cpp:
677         (WebCore::Frame::nodeImage):
678         * page/haiku/FrameHaiku.cpp:
679         (WebCore::Frame::nodeImage):
680         * page/mac/FrameMac.mm:
681         (WebCore::Frame::nodeImage):
682         (WebCore::Frame::dragImageForSelection):
683         * page/qt/FrameQt.cpp:
684         (WebCore::Frame::nodeImage):
685         (WebCore::Frame::dragImageForSelection):
686         * page/win/FrameCGWin.cpp:
687         (WebCore::Frame::nodeImage):
688         * page/win/FrameCairoWin.cpp:
689         (WebCore::Frame::nodeImage):
690         * page/wince/FrameWince.cpp:
691         (WebCore::Frame::nodeImage):
692         * page/wx/FrameWx.cpp:
693         (WebCore::Frame::nodeImage):
694         * platform/chromium/ClipboardChromium.cpp:
695         (WebCore::ClipboardChromium::createDragImage):
696         * rendering/RenderObject.cpp:
697         (WebCore::RenderObject::selectionForegroundColor):
698
699 2010-08-24  Jeremy Orlow  <jorlow@chromium.org>
700
701         Reviewed by Steve Block.
702
703         IndexedDB needs to manually delete all objectStore data and indexes
704         https://bugs.webkit.org/show_bug.cgi?id=44522
705
706         Apparently it's only newer versions of SQLite that handle cascade
707         delete.  The rest silently fail.  So do it manually.
708
709         Test: storage/indexeddb/objectstore-removeobjectstore.html
710
711         * storage/IDBDatabaseBackendImpl.cpp:
712         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
713         (WebCore::doDelete):
714         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
715         * storage/IDBDatabaseBackendImpl.h:
716         * storage/IDBFactoryBackendImpl.cpp:
717         (WebCore::createTables):
718         * storage/IDBObjectStoreBackendImpl.cpp:
719         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
720         * storage/IDBObjectStoreBackendImpl.h:
721         (WebCore::IDBObjectStoreBackendImpl::create):
722         (WebCore::IDBObjectStoreBackendImpl::id):
723
724 2010-08-23  Sam Weinig  <sam@webkit.org>
725
726         Reviewed by Adam Barth.
727
728         Fix for <rdar://problem/8153271> and <rdar://problem/8153288> 
729         Change behavior of javascript: urls in <embed> and <object> back to 
730         how they behaved before r50698.
731
732         Tests: fast/loader/javascript-url-in-embed.html
733                fast/loader/javascript-url-in-object.html
734
735         * loader/SubframeLoader.cpp:
736         (WebCore::SubframeLoader::requestFrame):
737         (WebCore::SubframeLoader::requestObject):
738         (WebCore::SubframeLoader::loadOrRedirectSubframe):
739         * loader/SubframeLoader.h:
740
741 2010-08-24  Xan Lopez  <xlopez@igalia.com>
742
743         Reviewed by Gustavo Noronha.
744
745         Update code to compile with latest GTK+ 3.x.
746
747         * platform/gtk/gtk2drawing.c:
748         (TSOffsetStyleGCs):
749         (moz_gtk_entry_paint):
750         * plugins/gtk/gtk2xtbin.c:
751         (gtk_xtbin_new):
752
753 2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
754
755         Reviewed by Dirk Schulze.
756
757         -webkit-svg-shadow doesn't repaint on changes
758         https://bugs.webkit.org/show_bug.cgi?id=44521
759
760         Trivial fix, to make -webkit-svg-shadow react on changes.
761
762         Test: svg/css/shadow-changes.svg
763
764         * rendering/style/SVGRenderStyle.cpp:
765         (WebCore::SVGRenderStyle::diff): If 'svgShadow' is not equal, cause a repaint.
766
767 2010-08-24  Dirk Schulze  <krit@webkit.org>
768
769         Reviewed by Nikolas Zimmermann.
770
771         Cg logs "<Error>: CGPathCloseSubpath: no current point. " in lots of tests
772         https://bugs.webkit.org/show_bug.cgi?id=43026
773
774         Check if the path is empty before closing it.
775
776         * svg/SVGPathBuilder.cpp:
777         (WebCore::SVGPathBuilder::moveTo):
778
779 2010-08-24  Marcus Bulach  <bulach@chromium.org>
780
781         Reviewed by Jeremy Orlow.
782
783         Hooks IDBKeyPath with IDBObjectStorage::put.
784         https://bugs.webkit.org/show_bug.cgi?id=44275
785
786         Adds a mechanism to extract an IDBKey from SerializedScriptValue using IDBKeyPath
787         during IDBObjectStorage::put.
788
789         * WebCore.gyp/WebCore.gyp:
790         * WebCore.gypi:
791         * platform/chromium/ChromiumBridge.h:
792         * storage/IDBKeyPathBackendImpl.cpp: Added.
793         (IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
794         * storage/IDBKeyPathBackendImpl.h: Added.
795         * storage/IDBObjectStoreBackendImpl.cpp:
796         (WebCore::IDBObjectStoreBackendImpl::put):
797         * storage/chromium/IDBKeyPathBackendImpl.cpp: Added.
798         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
799
800 2010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
801
802         Reviewed by Pavel Feldman.
803
804         WebInspector: RemoteInspectorFrontend can be renamed to InspectorFrontend.
805         The old version of InspectorFrontend was removed some time ago and now
806         it is possible to rename the new version of inspector frontend class to its
807         original name.
808         https://bugs.webkit.org/show_bug.cgi?id=44499
809
810         * GNUmakefile.am:
811         * WebCore.gyp/WebCore.gyp:
812         * WebCore.pri:
813         * WebCore.vcproj/WebCore.vcproj:
814         * WebCore.xcodeproj/project.pbxproj:
815         * inspector/CodeGeneratorInspector.pm:
816         * inspector/ConsoleMessage.cpp:
817         (WebCore::ConsoleMessage::addToFrontend):
818         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
819         * inspector/ConsoleMessage.h:
820         * inspector/InjectedScriptHost.cpp:
821         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
822         (WebCore::InjectedScriptHost::frontend):
823         * inspector/InjectedScriptHost.h:
824         * inspector/InspectorApplicationCacheAgent.cpp:
825         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
826         * inspector/InspectorApplicationCacheAgent.h:
827         * inspector/InspectorBackend.cpp:
828         (WebCore::InspectorBackend::dispatchOnInjectedScript):
829         (WebCore::InspectorBackend::frontend):
830         * inspector/InspectorBackend.h:
831         * inspector/InspectorCSSStore.cpp:
832         * inspector/InspectorCSSStore.h:
833         * inspector/InspectorController.cpp:
834         (WebCore::InspectorController::inspectedPageDestroyed):
835         (WebCore::InspectorController::inspect):
836         (WebCore::InspectorController::focusNode):
837         (WebCore::InspectorController::windowVisible):
838         (WebCore::InspectorController::addConsoleMessage):
839         (WebCore::InspectorController::clearConsoleMessages):
840         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
841         (WebCore::InspectorController::setSearchingForNode):
842         (WebCore::InspectorController::setMonitoringXHR):
843         (WebCore::InspectorController::connectFrontend):
844         (WebCore::InspectorController::show):
845         (WebCore::InspectorController::showPanel):
846         (WebCore::InspectorController::close):
847         (WebCore::InspectorController::disconnectFrontend):
848         (WebCore::InspectorController::populateScriptObjects):
849         (WebCore::InspectorController::pruneResources):
850         (WebCore::InspectorController::didCommitLoad):
851         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
852         (WebCore::InspectorController::identifierForInitialRequest):
853         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
854         (WebCore::InspectorController::mainResourceFiredLoadEvent):
855         (WebCore::InspectorController::willSendRequest):
856         (WebCore::InspectorController::didReceiveResponse):
857         (WebCore::InspectorController::didReceiveContentLength):
858         (WebCore::InspectorController::didFinishLoading):
859         (WebCore::InspectorController::didFailLoading):
860         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
861         (WebCore::InspectorController::scriptImported):
862         (WebCore::InspectorController::enableResourceTracking):
863         (WebCore::InspectorController::disableResourceTracking):
864         (WebCore::InspectorController::startTimelineProfiler):
865         (WebCore::InspectorController::stopTimelineProfiler):
866         (WebCore::InspectorController::postWorkerNotificationToFrontend):
867         (WebCore::InspectorController::didCreateWorker):
868         (WebCore::InspectorController::didDestroyWorker):
869         (WebCore::InspectorController::selectDatabase):
870         (WebCore::InspectorController::didOpenDatabase):
871         (WebCore::InspectorController::didUseDOMStorage):
872         (WebCore::InspectorController::selectDOMStorage):
873         (WebCore::InspectorController::enableDebuggerFromFrontend):
874         (WebCore::InspectorController::enableDebugger):
875         (WebCore::InspectorController::disableDebugger):
876         (WebCore::InspectorController::evaluateForTestInFrontend):
877         * inspector/InspectorController.h:
878         (WebCore::InspectorController::hasFrontend):
879         * inspector/InspectorDOMAgent.cpp:
880         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
881         * inspector/InspectorDOMAgent.h:
882         (WebCore::InspectorDOMAgent::create):
883         * inspector/InspectorDOMStorageResource.cpp:
884         (WebCore::InspectorDOMStorageResource::bind):
885         * inspector/InspectorDOMStorageResource.h:
886         * inspector/InspectorDatabaseResource.cpp:
887         (WebCore::InspectorDatabaseResource::bind):
888         * inspector/InspectorDatabaseResource.h:
889         * inspector/InspectorDebuggerAgent.cpp:
890         (WebCore::InspectorDebuggerAgent::create):
891         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
892         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
893         (WebCore::InspectorDebuggerAgent::didParseSource):
894         (WebCore::InspectorDebuggerAgent::failedToParseSource):
895         (WebCore::InspectorDebuggerAgent::didPause):
896         (WebCore::InspectorDebuggerAgent::didContinue):
897         * inspector/InspectorDebuggerAgent.h:
898         * inspector/InspectorProfilerAgent.cpp:
899         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
900         (WebCore::InspectorProfilerAgent::addProfile):
901         (WebCore::InspectorProfilerAgent::disable):
902         (WebCore::InspectorProfilerAgent::enable):
903         (WebCore::InspectorProfilerAgent::resetState):
904         (WebCore::InspectorProfilerAgent::toggleRecordButton):
905         * inspector/InspectorProfilerAgent.h:
906         (WebCore::InspectorProfilerAgent::setFrontend):
907         * inspector/InspectorResource.cpp:
908         (WebCore::InspectorResource::updateScriptObject):
909         (WebCore::InspectorResource::releaseScriptObject):
910         * inspector/InspectorResource.h:
911         * inspector/InspectorStorageAgent.cpp:
912         (WebCore::InspectorStorageAgent::InspectorStorageAgent):
913         * inspector/InspectorStorageAgent.h:
914         (WebCore::InspectorStorageAgent::create):
915         (WebCore::InspectorStorageAgent::frontend):
916         * inspector/InspectorTimelineAgent.cpp:
917         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
918         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
919         * inspector/InspectorTimelineAgent.h:
920
921 2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
922
923         Reviewed by Dirk Schulze.
924
925         Markers don't render, when applied to a target using vector-effect="non-scaling-stroke"
926         https://bugs.webkit.org/show_bug.cgi?id=44511
927
928         Make fillAndStrokePath a member function of RenderPath, to avoid having to pass the const Path& and this paramters.
929         Don't leave the GraphicsContext mutated after applying non-scaling-stroke transformation, otherwhise markers will be renderer
930         in the wrong coordinate space, and thus don't show up anymore.
931
932         Test: svg/custom/non-scaling-stroke-markers.svg
933
934         * rendering/RenderPath.cpp:
935         (WebCore::RenderPath::fillAndStrokePath):
936         (WebCore::RenderPath::paint):
937         * rendering/RenderPath.h:
938
939 2010-08-24  Adam Barth  <abarth@webkit.org>
940
941         Reviewed by Kenneth Rohde Christiansen.
942
943         Remove wrong code from Qt that's dumping extra markup into the clipboard
944         https://bugs.webkit.org/show_bug.cgi?id=44506
945
946         I have no way of testing this patch, but hopefully it should fix a
947         bunch of newly failing tests.  This code seems very confused.
948
949         * platform/qt/PasteboardQt.cpp:
950         (WebCore::Pasteboard::writeSelection):
951
952 2010-08-24  Pavel Podivilov  <podivilov@chromium.org>
953
954         Reviewed by Yury Semikhatsky.
955
956         Web Inspector: fix gcc warnings introduced in 65731
957         https://bugs.webkit.org/show_bug.cgi?id=44468
958
959         * inspector/InspectorDOMAgent.cpp:
960         (WebCore::InspectorDOMAgent::didInsertDOMNode):
961         (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
962
963 2010-08-24  Ariya Hidayat  <ariya@sencha.com>
964
965         Reviewed by Simon Hausmann.
966
967         [Qt] Blur shadow for rectangle fill
968         https://bugs.webkit.org/show_bug.cgi?id=44488
969
970         Refactor fillRect() function to support blur radius in the shadow.
971
972         * platform/graphics/qt/GraphicsContextQt.cpp:
973         (WebCore::GraphicsContext::fillRect):
974
975 2010-08-24  Nikolas Zimmermann  <nzimmermann@rim.com>
976
977         Reviewed by Dirk Schulze
978
979         clip-path does not work inside mask element
980         https://bugs.webkit.org/show_bug.cgi?id=41428
981
982         Add new tests covering nesting of clippers and maskers, with different unitTypes for the content coordinate system.
983         Scale all ImageBuffer content to take into account that ImageBuffers use integer based sizes, where the content
984         is floating-point sized. This compensates rounded errors, when scaling the document.
985
986         Tests: svg/clip-path/clip-in-mask-objectBoundingBox.svg
987                svg/clip-path/clip-in-mask-userSpaceOnUse.svg
988                svg/clip-path/clip-in-mask.svg
989                svg/clip-path/deep-nested-clip-in-mask-different-unitTypes.svg
990                svg/clip-path/deep-nested-clip-in-mask-panning.svg
991                svg/clip-path/deep-nested-clip-in-mask.svg
992                svg/clip-path/nested-clip-in-mask-image-based-clipping.svg
993                svg/clip-path/nested-clip-in-mask-path-and-image-based-clipping.svg
994                svg/clip-path/nested-clip-in-mask-path-based-clipping.svg
995
996         * rendering/RenderSVGResourceClipper.cpp:
997         (WebCore::RenderSVGResourceClipper::applyResource): Return the value of applyClippingToContext, instead of always true.
998         (WebCore::RenderSVGResourceClipper::applyClippingToContext): Moved some code from createClipData, to avoid having to pass 5 arguments to createClipData.
999         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Renamed from createClipData.
1000         * rendering/RenderSVGResourceClipper.h:
1001         * rendering/RenderSVGResourceGradient.cpp:
1002         (WebCore::createMaskAndSwapContextForTextGradient): Pass absoluteTargetRect to createImageBuffer.
1003         (WebCore::clipToTextMask): Ditto.
1004         * rendering/RenderSVGResourceMasker.cpp:
1005         (WebCore::RenderSVGResourceMasker::applyResource): Ditto.
1006         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): Pass content transformation to renderSubtreeToImageBuffer, to support nesting objectBoundingBox resources.
1007         * rendering/RenderSVGResourcePattern.cpp:
1008         (WebCore::RenderSVGResourcePattern::applyResource): Adapt to calculateTransformationToOutermostSVGCoordinateSystem changes. AffineTransform is now passed as reference.
1009         (WebCore::RenderSVGResourcePattern::createTileImage): ImageBuffer content scaling is now handled by createImageBuffer.
1010         * rendering/SVGImageBufferTools.cpp:
1011         (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem): Renamed. Don't return an AffineTransform copy, but instead pass it as reference.
1012         (WebCore::SVGImageBufferTools::createImageBuffer): Always scale the ImageBuffer content, to compensate rounding effects (code was only present in patterns so far).
1013                                                            Now also needs the 'absoluteTargetRect' parameter, not only 'clampedAbsoluteTargetRect'.
1014         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer): Moved from SVGRenderSupport.
1015         (WebCore::SVGImageBufferTools::clipToImageBuffer): Pass ImageBuffer as OwnPtr reference, to allow to clear it under certain circumstances (see comment).
1016         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRectForRenderer): Remove AffineTransform parameter, absoluteTargetRect is calculated before passing into this function.
1017         * rendering/SVGImageBufferTools.h:
1018         * rendering/SVGRenderSupport.cpp:
1019         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Important change, respect the RenderSVGResourceClipper::applyResource() return value!
1020         * rendering/SVGRenderSupport.h:
1021         * svg/SVGFEImageElement.cpp:
1022         (WebCore::SVGFEImageElement::build): renderSubtreeToImage now lives in SVGImageBufferTools, adapt code.
1023
1024 2010-08-24  Andrei Popescu  <andreip@dhcp-172-16-14-12.lon.corp.google.com>
1025
1026         Reviewed by Jeremy Orlow.
1027
1028         [IndexedDB] IDBTransaction is missing the implementation for objectStore method
1029         https://bugs.webkit.org/show_bug.cgi?id=44446
1030
1031         * storage/IDBDatabaseBackendImpl.cpp:
1032         (WebCore::IDBDatabaseBackendImpl::transaction):
1033         * storage/IDBTransactionBackendImpl.cpp:
1034         (WebCore::IDBTransactionBackendImpl::create):
1035         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
1036         (WebCore::IDBTransactionBackendImpl::objectStore):
1037         * storage/IDBTransactionBackendImpl.h:
1038         * storage/IDBTransactionCoordinator.cpp:
1039         (WebCore::IDBTransactionCoordinator::createTransaction):
1040         * storage/IDBTransactionCoordinator.h:
1041
1042 2010-08-24  Andreas Kling  <andreas.kling@nokia.com>
1043
1044         Reviewed by Tor Arne Vestbø.
1045
1046         Disallow setting Document.xmlVersion to unsupported versions
1047         https://bugs.webkit.org/show_bug.cgi?id=44494
1048
1049         Added XMLDocumentParser::supportsXMLVersion() - only returns true for "1.0"
1050         in both implementations.
1051
1052         * dom/Document.cpp:
1053         (WebCore::Document::setXMLVersion): Throw NOT_SUPPORTED_ERR
1054         if XMLDocumentParser::supportsXMLVersion() returns false for the version.
1055         * dom/XMLDocumentParser.h:
1056         * dom/XMLDocumentParserLibxml2.cpp:
1057         (WebCore::XMLDocumentParser::supportsXMLVersion):
1058         * dom/XMLDocumentParserQt.cpp:
1059         (WebCore::XMLDocumentParser::supportsXMLVersion):
1060
1061 2010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1062
1063         Reviewed by Simon Hausmann.
1064
1065         [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
1066         https://bugs.webkit.org/show_bug.cgi?id=31273
1067
1068         On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
1069         WebKit headers are included before platform headers. On all other
1070         platforms continue to use INCLUDEPATH (as before).
1071
1072         This patch also removed the workarounds that are put in place 
1073         now that we have a better solution.
1074
1075         No new tests as there is no new functionality.
1076
1077         * WebCore.pro:
1078
1079 2010-08-24  Ariya Hidayat  <ariya@sencha.com>
1080
1081         Reviewed by Kenneth Rohde Christiansen.
1082
1083         [Qt] Support text-shadow blur
1084         https://bugs.webkit.org/show_bug.cgi?id=19728
1085
1086         Implement blur for text shadow using the shadow layer in r65782.
1087
1088         * platform/graphics/qt/ContextShadow.cpp:
1089         (WebCore::ContextShadow::beginShadowLayer):
1090         * platform/graphics/qt/FontQt.cpp:
1091         (WebCore::drawTextCommon):
1092
1093 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
1094
1095         Reviewed by Tor Arne Vestbø.
1096
1097         setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
1098         https://bugs.webkit.org/show_bug.cgi?id=44432
1099
1100         Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
1101
1102         * dom/Element.cpp:
1103         (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
1104         and the qualifiedName has a prefix.
1105
1106 2010-08-24  Adam Barth  <abarth@webkit.org>
1107
1108         Build fix.  leakPtr doesn't exist, contrary to my dreams.
1109
1110         * storage/IDBKeyTree.h:
1111         (WebCore::::put):
1112         * storage/IDBPendingTransactionMonitor.cpp:
1113         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
1114
1115 2010-08-24  Adam Barth  <abarth@webkit.org>
1116
1117         Reviewed by Eric Seidel.
1118
1119         Deploy adoptPtr in WebCore/storage
1120         https://bugs.webkit.org/show_bug.cgi?id=44491
1121
1122         There are still some naked news for a future patch.  The next step is
1123         to make create methods.
1124
1125         * storage/Database.cpp:
1126         (WebCore::DatabaseCreationCallbackTask::create):
1127         (WebCore::DerefContextTask::create):
1128         (WebCore::DeliverPendingCallbackTask::create):
1129         * storage/DatabaseSync.cpp:
1130         (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
1131         * storage/DatabaseTask.h:
1132         (WebCore::Database::DatabaseOpenTask::create):
1133         (WebCore::Database::DatabaseCloseTask::create):
1134         (WebCore::Database::DatabaseTransactionTask::create):
1135         (WebCore::Database::DatabaseTableNamesTask::create):
1136         * storage/DatabaseThread.cpp:
1137         (WebCore::DatabaseThread::DatabaseThread):
1138         * storage/DatabaseTracker.cpp:
1139         (WebCore::DatabaseTracker::populateOrigins):
1140         (WebCore::DatabaseTracker::addOpenDatabase):
1141         * storage/IDBKeyTree.h:
1142         (WebCore::::put):
1143         * storage/IDBPendingTransactionMonitor.cpp:
1144         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
1145         * storage/LocalStorageTask.h:
1146         (WebCore::LocalStorageTask::createImport):
1147         (WebCore::LocalStorageTask::createSync):
1148         (WebCore::LocalStorageTask::createDeleteEmptyDatabase):
1149         (WebCore::LocalStorageTask::createTerminate):
1150         * storage/LocalStorageThread.cpp:
1151         (WebCore::LocalStorageThread::create):
1152         * storage/SQLTransaction.cpp:
1153         (WebCore::SQLTransaction::openTransactionAndPreflight):
1154         * storage/SQLTransactionSync.cpp:
1155         (WebCore::SQLTransactionSync::SQLTransactionSync):
1156         (WebCore::SQLTransactionSync::begin):
1157         * storage/StorageNamespaceImpl.cpp:
1158         (WebCore::StorageNamespaceImpl::copy):
1159
1160 2010-08-24  Ilya Tikhonovsky  <loislo@chromium.org>
1161
1162         Reviewed by Yury Semikhatsky.
1163
1164         WebInspector: setAttachedWindow was modified at r65809 but it should be implemented another way.
1165         https://bugs.webkit.org/show_bug.cgi?id=44493
1166
1167         * inspector/Inspector.idl:
1168         * inspector/InspectorController.cpp:
1169         * inspector/InspectorController.h:
1170         * inspector/InspectorFrontendClientLocal.cpp:
1171         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
1172
1173 2010-08-23  Eric Seidel  <eric@webkit.org>
1174
1175         Reviewed by Adam Barth.
1176
1177         Use new HTML5 TreeBuilder for fragment parsing
1178         https://bugs.webkit.org/show_bug.cgi?id=44475
1179
1180         The HTML5 TreeBuilder is ready to be used for all parsing
1181         including fragments!  This is the last change to move trunk
1182         off of the LegacyHTMLTreeBuilder.  We'll go through and
1183         delete the thousands of lines of code supporting the old
1184         parser in a separate patch.
1185
1186         This is covered by many layout tests.
1187
1188         * html/HTMLTreeBuilder.cpp:
1189
1190 >>>>>>> .r65945
1191 2010-08-23  Adam Barth  <abarth@webkit.org>
1192
1193         Reviewed by Eric Seidel.
1194
1195         HTMLScriptRunner::create
1196         https://bugs.webkit.org/show_bug.cgi?id=44474
1197
1198         * html/HTMLDocumentParser.cpp:
1199         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1200         * html/HTMLScriptRunner.h:
1201         (WebCore::HTMLScriptRunner::create):
1202
1203 2010-08-23  Adam Barth  <abarth@webkit.org>
1204
1205         Reviewed by Eric Seidel.
1206
1207         HTMLTreeBuilder should use adoptPtr
1208         https://bugs.webkit.org/show_bug.cgi?id=44473
1209
1210         We should really use this pattern everywhere.
1211
1212         * html/HTMLDocumentParser.cpp:
1213         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1214         * html/HTMLTreeBuilder.h:
1215         (WebCore::HTMLTreeBuilder::create):
1216
1217 2010-08-23  Patrick Gansterer  <paroga@paroga.com>
1218
1219         Reviewed by Adam Roben.
1220
1221         Set the ResourceResponse HTTP headers in RessourceHandleWin
1222         https://bugs.webkit.org/show_bug.cgi?id=44444
1223
1224         * platform/network/win/ResourceHandleWin.cpp:
1225         (WebCore::queryHTTPHeader):
1226         (WebCore::ResourceHandle::onRequestComplete):
1227
1228 2010-08-23  Patrick Gansterer  <paroga@paroga.com>
1229
1230         Reviewed by Adam Roben.
1231
1232         Support all available biBitCount values in BitmapInfo
1233         https://bugs.webkit.org/show_bug.cgi?id=43724
1234
1235         Add an enum with all possible values for biBitCount.
1236         Also remove explicit initialization of bmiHeader members,
1237         because that is already done in the constructor.
1238
1239         * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
1240         (WebCore::bitmapInfoForSize):
1241         (WebCore::BitmapInfo::create):
1242         (WebCore::BitmapInfo::createBottomUp):
1243         * platform/win/BitmapInfo.h: Added property svn:eol-style.
1244         (WebCore::BitmapInfo::):
1245         (WebCore::BitmapInfo::bytesPerLine):
1246         (WebCore::BitmapInfo::paddedBytesPerLine):
1247         (WebCore::BitmapInfo::paddedWidth):
1248         * platform/win/PopupMenuWin.cpp:
1249         (WebCore::PopupMenuWin::paint):
1250
1251 2010-08-23  Kent Tamura  <tkent@chromium.org>
1252
1253         Unreviewed, build fix for r65852.
1254
1255         * rendering/RenderTextControlSingleLine.cpp:
1256         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
1257         * rendering/TextControlInnerElements.cpp:
1258         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
1259         (WebCore::InputFieldSpeechButtonElement::create):
1260         * rendering/TextControlInnerElements.h:
1261
1262 2010-08-23  Ryosuke Niwa  <rniwa@webkit.org>
1263
1264         Reviewed by Eric Seidel.
1265
1266         MarkupAccumulator::appendStartMarkup should be broken down into pieces
1267         https://bugs.webkit.org/show_bug.cgi?id=44288
1268
1269         Extracted appendText, appendComment, appendProcessingInstruction, appendElement and appendCDATASection.
1270         Also simplified the conditionals in appendText.
1271
1272         No new tests are added since this is a cleanup.
1273
1274         * editing/markup.cpp:
1275         (WebCore::MarkupAccumulator::appendText):
1276         (WebCore::MarkupAccumulator::appendComment):
1277         (WebCore::MarkupAccumulator::appendProcessingInstruction):
1278         (WebCore::MarkupAccumulator::appendElement):
1279         (WebCore::MarkupAccumulator::appendCDATASection):
1280         (WebCore::MarkupAccumulator::appendStartMarkup):
1281
1282 2010-08-23  Simon Fraser  <simon.fraser@apple.com>
1283
1284         Reviewed by Alexey Proskuryakov.
1285
1286         TreeWalker is not calling acceptNode function in filter object
1287         https://bugs.webkit.org/show_bug.cgi?id=35296
1288         
1289         Fix incorrect shadowing of the 'function' variable, which could result
1290         in badness when asking for arguments.callee.
1291
1292         * bindings/js/JSNodeFilterCondition.cpp:
1293         (WebCore::JSNodeFilterCondition::acceptNode):
1294
1295 2010-08-23  Darin Adler  <darin@apple.com>
1296
1297         Reviewed by Geoff Garen.
1298
1299         Changed type of Node::parentNode to ContainerNode so we don't have to cast,
1300         since parent are all containers.
1301
1302         * css/CSSStyleSelector.h: Changed m_parentNode to ContainerNode*.
1303
1304         * dom/Document.h: Fixed the type of TreeShared in the Node constructor.
1305         Yes, it's here.
1306
1307         * dom/Node.cpp:
1308         (WebCore::Node::eventParentNode): Removed now-unneeded typecast dance.
1309         (WebCore::eventTargetAsSVGElementInstance):Changed type to ContainerNode*.
1310
1311         * dom/Node.h: Made Node inherit from TreeShared<ContainerNode> instead of
1312         from TreeShared<Node>. Removed bogus comment. Changed return type of parentNode
1313         and shadowParentNode functions to ContainerNode*. Fixed using to use
1314         TreeShared<ContainerNode>.
1315
1316         * dom/Position.h: Include ContainerNode.h instead of Node.h.
1317
1318         * html/HTMLConstructionSite.cpp:
1319         (WebCore::HTMLConstructionSite::findFosterSite): Removed now-unneeded typecast.
1320
1321         * rendering/MediaControlElements.h:
1322         * rendering/SVGShadowTreeElements.h:
1323         * rendering/TextControlInnerElements.h:
1324         Changed return type of shadowParentNode functions to ContainerNode.
1325
1326         * rendering/RenderMeter.cpp:
1327         (WebCore::RenderMeter::updatePartsState): Cast the node to HTMLElement* before
1328         passing it to the function that creates the shadow element. We know the node is
1329         a HTMLMeterElement, but the node function doesn't know that.
1330         * rendering/RenderProgress.cpp:
1331         (WebCore::RenderProgress::updatePartsState): Ditto.
1332         * rendering/RenderSlider.cpp:
1333         (WebCore::SliderThumbElement::SliderThumbElement): More of the same.
1334         (WebCore::SliderThumbElement::create): Ditto.
1335         (WebCore::RenderSlider::updateFromElement): Ditto.
1336         * rendering/RenderTextControl.cpp:
1337         (WebCore::RenderTextControl::createSubtreeIfNeeded): Ditto.
1338         * rendering/RenderTextControlSingleLine.cpp:
1339         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Ditto.
1340         * rendering/SVGShadowTreeElements.cpp:
1341         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Ditto.
1342         (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto.
1343         * rendering/ShadowElement.cpp:
1344         (WebCore::ShadowBlockElement::create): Ditto.
1345         (WebCore::ShadowBlockElement::ShadowBlockElement): Ditto.
1346         (WebCore::ShadowBlockElement::createForPart): Ditto.
1347         (WebCore::ShadowInputElement::create): Ditto.
1348         (WebCore::ShadowInputElement::ShadowInputElement): Ditto.
1349         * rendering/ShadowElement.h:
1350         (WebCore::ShadowElement::ShadowElement): Ditto.
1351         (WebCore::ShadowElement::shadowParent): Ditto.
1352         (WebCore::ShadowElement::shadowParentNode): Ditto.
1353         * rendering/TextControlInnerElements.cpp:
1354         (WebCore::TextControlInnerElement::TextControlInnerElement): Ditto.
1355         (WebCore::TextControlInnerElement::create): Ditto.
1356         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): Ditto.
1357         (WebCore::TextControlInnerTextElement::create): Ditto.
1358         (WebCore::SpinButtonElement::SpinButtonElement): Ditto.
1359         (WebCore::SpinButtonElement::create): Ditto.
1360
1361         * svg/SVGElement.cpp:
1362         (WebCore::SVGElement::eventParentNode): Removed now-unneeded typecast.
1363
1364         * svg/SVGStyledElement.cpp:
1365         (WebCore::SVGStyledElement::title): Changed type to ContainerNode*.
1366
1367 2010-08-23  Martin Robinson  <mrobinson@igalia.com>
1368
1369         Reviewed by Gustavo Noronha Silva.
1370
1371         [GTK] The Mozilla theme drawing code incorrectly renders scrollbar backgrounds
1372         https://bugs.webkit.org/show_bug.cgi?id=44388
1373
1374         No new tests as this functionality is currently unused. When the
1375         the new scrollbar theme code lands for GTK+, this will be tested
1376         by scrollbar pixel tests.
1377
1378         * platform/gtk/gtk2drawing.c: Expose a method to paint scrolled window
1379         backgrounds and disable incorrect rendering of scrollbar trough backgrounds.
1380         (moz_gtk_scrolled_window_paint): Added.
1381         (moz_gtk_scrollbar_trough_paint): Disable incorrect background render.
1382         * platform/gtk/gtkdrawing.h: Add scrolled window widget type in the enum.
1383
1384 2010-08-23  Martin Robinson  <mrobinson@igalia.com>
1385
1386         Reviewed by Gustavo Noronha Silva.
1387
1388         [GTK] The Mozilla theme drawing API should expose extra information about scrollbar geometry
1389         https://bugs.webkit.org/show_bug.cgi?id=44385
1390
1391         Expose the trough_under_steppers property in MozGtkScrollbarMetrics.
1392
1393         No new tests as this does not change functionality.
1394
1395         * platform/gtk/gtk2drawing.c: Set the trough_under_steppers member when accessing theme data.
1396         * platform/gtk/gtkdrawing.h: Add the trough_under_steppers member.
1397
1398 2010-08-23  Darin Adler  <darin@apple.com>
1399
1400         Reviewed by Geoff Garen.
1401
1402         Parser DOM tree manipulation functions do not need to be virtual.
1403
1404         * dom/ContainerNode.h: Made parserAddChild, parserRemoveChild, and
1405         parserInsertBefore non-virtual.
1406
1407         * dom/Node.cpp: Removed the parserAddChild, parserRemoveChild, and
1408         parserInsertBefore functions, which should never have been in the Node class.
1409         * dom/Node.h: Ditto.
1410
1411         * html/HTMLConstructionSite.cpp:
1412         (WebCore::HTMLConstructionSite::attach): Changed argument type to ContainerNode*
1413         because we never need to attach a child to a non-container node.
1414         (WebCore::HTMLConstructionSite::findFosterSite): Cast the result of the parent
1415         function to ContainerNode*. A parent is always guaranteed to be a container, but
1416         the parent function returns a Node* so that callers can use it without including
1417         ContainerNode's header. That seems like something we can easily fix later.
1418
1419         * html/HTMLConstructionSite.h: Changed AttachmentSite::parent and the
1420         attach function to ContainerNode* instead of Node*.
1421
1422 2010-08-23  Adam Barth  <abarth@webkit.org>
1423
1424         Reviewed by Eric Seidel.
1425
1426         editing/pasteboard/bad-placeholder.html fails with --html5-treebuilder
1427         https://bugs.webkit.org/show_bug.cgi?id=44463
1428
1429         The problem here is that using the documentElement as the context puts
1430         the tree builder into the BeforeHead insertion mode, which strips
1431         leading spaces.  This code is confused about what it wants, but it
1432         certainly doesn't want to be in that insertion mode.  Looking through
1433         the callers, they'd much rather be in the InBody insertion mode.  We
1434         can get them there by creating a fake body element as the context
1435         element.
1436
1437         In the long term, all this code needs to be changed to move away from
1438         deprecatedCreateContextualFragment, which does a bunch of nasty stuff
1439         like removing certain kinds of elements.  However, that's a battle for
1440         another day.
1441
1442         * editing/markup.cpp:
1443         (WebCore::createFragmentFromMarkup):
1444
1445 2010-08-23  Adam Barth  <abarth@webkit.org>
1446
1447         Reviewed by Eric Seidel.
1448
1449         fast/xsl/default-html.html fails with HTML5 fragment parsing
1450         https://bugs.webkit.org/show_bug.cgi?id=44450
1451
1452         This patch is a step down a trail of tears.  As far as I can tell,
1453         there's no spec for XSLTProcessor.transformToFragment.  This patch
1454         attempts to infer the proper behavior from test cases and the Mozilla
1455         wiki.
1456
1457         * xml/XSLTProcessor.cpp:
1458         (WebCore::createFragmentFromSource):
1459
1460 2010-08-23  Adam Barth  <abarth@webkit.org>
1461
1462         Reviewed by Eric Seidel.
1463
1464         editing/pasteboard/paste-visible-script.html is broken with --html5-treebuilder
1465         https://bugs.webkit.org/show_bug.cgi?id=44457
1466
1467         Turns out there are two more checks we need for fragment scripting
1468         permission.  Not the most beautiful design, but it seems work.
1469
1470         * html/HTMLConstructionSite.cpp:
1471         (WebCore::HTMLConstructionSite::insertScriptElement):
1472         * html/HTMLTreeBuilder.cpp:
1473         (WebCore::HTMLTreeBuilder::processEndTag):
1474
1475 2010-08-23  Eric Seidel  <eric@webkit.org>
1476
1477         Reviewed by Adam Barth.
1478
1479         fast/dom/script-innerHTML-x.xhtml fails when run with the HTML5 TreeBuilder in fragment mode
1480         https://bugs.webkit.org/show_bug.cgi?id=44447
1481
1482         This special handling for script/style used to exist in
1483         setInnerHTML.  HTML5 moves this logic into the HTML and XML
1484         parsers instead of in setInnerHTML.
1485
1486         In order to share this logic between WebKit's two XML parsers
1487         I had to clean up a bit of the libxml2 parser and add a
1488         new appendFragmentSource method.
1489
1490         Covered by fast/dom/script-innerHTML-x.xhtml.
1491
1492         * dom/XMLDocumentParser.cpp:
1493         (WebCore::XMLDocumentParser::end):
1494          - Now that libxml2 is calling finish() for fragments (Qt already was)
1495            I went through and removed this unneeded style update after fragment parsing.
1496         (WebCore::XMLDocumentParser::parseDocumentFragment):
1497          - Yay for shared code!
1498          - This is where I added the style/script hack moved from setInnerHTML.
1499         * dom/XMLDocumentParser.h:
1500          - Fix indent.
1501         * dom/XMLDocumentParserLibxml2.cpp:
1502          - Removed parseDocumentFragment and moved necessary libxml-specific
1503            logic into appendFragmentSource.
1504         (WebCore::XMLDocumentParser::appendFragmentSource):
1505         * dom/XMLDocumentParserQt.cpp:
1506         (WebCore::XMLDocumentParser::appendFragmentSource):
1507
1508 2010-08-23  Kenneth Russell  <kbr@google.com>
1509
1510         Reviewed by Dimitri Glazkov.
1511
1512         Remove references to ArrayBuffer and ArrayBufferView from GraphicsContext3D
1513         https://bugs.webkit.org/show_bug.cgi?id=44455
1514
1515         Updated Safari, Qt and Chromium WebGL ports to avoid referencing
1516         ArrayBuffer and ArrayBufferView types from GraphicsContext3D.
1517
1518         Ran all WebGL layout tests; no new regressions. Built and tested
1519         WebKit on Mac OS X; built Chromium on Mac OS X and Linux.
1520
1521         * html/canvas/WebGLBuffer.cpp:
1522         * html/canvas/WebGLBuffer.h:
1523         * html/canvas/WebGLRenderingContext.cpp:
1524         (WebCore::WebGLRenderingContext::bufferData):
1525         (WebCore::WebGLRenderingContext::bufferSubData):
1526         (WebCore::WebGLRenderingContext::texImage2D):
1527         (WebCore::WebGLRenderingContext::texSubImage2D):
1528         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
1529         * platform/graphics/GraphicsContext3D.cpp:
1530         (WebCore::GraphicsContext3D::extractTextureData):
1531         * platform/graphics/GraphicsContext3D.h:
1532         * platform/graphics/chromium/GLES2Canvas.cpp:
1533         (WebCore::GLES2Canvas::getQuadVertices):
1534         * platform/graphics/mac/GraphicsContext3DMac.mm:
1535         (WebCore::GraphicsContext3D::bufferData):
1536         (WebCore::GraphicsContext3D::bufferSubData):
1537         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1538         (WebCore::GraphicsContext3D::bufferData):
1539         (WebCore::GraphicsContext3D::bufferSubData):
1540
1541 2010-08-20  Stephen White  <senorblanco@chromium.org>
1542
1543         Reviewed by Kenneth Russell.
1544
1545         [CHROMIUM] Fix some failing layout tests w/ACCELERATED_2D_CANVAS
1546         https://bugs.webkit.org/show_bug.cgi?id=44346
1547
1548         LayoutTests/fast/canvas/canvas-incremental-repaint.html (top middle
1549         pane).
1550         Failing because we were not applying the CTM in clearRect().  Now using
1551         the fast path when the CTM is identity, and a fillRect() for the rest.
1552         LayoutTests/fast/canvas/canvas-strokeRect.html
1553         LayoutTests/fast/canvas/shadow-offset-[1-7].html
1554         Failing because we weren't switching to the software path when a 
1555         shadow is present.
1556         Also refactor the two versions of fillRect(), and use TRIANGLE_STRIP
1557         strip instead of TRIANGLES, which lets us get rid of the element array
1558         and use drawArrays() instead of drawElements().
1559
1560         Covered by the above layout tests.
1561
1562         * platform/graphics/chromium/GLES2Canvas.cpp:
1563         (WebCore::GLES2Canvas::GLES2Canvas):
1564         (WebCore::GLES2Canvas::~GLES2Canvas):
1565         Remove m_quadIndices (now unused).
1566         (WebCore::GLES2Canvas::clearRect):
1567         Use a glClear() fast path for the identity-CTM clear, and fillRect()
1568         for the rest.
1569         (WebCore::GLES2Canvas::fillRect):
1570         Refactor the two versions of fillRect().
1571         (WebCore::GLES2Canvas::drawTexturedRect):
1572         (WebCore::GLES2Canvas::drawTexturedRectTile):
1573         Get rid of the ELEMENT_ARRAY_BUFFER bind.  Use drawArrays() instead of
1574         drawElements().
1575         (WebCore::GLES2Canvas::getQuadVertices):
1576         Re-order the vertices so they form a triangle strip.
1577         * platform/graphics/chromium/GLES2Canvas.h:
1578         Remove m_quadIndices (now unused).
1579         * platform/graphics/skia/GraphicsContextSkia.cpp:
1580         (WebCore::GraphicsContext::fillRect):
1581         Check for a draw looper (shadow), and drop to the software path.
1582
1583 2010-08-23  Patrick Gansterer  <paroga@paroga.com>
1584
1585         Reviewed by Adam Roben.
1586
1587         Move filehandling into fileLoadTimer callback
1588         https://bugs.webkit.org/show_bug.cgi?id=43714
1589
1590         Also add mimetype detection for local files.
1591
1592         * platform/network/ResourceHandleInternal.h:
1593         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1594         * platform/network/win/ResourceHandleWin.cpp:
1595         (WebCore::ResourceHandle::start):
1596         (WebCore::ResourceHandle::fileLoadTimer):
1597
1598 2010-08-23  Iain Merrick  <husky@google.com>
1599
1600         Reviewed by Steve Block.
1601
1602         Update JNI bridge for V8 after renaming of JavaString::utf8().
1603         https://bugs.webkit.org/show_bug.cgi?id=44419
1604
1605         This fixes the build on Android. No new functionality, so no new tests.
1606
1607         * bridge/jni/v8/JNIBridgeV8.cpp:
1608         (JavaField::JavaField):
1609         * bridge/jni/v8/JNIBridgeV8.h:
1610         (JSC::Bindings::JavaField::type):
1611         * bridge/jni/v8/JavaClassV8.cpp:
1612         (JavaClass::JavaClass):
1613         * bridge/jni/v8/JavaNPObjectV8.cpp:
1614         (JSC::Bindings::JavaNPObjectGetProperty):
1615         * bridge/jni/v8/JavaStringV8.h:
1616         (JSC::Bindings::JavaStringImpl::utf8):
1617
1618 2010-08-23  Mihai Parparita  <mihaip@chromium.org>
1619
1620         Reviewed by David Hyatt.
1621
1622         Assertion failure in FrameView::layout when modifying the DOM during
1623         pagehide with PageCache enabled
1624         https://bugs.webkit.org/show_bug.cgi?id=43152
1625
1626         Always unschedule any pending relayouts when changing the view, not just
1627         when we're not using the page cache. Otherwise touching the DOM during
1628         the pagehide handler can lead to layouts that will be done by the time
1629         the view has changed, which triggers an assert.
1630
1631         Test: fast/loader/unschedule-relayout-after-unload.html
1632
1633         * page/Frame.cpp:
1634         (WebCore::Frame::setView): move unscheduleRelayout outside page cache
1635         check.
1636         * page/FrameView.cpp:
1637         (WebCore::FrameView::layout): remove early return now that assert
1638         should be correct (and the referenced rdar:// got fixed).
1639
1640 2010-08-23  Abhishek Arya  <inferno@chromium.org>
1641
1642         Reviewed by Dimitri Glazkov.
1643
1644         Fix security origin calculation in createPattern. Need to use
1645         cachedImage->response().url() instead of cachedImage->url().
1646         https://bugs.webkit.org/show_bug.cgi?id=44399.
1647
1648         Test: http/tests/security/canvas-remote-read-remote-image-redirect.html
1649
1650         * html/canvas/CanvasRenderingContext2D.cpp:
1651         (WebCore::CanvasRenderingContext2D::createPattern):
1652
1653 2010-08-23  Simon Fraser  <simon.fraser@apple.com>
1654
1655         Reviewed by Alexey Proskuryakov.
1656
1657         TreeWalker is not calling acceptNode function in filter object
1658         https://bugs.webkit.org/show_bug.cgi?id=35296
1659         
1660         We only accepted raw functions as the NodeFilter on TreeWalker. Fix this to
1661         look for an 'acceptNode' function on the filter object, and use that if present.
1662         Also throw an exception if the filter object does not have an acceptNode function.
1663
1664         Test: fast/dom/TreeWalker/acceptNode-filter.html
1665
1666         * bindings/js/JSNodeFilterCondition.cpp:
1667         (WebCore::JSNodeFilterCondition::acceptNode):
1668
1669 2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1670
1671         Unreviewed, rolling out r65814.
1672         http://trac.webkit.org/changeset/65814
1673         https://bugs.webkit.org/show_bug.cgi?id=44443
1674
1675         broke svg/custom/missing-xlink.svg (Requested by kling on
1676         #webkit).
1677
1678         * dom/Element.cpp:
1679         (WebCore::Element::setAttributeNS):
1680
1681 2010-08-23  Jian Li  <jianli@chromium.org>
1682
1683         Reviewed by Darin Fisher.
1684
1685         Handle blob resource.
1686         https://bugs.webkit.org/show_bug.cgi?id=43941
1687
1688         To provide lower level blob reosurce handling for all possible ports,
1689         BlobResourceHandle derived from ResourceHandle is implemented. It provides
1690         both synchronous and asynchronous resource loading for blob URL.
1691
1692         BlobResourceHandle needs to create a FileStreamProxy instance in order to
1693         asynchronous file stream operation. To achive this, a hook createAsyncFileStream
1694         is added to ResourceHandleClient interface. When ResourceLoader implements
1695         ths hook, it creates and returns FileStreamProxy.
1696
1697         BlobResourceHandle.* is not added to chromium port since it will implement
1698         its own blob resource handling.
1699
1700         * Android.mk:
1701         * CMakeLists.txt:
1702         * GNUmakefile.am:
1703         * WebCore.pro:
1704         * WebCore.vcproj/WebCore.vcproj:
1705         * WebCore.xcodeproj/project.pbxproj:
1706         * loader/ResourceLoader.cpp:
1707         (WebCore::ResourceLoader::createAsyncFileStream): Create and return FileStreamProxy.
1708         * loader/ResourceLoader.h:
1709         * page/SecurityOrigin.cpp: Add the support to get and validate the origin of blob URL.
1710         (WebCore::SecurityOrigin::create):
1711         (WebCore::SecurityOrigin::canLoad):
1712         * platform/network/BlobRegistryImpl.cpp:
1713         (WebCore::BlobRegistryImpl::appendStorageItems): Fix a bug that the length is not subtracted.
1714         * platform/network/BlobResourceHandle.cpp: Added.
1715         * platform/network/BlobResourceHandle.h: Added.
1716         * platform/network/HTTPParsers.cpp:
1717         (WebCore::parseRange):
1718         * platform/network/HTTPParsers.h:
1719         * platform/network/ResourceHandle.cpp: Hook up with asynchronous blob resource handling.
1720         (WebCore::ResourceHandle::create):
1721         * platform/network/ResourceHandle.h:
1722         * platform/network/ResourceHandleClient.h:
1723         (WebCore::ResourceHandleClient::createAsyncFileStream): Add a hook.
1724         * platform/network/mac/ResourceHandleMac.mm:
1725         (WebCore::ResourceHandle::loadResourceSynchronously): Hook up with synchronous blob resource handling.
1726
1727 2010-08-23  Jian Li  <jianli@chromium.org>
1728
1729         Reviewed by David Levin.
1730
1731         Remove unneeded BlobRegistryImpl.* and WebBlobRegistryImpl.* from
1732         chromium project files.
1733         https://bugs.webkit.org/show_bug.cgi?id=44442
1734
1735         * WebCore.gypi:
1736
1737 2010-08-23  Adam Barth  <abarth@webkit.org>
1738
1739         Reviewed by Eric Seidel.
1740
1741         Many LayoutTests crash when run with --html5-treebuilder
1742         https://bugs.webkit.org/show_bug.cgi?id=44440
1743
1744         Our list of special tags is out of sync with the HTML5 spec.  This
1745         patch adds HTML to the list, which fixs a ton of crashers when parsing
1746         fragments.  We neet to sync up the list at some point, but we want to
1747         make sure we have test coverage for all those changes, so I've left
1748         that for a future patch.
1749
1750         * html/HTMLTreeBuilder.cpp:
1751
1752 2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
1753
1754         Reviewed by Pavel Feldman.
1755
1756         WebInspector: Context menu in Scripts panel was broken.
1757         https://bugs.webkit.org/show_bug.cgi?id=44431
1758
1759         * inspector/InspectorFrontendHost.cpp:
1760         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
1761         (WebCore::FrontendMenuProvider::contextMenuCleared):
1762
1763 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
1764
1765         Reviewed by Tor Arne Vestbø.
1766
1767         setAttributeNS() should throw NAMESPACE_ERR for prefixed qualifiedName with null namespace
1768         https://bugs.webkit.org/show_bug.cgi?id=44432
1769
1770         Test: fast/dom/setAttributeNS-prefix-and-null-namespace.html
1771
1772         * dom/Element.cpp:
1773         (WebCore::Element::setAttributeNS): Throw NAMESPACE_ERR if namespace is null
1774         and the qualifiedName has a prefix.
1775
1776 2010-08-23  Ryuan Choi  <ryuan.choi@samsung.com>
1777
1778         Reviewed by Antonio Gomes.
1779
1780         [EFL] rendering was broken when missing plugin.
1781         https://bugs.webkit.org/show_bug.cgi?id=43395
1782
1783         Implement RenderThemeEfl::systemFont to render "Missing plugin" when we
1784         don't have proper plugin.
1785         In this case, RenderEmbeddedObject::paintReplaced call systemFont and
1786         pass returned font to GraphicsContext.
1787
1788         * platform/efl/RenderThemeEfl.cpp:
1789         (WebCore::RenderThemeEfl::setDefaultFontSize):
1790         (WebCore::RenderThemeEfl::systemFont):
1791         * platform/efl/RenderThemeEfl.h:
1792
1793 2010-08-23  Pavel Podivilov  <podivilov@chromium.org>
1794
1795         Reviewed by Pavel Feldman.
1796
1797         Web Inspector: remove javascript breakpoint specific code from BreakpointSidebarPane
1798         https://bugs.webkit.org/show_bug.cgi?id=44327
1799
1800         * inspector/front-end/BreakpointManager.js:
1801         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1802         (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
1803         (WebInspector.BreakpointManager.prototype._setBreakpoint):
1804         (WebInspector.BreakpointManager.prototype._removeBreakpoint):
1805         (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
1806         (WebInspector.Breakpoint):
1807         * inspector/front-end/BreakpointsSidebarPane.js:
1808         (WebInspector.BreakpointsSidebarPane):
1809         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1810         (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
1811         (WebInspector.JSBreakpointItem):
1812         (WebInspector.JSBreakpointItem.prototype.compareTo):
1813         (WebInspector.JSBreakpointItem.prototype.element):
1814         (WebInspector.JSBreakpointItem.prototype._breakpointClicked):
1815         (WebInspector.JSBreakpointItem.prototype._checkboxClicked):
1816         (WebInspector.JSBreakpointItem.prototype._enableChanged):
1817         (WebInspector.JSBreakpointItem.prototype._textChanged):
1818         (WebInspector.JSBreakpointItem.prototype._removed):
1819         * inspector/front-end/ScriptsPanel.js:
1820         (WebInspector.ScriptsPanel):
1821         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1822         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
1823         * inspector/front-end/SourceFrame.js:
1824         (WebInspector.SourceFrame.prototype.addBreakpoint):
1825         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
1826
1827 2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
1828
1829         Reviewed by Yury Semikhatsky.
1830
1831         WebInspector: inspector protocol should be switched from array based
1832         message format to object based message format.
1833         Almost all the protocol related things is generated by CodeGeneratorInspector.pm
1834         It was changed a bit. As result InspectorBackendStub.js wraps the
1835         calls into Request objects. InspectorBackendDispatcher.cpp unwraps
1836         these objects and calls corresponding agents. These two files and
1837         RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
1838         Dispatching part of WebInspector also was adjusted for handling Event
1839         objects produced by RemoteInspectorFrontend.cpp and Response objects
1840         produced by InspectorBackendDispatcher.cpp
1841         https://bugs.webkit.org/show_bug.cgi?id=44338
1842
1843         * inspector/CodeGeneratorInspector.pm:
1844         * inspector/Inspector.idl:
1845         * inspector/InspectorController.cpp:
1846         (WebCore::InspectorController::setAttachedWindow):
1847         * inspector/InspectorController.h:
1848         * inspector/InspectorFrontendClientLocal.cpp:
1849         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
1850         * inspector/InspectorValues.h:
1851         (WebCore::InspectorObject::find):
1852         * inspector/front-end/Callback.js:
1853         (WebInspector.Callback.prototype.processResponse):
1854         * inspector/front-end/inspector.js:
1855         (WebInspector.dispatch):
1856         (WebInspector_syncDispatch):
1857         (WebInspector.dispatchMessageFromBackend):
1858         (WebInspector.reportProtocolError):
1859
1860 2010-08-19  Jeremy Orlow  <jorlow@chromium.org>
1861
1862         Reviewed by Steve Block.
1863
1864         Remove IDBDatabase.description per spec changes
1865         https://bugs.webkit.org/show_bug.cgi?id=44264
1866
1867         There's now no longer any way to access the description from JS.
1868         The main premise of the manual test is now obsolete. Over time we'll
1869         be able to add to it again. While I'm at it, I cleaned up the format
1870         of the manual test to be easier to follow (code and usage wise).
1871
1872         * manual-tests/indexed-database.html:
1873         * storage/IDBDatabase.cpp:
1874         (WebCore::IDBDatabase::IDBDatabase):
1875         * storage/IDBDatabase.h:
1876         * storage/IDBDatabase.idl:
1877
1878 2010-08-23  Pavel Feldman  <pfeldman@chromium.org>
1879
1880         Reviewed by Yury Semikhatsky.
1881
1882         Web Inspector: element's css: pseudo-class locations
1883         https://bugs.webkit.org/show_bug.cgi?id=44344
1884
1885         Also contains a drive-by fix for 44301 (gray out read-only).
1886
1887         * inspector/front-end/StylesSidebarPane.js:
1888         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
1889         (WebInspector.StylesSidebarPane.prototype.update):
1890         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1891         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1892         (WebInspector.StylePropertiesSection):
1893
1894 2010-08-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1895
1896         Unreviewed, rolling out r65803.
1897         http://trac.webkit.org/changeset/65803
1898         https://bugs.webkit.org/show_bug.cgi?id=44416
1899
1900         windows build failed (Requested by loislo on #webkit).
1901
1902         * inspector/CodeGeneratorInspector.pm:
1903         * inspector/Inspector.idl:
1904         * inspector/InspectorController.cpp:
1905         * inspector/InspectorController.h:
1906         * inspector/InspectorFrontendClientLocal.cpp:
1907         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
1908         * inspector/InspectorValues.h:
1909         * inspector/front-end/Callback.js:
1910         (WebInspector.Callback.prototype.processResponse):
1911         * inspector/front-end/inspector.js:
1912         (WebInspector.dispatch.delayDispatch):
1913         (WebInspector.dispatch):
1914         (WebInspector_syncDispatch):
1915         (WebInspector.dispatchMessageFromBackend):
1916         (WebInspector.reportProtocolError):
1917
1918 2010-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
1919
1920         Reviewed by Yury Semikhatsky.
1921
1922         WebInspector: inspector protocol should be switched from array based
1923         message format to object based message format.
1924         Almost all the protocol related things is generated by CodeGeneratorInspector.pm
1925         It was changed a bit. As result InspectorBackendStub.js wraps the
1926         calls into Request objects. InspectorBackendDispatcher.cpp unwraps
1927         these objects and calls corresponding agents. These two files and
1928         RemoteInspectorFrontend are generated by CodeGeneratorInspector.pm
1929         Dispatching part of WebInspector also was adjusted for handling Event
1930         objects produced by RemoteInspectorFrontend.cpp and Response objects
1931         produced by InspectorBackendDispatcher.cpp
1932         https://bugs.webkit.org/show_bug.cgi?id=44338
1933
1934         * inspector/CodeGeneratorInspector.pm:
1935         * inspector/Inspector.idl:
1936         * inspector/InspectorController.cpp:
1937         (WebCore::InspectorController::setAttachedWindow):
1938         * inspector/InspectorController.h:
1939         * inspector/InspectorFrontendClientLocal.cpp:
1940         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
1941         * inspector/InspectorValues.h:
1942         (WebCore::InspectorObject::find):
1943         * inspector/front-end/Callback.js:
1944         (WebInspector.Callback.prototype.processResponse):
1945         * inspector/front-end/inspector.js:
1946         (WebInspector.dispatch):
1947         (WebInspector_syncDispatch):
1948         (WebInspector.dispatchMessageFromBackend):
1949         (WebInspector.reportProtocolError):
1950
1951 2010-08-23  Alejandro G. Castro  <alex@igalia.com>
1952
1953         Reviewed by Xan Lopez.
1954
1955         Make the copy of the inspector files silent.
1956
1957         * GNUmakefile.am:
1958
1959 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
1960
1961         Reviewed by Kenneth Rohde Christiansen.
1962
1963         [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
1964         https://bugs.webkit.org/show_bug.cgi?id=44403
1965
1966         Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
1967         For canvas, always use complex text shaping since stroke and fill are decoupled.
1968
1969         * html/canvas/CanvasRenderingContext2D.cpp:
1970         (WebCore::CanvasRenderingContext2D::measureText):
1971         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1972         * platform/graphics/qt/FontQt.cpp:
1973         (WebCore::drawTextCommon):
1974
1975 2010-08-23  Mikhail Naganov  <mnaganov@chromium.org>
1976
1977         Reviewed by Pavel Feldman.
1978
1979         Extract profiler-related code and data from InspectorController into
1980         InspectorProfilerAgent.
1981
1982         https://bugs.webkit.org/show_bug.cgi?id=44174
1983
1984         * CMakeLists.txt:
1985         * GNUmakefile.am:
1986         * WebCore.exp.in:
1987         * WebCore.gypi:
1988         * WebCore.pro:
1989         * WebCore.vcproj/WebCore.vcproj:
1990         * WebCore.xcodeproj/project.pbxproj:
1991         * bindings/js/ScriptProfiler.cpp:
1992         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
1993         * bindings/js/ScriptProfiler.h:
1994         * bindings/v8/ScriptProfiler.cpp:
1995         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
1996         * bindings/v8/ScriptProfiler.h:
1997         * inspector/CodeGeneratorInspector.pm:
1998         * inspector/Inspector.idl:
1999         * inspector/InspectorController.cpp:
2000         (WebCore::InspectorController::InspectorController):
2001         (WebCore::InspectorController::connectFrontend):
2002         (WebCore::InspectorController::disconnectFrontend):
2003         (WebCore::InspectorController::populateScriptObjects):
2004         (WebCore::InspectorController::didCommitLoad):
2005         (WebCore::InspectorController::addProfile):
2006         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2007         (WebCore::InspectorController::addStartProfilingMessageToConsole):
2008         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
2009         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2010         (WebCore::InspectorController::startUserInitiatedProfiling):
2011         (WebCore::InspectorController::stopUserInitiatedProfiling):
2012         (WebCore::InspectorController::profilerEnabled):
2013         (WebCore::InspectorController::enableProfiler):
2014         (WebCore::InspectorController::disableProfiler):
2015         * inspector/InspectorController.h:
2016         (WebCore::InspectorController::profilerAgent):
2017         * inspector/InspectorProfilerAgent.cpp: Added.
2018         (WebCore::InspectorProfilerAgent::create):
2019         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2020         (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
2021         (WebCore::InspectorProfilerAgent::addProfile):
2022         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
2023         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
2024         (WebCore::InspectorProfilerAgent::createProfileHeader):
2025         (WebCore::InspectorProfilerAgent::disable):
2026         (WebCore::InspectorProfilerAgent::enable):
2027         (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName):
2028         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2029         (WebCore::InspectorProfilerAgent::getProfile):
2030         (WebCore::InspectorProfilerAgent::removeProfile):
2031         (WebCore::InspectorProfilerAgent::resetState):
2032         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
2033         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
2034         (WebCore::InspectorProfilerAgent::toggleRecordButton):
2035         * inspector/InspectorProfilerAgent.h: Added.
2036         (WebCore::InspectorProfilerAgent::clearProfiles):
2037         (WebCore::InspectorProfilerAgent::enabled):
2038         (WebCore::InspectorProfilerAgent::isRecordingUserInitiatedProfile):
2039         (WebCore::InspectorProfilerAgent::setRemoteFrontend):
2040         (WebCore::InspectorProfilerAgent::startProfiling):
2041         (WebCore::InspectorProfilerAgent::stopProfiling):
2042
2043 2010-08-23  Ariya Hidayat  <ariya@sencha.com>
2044
2045         Reviewed by Kenneth Rohde Christiansen.
2046
2047         [Qt] Crash when purging the scratch buffer for the shadow
2048         https://bugs.webkit.org/show_bug.cgi?id=44384
2049
2050         WebCore::Timer can't be used in a static object bcause it relies on
2051         thread global data, which is invalid once the application instance is
2052         destroyed. To overcome the problem, use QObject's timer support for
2053         the ShadowBuffer class.
2054
2055         * platform/graphics/qt/ContextShadow.cpp:
2056         (WebCore::):
2057         (WebCore::ShadowBuffer::ShadowBuffer):
2058         (WebCore::ShadowBuffer::schedulePurge):
2059         (WebCore::ShadowBuffer::timerEvent):
2060
2061 2010-08-23  Philippe Normand  <pnormand@igalia.com>
2062
2063         Reviewed by Xan Lopez.
2064
2065         [GStreamer] don't expose the private player in GStreamerGWorld
2066         https://bugs.webkit.org/show_bug.cgi?id=44332
2067
2068         Only a pointer to our playbin2 element instance is required
2069         instead of the whole MediaPlayerPrivateGStreamer instance.
2070
2071         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
2072         (WebCore::GStreamerGWorld::createGWorld):
2073         (WebCore::GStreamerGWorld::GStreamerGWorld):
2074         (WebCore::GStreamerGWorld::~GStreamerGWorld):
2075         (WebCore::GStreamerGWorld::enterFullscreen):
2076         (WebCore::GStreamerGWorld::exitFullscreen):
2077         * platform/graphics/gstreamer/GStreamerGWorld.h:
2078         (WebCore::GStreamerGWorld::pipeline):
2079         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2080         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2081
2082 2010-08-22  Andreas Kling  <andreas.kling@nokia.com>
2083
2084         Reviewed by Kenneth Rohde Christiansen.
2085
2086         [Qt] GraphicsContext: Simplify getting the clip bounding rect
2087         https://bugs.webkit.org/show_bug.cgi?id=44396
2088
2089         Move the Qt 4.8 version check for QPainter::clipBoundingRect()
2090         into a GraphicsContextPlatformPrivate method.
2091
2092         * platform/graphics/qt/GraphicsContextQt.cpp:
2093         (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
2094         (WebCore::GraphicsContext::beginTransparencyLayer):
2095         (WebCore::GraphicsContext::clipOut):
2096         (WebCore::GraphicsContext::clipOutEllipseInRect):
2097
2098 2010-08-22  Juha Savolainen  <juha.savolainen@weego.fi>
2099
2100         Reviewed by Kenneth Rohde Christiansen.
2101
2102         [Qt] Add QTouchEvents support for WebKit2
2103         https://bugs.webkit.org/show_bug.cgi?id=44330
2104
2105         This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
2106         is created for touchevents, WebTouchEvent. Also touchpoints needed a new
2107         class, WebPlatformTouchPoint. This is similar solution like in other
2108         events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h 
2109         Also there was a need to create an empty constructor to PlatformTouchPoint-class.
2110
2111         * platform/PlatformTouchPoint.h:
2112         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2113
2114 2010-08-22  Daniel Bates  <dbates@rim.com>
2115
2116         Reviewed by Eric Seidel.
2117
2118         Encapsulate document marker management into DocumentMarkerController
2119         https://bugs.webkit.org/show_bug.cgi?id=44383
2120
2121         Moves the document marker management code in Document.cpp into its own
2122         class called DocumentMarkerController.
2123
2124         No functionality was changed, so no new tests.
2125
2126         * Android.mk: Added DocumentMarkerController.cpp 
2127         * CMakeLists.txt: Ditto.
2128         * GNUmakefile.am: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
2129         * WebCore.exp.in: Substituted symbols __ZN7WebCore24DocumentMarkerController13removeMarkersENS_14DocumentMarker10MarkerTypeE
2130         and __ZN7WebCore24DocumentMarkerController23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE for
2131         __ZN7WebCore8Document13removeMarkersENS_14DocumentMarker10MarkerTypeE and 
2132         __ZN7WebCore8Document23renderedRectsForMarkersENS_14DocumentMarker10MarkerTypeE, respectively.
2133         * WebCore.gypi: Added DocumentMarkerController.cpp and DocumentMarkerController.h.
2134         * WebCore.pro: Ditto.
2135         * WebCore.vcproj/WebCore.vcproj: Ditto.
2136         * WebCore.xcodeproj/project.pbxproj: Ditto.
2137         * dom/Document.cpp:
2138         (WebCore::Document::removedLastRef): Modified to call DocumentMarkerController::detach().
2139         (WebCore::Document::~Document): Removed "deleteAllValues(m_markers)" as DocumentMarkerController
2140         is stored in OwnPtr; so it will be destroyed automatically on Document destruction.
2141         (WebCore::Document::textInserted): Modified to use marker controller.
2142         (WebCore::Document::textRemoved): Ditto.
2143         * dom/Document.h:
2144         (WebCore::Document::markers): Added.
2145         * dom/DocumentMarkerController.cpp: Added.
2146         (WebCore::placeholderRectForMarker):
2147         (WebCore::DocumentMarkerController::detach):
2148         (WebCore::DocumentMarkerController::addMarker):
2149         (WebCore::DocumentMarkerController::removeMarkers):
2150         (WebCore::DocumentMarkerController::copyMarkers):
2151         (WebCore::DocumentMarkerController::markerContainingPoint):
2152         (WebCore::DocumentMarkerController::markersForNode):
2153         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
2154         (WebCore::DocumentMarkerController::repaintMarkers):
2155         (WebCore::DocumentMarkerController::setRenderedRectForMarker):
2156         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
2157         (WebCore::DocumentMarkerController::shiftMarkers):
2158         (WebCore::DocumentMarkerController::setMarkersActive):
2159         * dom/DocumentMarkerController.h: Added.
2160         (WebCore::DocumentMarkerController::~DocumentMarkerController):
2161         * editing/Editor.cpp:
2162         (WebCore::Editor::ignoreSpelling): Modified to use marker controller.
2163         (WebCore::findFirstMisspellingInRange): Ditto.
2164         (WebCore::findFirstGrammarDetailInRange): Ditto.
2165         (WebCore::Editor::advanceToNextMisspelling): Ditto.
2166         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
2167         (WebCore::Editor::changeBackToReplacedString): Ditto.
2168         * editing/SplitTextNodeCommand.cpp:
2169         (WebCore::SplitTextNodeCommand::doApply): Ditto.
2170         (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
2171         * page/Frame.cpp:
2172         (WebCore::Frame::markAllMatchesForText): Ditto.
2173         (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Ditto.
2174         (WebCore::Frame::respondToChangedSelection): Ditto.
2175         * page/FrameView.cpp:
2176         (WebCore::FrameView::getTickmarks): Ditto.
2177         (WebCore::FrameView::paintContents): Ditto.
2178         * page/Page.cpp:
2179         (WebCore::Page::unmarkAllTextMatches): Ditto.
2180         * rendering/HitTestResult.cpp:
2181         (WebCore::HitTestResult::spellingToolTip): Ditto.
2182         (WebCore::HitTestResult::replacedString): Ditto.
2183         * rendering/InlineTextBox.cpp:
2184         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
2185         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
2186         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
2187         (WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
2188         * rendering/SVGInlineTextBox.cpp:
2189         (WebCore::SVGInlineTextBox::computeTextMatchMarkerRect): Ditto.
2190
2191 2010-08-22  Jian Li  <jianli@chromium.org>
2192
2193         Reviewed by Darin Fisher.
2194
2195         Add the blob URL member to FormData.
2196         https://bugs.webkit.org/show_bug.cgi?id=44387
2197
2198         This is in preparation to switch blob implementation to using BlobData
2199         model. When a blob is added to a FormData, it is represented as a blob
2200         URL in the list.
2201
2202         * platform/network/FormData.cpp:
2203         (WebCore::FormData::appendBlob):
2204         * platform/network/FormData.h:
2205         (WebCore::FormDataElement::FormDataElement):
2206         (WebCore::FormDataElement::):
2207         (WebCore::operator==):
2208
2209 2010-08-22  Eric Seidel  <eric@webkit.org>
2210
2211         Reviewed by Adam Barth.
2212
2213         HTML5 TreeBuilder builds wrong DOM for <a><svg><tr><input></a>
2214         https://bugs.webkit.org/show_bug.cgi?id=44390
2215
2216         The HTML5 spec has changed since Adam and I original wrote
2217         the HTMLTreeBuilder.  Most important for this change was resolution of:
2218         http://www.w3.org/Bugs/Public/show_bug.cgi?id=9580
2219
2220         I also removed our "phrasing" tag support since that was also removed
2221         from the spec as part of other bug fixes.
2222
2223         This is tested by tonyg's <a><svg><tr><input></a> test in adoption01.dat.
2224
2225         * html/HTMLTreeBuilder.cpp:
2226         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
2227         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2228         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
2229         (WebCore::HTMLTreeBuilder::processEndTag):
2230
2231 2010-08-22  Andreas Kling  <andreas.kling@nokia.com>
2232
2233         Reviewed by Ariya Hidayat.
2234
2235         [Qt] TransparencyLayer: Always use anti-aliasing and smooth pixmap transform
2236         https://bugs.webkit.org/show_bug.cgi?id=44394
2237
2238         * platform/graphics/qt/TransparencyLayer.h:
2239         (WebCore::TransparencyLayer::TransparencyLayer): Set the Antialiasing
2240         and SmoothPixmapTransforms render hints for all TransparencyLayers.
2241
2242 2010-08-22  Andreas Kling  <andreas.kling@nokia.com>
2243
2244         Reviewed by Ariya Hidayat.
2245
2246         [Qt] Gradient: Support inner radius larger than outer radius
2247         https://bugs.webkit.org/show_bug.cgi?id=44392
2248
2249         * platform/graphics/qt/GradientQt.cpp:
2250         (WebCore::Gradient::platformGradient): Reverse the (radial) gradient if r0 > r1.
2251
2252 2010-08-22  Ariya Hidayat  <ariya@sencha.com>
2253
2254         Reviewed by Dirk Schulze.
2255
2256         [Qt] Layer approach to support generic shadow handling
2257         https://bugs.webkit.org/show_bug.cgi?id=44380
2258
2259         The pair beginShadowLayer and endShadowLayer creates a temporary image
2260         where the caller can draw onto, using the returned QPainter. When
2261         endShadowLayer is called, the temporary image will be filtered, using
2262         the specified shadow color and blur radius, and drawn to the graphics
2263         context.
2264
2265         * platform/graphics/GraphicsContext.h:
2266         * platform/graphics/qt/ContextShadow.cpp:
2267         (WebCore::ContextShadow::beginShadowLayer):
2268         (WebCore::ContextShadow::endShadowLayer):
2269         * platform/graphics/qt/ContextShadow.h:
2270         * platform/graphics/qt/GraphicsContextQt.cpp:
2271         (WebCore::GraphicsContext::fillRect):
2272         (WebCore::GraphicsContext::contextShadow):
2273
2274 2010-08-21  Eric Carlson  <eric.carlson@apple.com>
2275
2276         Reviewed by Dan Bernstein.
2277
2278         Media engine should not be asked to open all urls
2279         https://bugs.webkit.org/show_bug.cgi?id=44370
2280
2281         * platform/graphics/MediaPlayer.cpp:
2282         (WebCore::MediaPlayer::load): Do nothing with urls with a type attribute that would be
2283         rejected by canPlayType().
2284
2285 2010-08-21  Ariya Hidayat  <ariya@sencha.com>
2286
2287         Reviewed by Kenneth Rohde Christiansen.
2288
2289         [Qt] Faster bounding rect for the shadow clip region
2290         https://bugs.webkit.org/show_bug.cgi?id=44369
2291
2292         Like in r65650, we should use the faster QPainter::clipBoundingRect
2293         when it is available.
2294
2295         * platform/graphics/qt/ContextShadow.cpp:
2296         (WebCore::ContextShadow::drawShadowRect):
2297
2298 2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
2299
2300         Reviewed by Ariya Hidayat.
2301
2302         [Qt] When using the raster graphics system on Maemo5, allow
2303         Flash to render directly into the raster window surface.
2304         wmode=transparent is now supported as a result of this change.
2305         
2306         https://bugs.webkit.org/show_bug.cgi?id=44043
2307         
2308         * plugins/qt/PluginViewQt.cpp:
2309         (WebCore::PluginView::paintUsingImageSurfaceExtension):
2310
2311 2010-08-20  Alexey Proskuryakov  <ap@apple.com>
2312
2313         Reviewed by Brady Eidson.
2314
2315         https://bugs.webkit.org/show_bug.cgi?id=38428
2316         HTTP code 500 (and other non-4xx codes) wrongfully treated as success for subresources
2317
2318         Test: http/tests/misc/script-500.html
2319
2320         * loader/loader.cpp: (WebCore::Loader::Host::didReceiveData): Treat all HTTP codes >= 400 as
2321         error ones, since they are.
2322
2323 2010-08-20  Tony Gentilcore  <tonyg@chromium.org>
2324
2325         Reviewed by Adam Barth.
2326
2327         Crash in WebCore::Node::createRendererIfNeeded()
2328         https://bugs.webkit.org/show_bug.cgi?id=44129
2329
2330         * dom/ContainerNode.cpp:
2331         (WebCore::ContainerNode::insertBefore): Factor out core bit to insertBetween.
2332         (WebCore::ContainerNode::insertBetween): Factored out of insertBefore.
2333         (WebCore::ContainerNode::parserInsertBefore): Similar to insertBefore, but doesn't handle reparenting or dispatch DOM mutation events.
2334         (WebCore::ContainerNode::removeChild): Factor out core bit to removeBetween.
2335         (WebCore::ContainerNode::removeBetween): Facotred out of removeChild.
2336         (WebCore::ContainerNode::parserRemoveChild): Similar to removeChild, but doesn't handle reparenting or dispatch DOM mutation events.
2337         (WebCore::ContainerNode::addChildCommon):
2338         (WebCore::ContainerNode::parserAddChild):
2339         (WebCore::ContainerNode::legacyParserAddChild):
2340         * dom/ContainerNode.h:
2341         * dom/Node.cpp:
2342         (WebCore::Node::parserRemoveChild):
2343         (WebCore::Node::parserInsertBefore):
2344         * dom/Node.h:
2345         * html/HTMLConstructionSite.cpp:
2346         (WebCore::HTMLConstructionSite::attach):
2347         (WebCore::HTMLConstructionSite::attachAtSite): Use new parserInsertBefore.
2348         * html/HTMLTreeBuilder.cpp:
2349         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
2350         (WebCore::HTMLTreeBuilder::reparentChildren):
2351         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): Was missing a key bit from the spec about removing the old parent if it exists.
2352
2353 2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
2354
2355         Unreviewed; build fix.  Had included wrong version of build file.
2356
2357 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
2358
2359         Reviewed by Joseph Pecoraro.
2360
2361         [GTK] Inspector extensions tests fail on GTK+ bots because onSelectionChanged is missing
2362         https://bugs.webkit.org/show_bug.cgi?id=44342
2363
2364         * GNUmakefile.am: Fix dependency tracking for copied web inspector files.
2365
2366 2010-08-20  Kinuko Yasuda  <kinuko@chromium.org>
2367
2368         Reviewed by Darin Fisher.
2369
2370         Add Callback implementation for FileSystem API
2371         https://bugs.webkit.org/show_bug.cgi?id=44349
2372
2373         No new tests; tests will be added later.
2374
2375         * CMakeLists.txt:
2376         * GNUmakefile.am:
2377         * WebCore.gypi:
2378         * WebCore.pro:
2379         * WebCore.vcproj/WebCore.vcproj:
2380         * WebCore.xcodeproj/project.pbxproj:
2381         * storage/FileSystemCallbacks.cpp: Added.
2382         * storage/FileSystemCallbacks.h: Added.
2383
2384         * storage/EntryCallback.h: Nits fix
2385         * storage/FileSystemCallback.h: Nits fix
2386
2387 2010-08-20  Andreas Kling  <andreas.kling@nokia.com>
2388
2389         Reviewed by Ariya Hidayat.
2390
2391         [Qt] WebKit does not compile with --3d-canvas
2392         https://bugs.webkit.org/show_bug.cgi?id=44335
2393
2394         - PlatformGLObject => Platform3DObject
2395         - Implemented getAttachedShaders()
2396         - Implemented bufferData() and bufferSubData() for ArrayBuffer*
2397         - Removed reference to nonexistent variable in getImageData()
2398
2399         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2400         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2401         (WebCore::GraphicsContext3D::attachShader):
2402         (WebCore::GraphicsContext3D::getAttachedShaders):
2403         (WebCore::GraphicsContext3D::bindAttribLocation):
2404         (WebCore::GraphicsContext3D::bindBuffer):
2405         (WebCore::GraphicsContext3D::bindFramebuffer):
2406         (WebCore::GraphicsContext3D::bindRenderbuffer):
2407         (WebCore::GraphicsContext3D::bindTexture):
2408         (WebCore::GraphicsContext3D::bufferData):
2409         (WebCore::GraphicsContext3D::bufferSubData):
2410         (WebCore::GraphicsContext3D::compileShader):
2411         (WebCore::GraphicsContext3D::detachShader):
2412         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
2413         (WebCore::GraphicsContext3D::framebufferTexture2D):
2414         (WebCore::GraphicsContext3D::getActiveAttrib):
2415         (WebCore::GraphicsContext3D::getActiveUniform):
2416         (WebCore::GraphicsContext3D::getAttribLocation):
2417         (WebCore::GraphicsContext3D::isBuffer):
2418         (WebCore::GraphicsContext3D::isFramebuffer):
2419         (WebCore::GraphicsContext3D::isProgram):
2420         (WebCore::GraphicsContext3D::isRenderbuffer):
2421         (WebCore::GraphicsContext3D::isShader):
2422         (WebCore::GraphicsContext3D::isTexture):
2423         (WebCore::GraphicsContext3D::linkProgram):
2424         (WebCore::GraphicsContext3D::shaderSource):
2425         (WebCore::GraphicsContext3D::useProgram):
2426         (WebCore::GraphicsContext3D::validateProgram):
2427         (WebCore::GraphicsContext3D::getProgramiv):
2428         (WebCore::GraphicsContext3D::getProgramInfoLog):
2429         (WebCore::GraphicsContext3D::getShaderiv):
2430         (WebCore::GraphicsContext3D::getShaderInfoLog):
2431         (WebCore::GraphicsContext3D::getShaderSource):
2432         (WebCore::GraphicsContext3D::getUniformfv):
2433         (WebCore::GraphicsContext3D::getUniformiv):
2434         (WebCore::GraphicsContext3D::getUniformLocation):
2435         (WebCore::GraphicsContext3D::getImageData):
2436         * platform/graphics/qt/GraphicsLayerQt.h:
2437
2438 2010-08-20  Dan Bernstein  <mitz@apple.com>
2439
2440         Reviewed by Dave Kilzer.
2441
2442         #ifdef-out some Leopard-and-earlier code.
2443
2444         * platform/graphics/mac/FontCustomPlatformData.cpp:
2445         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2446
2447 2010-08-20  Kenneth Russell  <kbr@google.com>
2448
2449         Unreviewed, speculative Chromium build fix. Forward declare
2450         IntSize in WebGLRenderingContext.h and include IntSize.h in .cpp.
2451
2452         * html/canvas/WebGLRenderingContext.cpp:
2453         * html/canvas/WebGLRenderingContext.h:
2454
2455 2010-08-20  Eric Carlson  <eric.carlson@apple.com>
2456
2457         Reviewed by Dan Bernstein.
2458
2459         Media element canPlayType("application/octet-stream") not handled correctly
2460         https://bugs.webkit.org/show_bug.cgi?id=44343
2461
2462         Test: media/media-can-play-octet-stream.html
2463
2464         * platform/graphics/MediaPlayer.cpp:
2465         (WebCore::applicationOctetStream): New, accessor for static string used more than once.
2466         (WebCore::textPlain): Ditto.
2467         (WebCore::codecs): Ditto.
2468         (WebCore::chooseBestEngineForTypeAndCodecs): Special case "application/octet-stream".
2469         (WebCore::MediaPlayer::load): Use static static string methods.
2470         (WebCore::MediaPlayer::supportsType): Special case "application/octet-stream".
2471
2472 2010-08-20  Adrienne Walker  <enne@google.com>
2473
2474         Reviewed by Kenneth Russell.
2475
2476         Implement HTMLVideoElement support for texImage2D and texSubImage2D
2477         https://bugs.webkit.org/show_bug.cgi?id=33852
2478
2479         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
2480
2481         * html/canvas/WebGLRenderingContext.cpp:
2482         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2483         (WebCore::WebGLRenderingContext::videoFrameToImage):
2484         (WebCore::WebGLRenderingContext::texImage2D):
2485         (WebCore::WebGLRenderingContext::texSubImage2D):
2486         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
2487         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
2488         (WebCore::WebGLRenderingContext::LRUImageBufferCache::bubbleToFront):
2489         * html/canvas/WebGLRenderingContext.h:
2490
2491 2010-08-20  Dumitru Daniliuc  <dumi@chromium.org>
2492
2493         Reviewed by Adam Barth.
2494
2495         Removing an incorrect ASSERT.
2496         https://bugs.webkit.org/show_bug.cgi?id=44151
2497
2498         A failure in the preflight step of a transaction wrapper does not
2499         guarantee that the transaction is rolled back (and it shouldn't).
2500
2501         Test: storage/change-version-no-crash-on-preflight-failure.html
2502
2503         * storage/SQLTransaction.cpp:
2504         (WebCore::SQLTransaction::openTransactionAndPreflight):
2505
2506 2010-08-20  David Leong  <david.leong@nokia.com>
2507
2508         Reviewed by Laszlo Gombos.
2509
2510         [Qt] Update Symbian capabilities to remove AllFiles and DRM
2511         
2512         Add CONFIG(production) variation for set of DLL capabilities.
2513         DRM and AllFiles capabilities need to be audited for the sis
2514         package to be signed.
2515         
2516         No new tests.
2517
2518         * WebCore.pro: Updated Symbian Capabilities. 
2519
2520 2010-08-20  Joseph Pecoraro  <joepeck@webkit.org>
2521
2522         Reviewed by David Kilzer.
2523
2524         Do Not Copy Subversion Related Files in Inspector Build Phase
2525         https://bugs.webkit.org/show_bug.cgi?id=44353
2526
2527         * WebCore.xcodeproj/project.pbxproj: remove .svn directories in the "Copy Inspector Resources" build phase.
2528
2529 2010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2530
2531         Reviewed by Adam Barth.
2532
2533         style correction in markup.cpp
2534         https://bugs.webkit.org/show_bug.cgi?id=44318
2535
2536         Make markup.cpp pass check-webkit-style.
2537
2538         No new tests are added since this is a cleanup.
2539
2540         * editing/markup.cpp:
2541         (WebCore::MarkupAccumulator::appendAttributeValue):
2542         (WebCore::appendEscapedContent):
2543         (WebCore::MarkupAccumulator::appendStartMarkup):
2544         (WebCore::completeURLs):
2545         (WebCore::isElementPresentational):
2546         (WebCore::isSpecialAncestorBlock):
2547         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
2548         (WebCore::createMarkup):
2549         (WebCore::fillContainerFromString):
2550         (WebCore::createFragmentFromText):
2551         (WebCore::createFragmentFromNodes):
2552
2553 2010-08-20  Tony Chang  <tony@chromium.org>
2554
2555         Reviewed by Adam Barth.
2556
2557         crash when trying to access a stale Node pointer in FocusController::setFocusedNode
2558         https://bugs.webkit.org/show_bug.cgi?id=44226
2559
2560         Test: fast/events/focus-change-crash2.html
2561
2562         * page/FocusController.cpp:
2563         (WebCore::FocusController::setFocusedNode): add a ref to prevent the focused node from being deleted
2564
2565 2010-08-20  Simon Fraser  <simon.fraser@apple.com>
2566
2567         Reviewed by Dan Bernstein.
2568
2569         <rdar://problem/8245719> backface-visibility and reflections don't play nicely together.
2570         
2571         On elements with a reflection and backface-visibility: hidden, set the doubleSided property on the 
2572         reflection flattening layer so that backface-visibility works in all configurations.
2573
2574         Test: compositing/reflections/backface-hidden-reflection.html
2575
2576         * platform/graphics/mac/GraphicsLayerCA.mm:
2577         (WebCore::GraphicsLayerCA::updateBackfaceVisibility): Call setDoubleSided: on the structural
2578         layer for reflections.
2579         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Fix a comment typo, and call updateBackfaceVisibility()
2580         when we gain a structural layer.
2581
2582 2010-08-20  Simon Fraser  <simon.fraser@apple.com>
2583
2584         Reviewed by Dan Bernstein.
2585
2586         Slider labels do not update as you move the sliders on this page
2587         https://bugs.webkit.org/show_bug.cgi?id=41020
2588         
2589         When repainting after layout in a multicol element, we need to adjust the
2590         repaint rect for the columns.
2591
2592         Test: fast/repaint/multicol-repaint.html
2593
2594         * rendering/RenderBlock.cpp:
2595         (WebCore::RenderBlock::layoutBlock):
2596
2597 2010-08-20  Jian Li  <jianli@chromium.org>
2598
2599         Reviewed by David Levin.
2600
2601         Move FileStreamClient to platform and add AsyncFileStream interface.
2602         https://bugs.webkit.org/show_bug.cgi?id=44224
2603
2604         * GNUmakefile.am:
2605         * WebCore.gypi:
2606         * WebCore.pro:
2607         * WebCore.vcproj/WebCore.vcproj:
2608         * WebCore.xcodeproj/project.pbxproj:
2609         * html/FileStreamProxy.cpp: Account for the change.
2610         (WebCore::FileStreamProxy::FileStreamProxy):
2611         (WebCore::FileStreamProxy::stop):
2612         * html/FileStreamProxy.h: Make it derive from AsyncFileStream.h.
2613         * platform/AsyncFileStream.h: Added.
2614         * platform/FileStreamClient.h: Renamed from WebCore/html/FileStreamClient.h.
2615
2616 2010-08-20  Abhishek Arya  <inferno@chromium.org>
2617
2618         Reviewed by Darin Fisher.
2619
2620         Prevent use of stale notification presenter pointer in notifications by instead using
2621         a notification center pointer and deriving the presenter from it. Notification presenter
2622         gets properly destroyed using disconnectFrame function inside notification center. Add
2623         null checks for notification presenter.
2624         https://bugs.webkit.org/show_bug.cgi?id=43645
2625
2626         Test: fast/notifications/notifications-window-close-crash.html
2627
2628         * notifications/Notification.cpp:
2629         (WebCore::Notification::Notification):
2630         (WebCore::Notification::create):
2631         (WebCore::Notification::show):
2632         (WebCore::Notification::cancel):
2633         (WebCore::Notification::contextDestroyed):
2634         (WebCore::Notification::finishLoading):
2635         * notifications/Notification.h:
2636         (WebCore::Notification::detachPresenter):
2637         * notifications/NotificationCenter.h:
2638         (WebCore::NotificationCenter::createHTMLNotification):
2639         (WebCore::NotificationCenter::createNotification):
2640
2641 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
2642
2643         Reviewed by Xan Lopez.
2644
2645         r64526 broke the GTK+-3 build
2646         https://bugs.webkit.org/show_bug.cgi?id=44254
2647
2648         No new tests, as this is covered by manual-tests/cursor.html.
2649
2650         * platform/gtk/CursorGtk.cpp:
2651         (WebCore::createPixmapFromBits): Added this method which turns the inline data
2652         structures into GdkPixmaps using Cairo and GDK-Cairo.
2653         (WebCore::createNamedCursor): Modified this method to use the new helper.
2654         * platform/gtk/CursorGtk.h: Changed all inline data structures to be unsigned
2655         char arrays (which Cairo requires). The progress cursor is known in X11 icon themes
2656         as "left_ptr_watch." This change to the name preserves the old behavior of taking this
2657         icon from the theme when available. It seems that this worked in the past due to a fluke
2658         or failure of the previous code.
2659
2660 2010-08-20  Martin Robinson  <mrobinson@igalia.com>
2661
2662         Reviewed by Dirk Schulze.
2663
2664         [Cairo] Eliminate full-surface copy from canvas.drawImage(...)
2665         https://bugs.webkit.org/show_bug.cgi?id=44190
2666
2667         Covered by canvas layout tests.
2668
2669         * platform/graphics/cairo/ImageBufferCairo.cpp:
2670         (WebCore::ImageBuffer::drawsUsingCopy): Return false now.
2671         (WebCore::ImageBuffer::clip): Add a link to the bug which tracks this feature.
2672         (WebCore::ImageBuffer::draw): Construct the bitmap image without the full-surface copy.
2673         (WebCore::ImageBuffer::drawPattern): Ditto.
2674
2675 2010-08-20  Alejandro G. Castro  <alex@igalia.com>
2676
2677         Reviewed by Xan Lopez.
2678
2679         [REGRESSION] r65608 broke gtk distcheck
2680         https://bugs.webkit.org/show_bug.cgi?id=44333
2681
2682         Define the inspector.html as a noinst_DATA intead of using the dir
2683         suffix, which is used for installation.
2684
2685         * GNUmakefile.am:
2686
2687 2010-08-19  Pavel Podivilov  <podivilov@chromium.org>
2688
2689         Reviewed by Yury Semikhatsky.
2690
2691         Web Inspector: implement breaking on DOM node subtree mutations.
2692         https://bugs.webkit.org/show_bug.cgi?id=42886
2693
2694         Add two entries to Web Inspector DOM element context menu:
2695         1. "Stop on subtree modifications": will break on adding/removing of any element which is a child of the DOM element
2696         2. "Remove breakpoints": will remove all breakpoints associated with the DOM element
2697
2698         * English.lproj/localizedStrings.js:
2699         * bindings/js/ScriptDebugServer.cpp:
2700         (WebCore::ScriptDebugServer::breakProgram):
2701         * bindings/js/ScriptDebugServer.h:
2702         * bindings/v8/ScriptDebugServer.cpp:
2703         (WebCore::ScriptDebugServer::breakProgram):
2704         (WebCore::ScriptDebugServer::breakProgramCallback):
2705         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2706         * bindings/v8/ScriptDebugServer.h:
2707         * inspector/Inspector.idl:
2708         * inspector/InspectorDOMAgent.cpp:
2709         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
2710         (WebCore::InspectorDOMAgent::discardBindings):
2711         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
2712         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
2713         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2714         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2715         (WebCore::InspectorDOMAgent::hasBreakpoint):
2716         (WebCore::InspectorDOMAgent::pauseOnBreakpoint):
2717         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
2718         * inspector/InspectorDOMAgent.h:
2719         * inspector/front-end/ElementsTreeOutline.js:
2720         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2721         * inspector/front-end/Settings.js:
2722
2723 2010-08-20  Yury Semikhatsky  <yurys@chromium.org>
2724
2725         Reviewed by Pavel Feldman.
2726
2727         Web Inspector: discard InjectedScript reference on ScriptState when clearing injected scripts
2728         https://bugs.webkit.org/show_bug.cgi?id=44328
2729
2730         Otherwise if the reference is not cleared we may remove InjectedScript from the
2731         map on InjectedScriptHost but keep it on ScriptState and try to reuse it later.
2732
2733         * bindings/js/JSInjectedScriptHostCustom.cpp:
2734         (WebCore::InjectedScriptHost::discardInjectedScript):
2735         * bindings/v8/V8HiddenPropertyName.h:
2736         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2737         (WebCore::InjectedScriptHost::discardInjectedScript):
2738         (WebCore::InjectedScriptHost::injectedScriptFor):
2739         * inspector/InjectedScript.h:
2740         (WebCore::InjectedScript::scriptState):
2741         * inspector/InjectedScriptHost.cpp:
2742         (WebCore::InjectedScriptHost::discardInjectedScripts):
2743         * inspector/InjectedScriptHost.h:
2744
2745 2010-08-20  Nikolas Zimmermann  <nzimmermann@rim.com>
2746
2747         Reviewed by Dirk Schulze.
2748
2749         Clippers are rasterized, when applied to scaled target object
2750         https://bugs.webkit.org/show_bug.cgi?id=44325
2751
2752         Use SVGImageBufferTools logic for RenderSVGResourceClipper, just like RenderSVGResourceMasker/Gradient,
2753         to avoid pixelation, when the clipper is applied to a scaled target object, or when the document is scaled.
2754
2755         Test: svg/clip-path/clip-path-pixelation.svg
2756
2757         * rendering/RenderSVGResourceClipper.cpp:
2758         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2759         (WebCore::RenderSVGResourceClipper::createClipData):
2760         * rendering/RenderSVGResourceClipper.h:
2761
2762 2010-08-20  Andreas Kling  <andreas.kling@nokia.com>
2763
2764         Reviewed by Kenneth Rohde Christiansen.
2765
2766         [Qt] Initialize GDK before loading plugins
2767         https://bugs.webkit.org/show_bug.cgi?id=44324
2768
2769         Attempt to call gdk_init_check() before loading any plugins.
2770         This prevents various crashes and freezes in Adobe's Flash plugin.
2771
2772         * plugins/qt/PluginPackageQt.cpp:
2773         (WebCore::initializeGdkIfPossible):
2774         (WebCore::PluginPackage::load):
2775
2776 2010-08-20  Dan Bernstein  <mitz@apple.com>
2777
2778         Reviewed by Mark Rowe.
2779
2780         Follow-up to r41020.
2781
2782         No change in behavior, thus no new tests.
2783
2784         * platform/graphics/mac/FontPlatformDataMac.mm:
2785         (WebCore::FontPlatformData::FontPlatformData): Asserted that the NSFont parameter is not nil,
2786         and removed nil check.
2787         (WebCore::FontPlatformData::setFont): Asserted that the NSFont parameter is not nil and that
2788         this is not the deleted value, and removed code to handle those cases.
2789
2790 2010-08-19  Vincent Scheib  <scheib@chromium.org>
2791
2792         Reviewed by David Levin.
2793
2794         [chromium] TilingData::tilePositionY has typo of X where Y should be used
2795         https://bugs.webkit.org/show_bug.cgi?id=44195
2796
2797         Corrected error, and rewrote functions to use for loop instead of recursion.
2798
2799         Unit Tests added to WebKit/chromium/tests/TilingDataTest.cpp
2800
2801         * platform/graphics/chromium/TilingData.cpp:
2802         (WebCore::TilingData::tilePositionX):
2803         (WebCore::TilingData::tilePositionY):
2804
2805 2010-08-19  Mihai Parparita  <mihaip@chromium.org>
2806
2807         Reviewed by Brady Eidson.
2808
2809         Assertion failure when going back inside frame during onload
2810         https://bugs.webkit.org/show_bug.cgi?id=44217
2811
2812         Fix assertion failure when doing a history.back() within the main frame
2813         during onload of a child frame. This would happen when
2814         HISTORY_ALWAYS_ASYNC was set to 0, because we would only compare the
2815         current frame document sequence numbers when determining if we're in the
2816         same document, instead of also recursing over child frames.
2817
2818         Test: fast/history/history-back-within-subframe-hash.html
2819
2820         * history/HistoryItem.cpp:
2821         (WebCore::HistoryItem::hasSameDocuments):
2822         * history/HistoryItem.h:
2823         * loader/RedirectScheduler.cpp:
2824         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
2825
2826 2010-08-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
2827
2828         Reviewed by Antonio Gomes.
2829
2830         [Qt] Fix cursor change propagation
2831         https://bugs.webkit.org/show_bug.cgi?id=44250
2832
2833         No functional change so new tests.
2834
2835         Propagate the setCursor callback to the PageClient via the HostWindow instead of preassuming
2836         the concrete type of the ChromeClient (what was generally wrong and actually incompatible with WebKit2).
2837         * platform/qt/WidgetQt.cpp:
2838         (WebCore::Widget::setCursor):
2839
2840 2010-08-19  Vangelis Kokkevis  <vangelis@chromium.org>
2841
2842         Reviewed by Kenneth Russell.
2843
2844         [chromium] Rearranging the accelerated compositing code such that the
2845         layer rendering logic now lives in the layer classes rather than the
2846         compositor. This lifts the restriction of having one texture per layer
2847         and significantly cleans up the compositor code. This change mostly
2848         resulted in a lot of code moving around files. Noteworthy changes
2849         include:
2850         * Made LayerChromium a proper based class for layers that mostly handles
2851           the updates to the layer properties and superlayer / sublayer updates.
2852         * Introduced a new layer type, ContentLayerChromium, which handles
2853           layers that require a GraphicsContext to render their content.
2854         * ImageLayerChromium and VideoLayerChromium now derive from
2855           ContentLayerChromium as they share the same shader and draw function.
2856         * Removed TransformLayerChromium as its functionality is now replaced by
2857           the base LayerChromium class.
2858         * Re-arranged the order in which the members of LayerChromium are defined
2859           in the header file to form a more reasonable logical grouping.
2860         * Changed LayerRendererChromium to use the shader creation and drawing
2861           methods defined in the layer classes. As a result, a lot of GL code was
2862           removed from the implementation file.
2863         * Eliminated randomly dispersed calls to check for GL errors by a macro (GLC)
2864           which allows turning error testing on/off with a single define (DEBUG_GL_CALLS
2865           defined in LayerRendererChromium.h)
2866         * Replaced the previous layer render loop with two traversals of the layer
2867           hierarchy, the first to update transforms and opacity values and the
2868           second to render the layers. Eliminated global Z sorting of all layers as
2869           it was wrong.
2870         https://bugs.webkit.org/show_bug.cgi?id=44148
2871
2872         Test: Verified that pages using the compositor and compositor
2873               layout tests have not regressed.
2874
2875         * WebCore.gypi:
2876         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2877         (WebCore::CanvasLayerChromium::SharedValues::SharedValues):
2878         (WebCore::CanvasLayerChromium::SharedValues::~SharedValues):
2879         (WebCore::CanvasLayerChromium::updateContents):
2880         (WebCore::CanvasLayerChromium::draw):
2881         * platform/graphics/chromium/CanvasLayerChromium.h:
2882         (WebCore::CanvasLayerChromium::SharedValues::canvasShaderProgram):
2883         (WebCore::CanvasLayerChromium::SharedValues::shaderSamplerLocation):
2884         (WebCore::CanvasLayerChromium::SharedValues::shaderMatrixLocation):
2885         (WebCore::CanvasLayerChromium::SharedValues::shaderAlphaLocation):
2886         (WebCore::CanvasLayerChromium::SharedValues::initialized):
2887         * platform/graphics/chromium/ContentLayerChromium.cpp: Added.
2888         (WebCore::ContentLayerChromium::SharedValues::SharedValues):
2889         (WebCore::ContentLayerChromium::SharedValues::~SharedValues):
2890         (WebCore::ContentLayerChromium::create):
2891         (WebCore::ContentLayerChromium::ContentLayerChromium):
2892         (WebCore::ContentLayerChromium::~ContentLayerChromium):
2893         (WebCore::ContentLayerChromium::updateContents):
2894         (WebCore::ContentLayerChromium::updateTextureRect):
2895         (WebCore::ContentLayerChromium::draw):
2896         * platform/graphics/chromium/ContentLayerChromium.h: Added.
2897         (WebCore::ContentLayerChromium::drawsContent):
2898         (WebCore::ContentLayerChromium::SharedValues::contentShaderProgram):
2899         (WebCore::ContentLayerChromium::SharedValues::shaderSamplerLocation):
2900         (WebCore::ContentLayerChromium::SharedValues::shaderMatrixLocation):
2901         (WebCore::ContentLayerChromium::SharedValues::shaderAlphaLocation):
2902         (WebCore::ContentLayerChromium::SharedValues::initialized):
2903         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2904         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2905         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2906         * platform/graphics/chromium/ImageLayerChromium.cpp:
2907         (WebCore::ImageLayerChromium::ImageLayerChromium):
2908         (WebCore::ImageLayerChromium::updateContents):
2909         * platform/graphics/chromium/ImageLayerChromium.h:
2910         * platform/graphics/chromium/LayerChromium.cpp:
2911         (WebCore::loadShader):
2912         (WebCore::LayerChromium::SharedValues::SharedValues):
2913         (WebCore::LayerChromium::SharedValues::~SharedValues):
2914         (WebCore::LayerChromium::LayerChromium):
2915         (WebCore::LayerChromium::~LayerChromium):
2916         (WebCore::LayerChromium::createShaderProgram):
2917         (WebCore::LayerChromium::toGLMatrix):
2918         (WebCore::LayerChromium::drawTexturedQuad):
2919         (WebCore::LayerChromium::drawDebugBorder):
2920         (WebCore::LayerChromium::prepareForDraw):
2921         * platform/graphics/chromium/LayerChromium.h:
2922         (WebCore::LayerChromium::getSublayers):
2923         (WebCore::LayerChromium::setPosition):
2924         (WebCore::LayerChromium::contentsDirty):
2925         (WebCore::LayerChromium::drawsContent):
2926         (WebCore::LayerChromium::updateContents):
2927         (WebCore::LayerChromium::draw):
2928         (WebCore::LayerChromium::SharedValues::quadVerticesVbo):
2929         (WebCore::LayerChromium::SharedValues::quadElementsVbo):
2930         (WebCore::LayerChromium::SharedValues::maxTextureSize):
2931         (WebCore::LayerChromium::SharedValues::borderShaderProgram):
2932         (WebCore::LayerChromium::SharedValues::borderShaderMatrixLocation):
2933         (WebCore::LayerChromium::SharedValues::borderShaderColorLocation):
2934         (WebCore::LayerChromium::SharedValues::initialized):
2935         (WebCore::LayerChromium::layerRenderer):
2936         * platform/graphics/chromium/LayerRendererChromium.cpp:
2937         (WebCore::LayerRendererChromium::LayerRendererChromium):
2938         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2939         (WebCore::LayerRendererChromium::debugGLCall):
2940         (WebCore::LayerRendererChromium::useShader):
2941         (WebCore::LayerRendererChromium::drawLayers):
2942         (WebCore::LayerRendererChromium::createLayerTexture):
2943         (WebCore::LayerRendererChromium::updateLayersRecursive):
2944         (WebCore::LayerRendererChromium::drawLayersRecursive):
2945         (WebCore::LayerRendererChromium::drawLayer):
2946         (WebCore::LayerRendererChromium::checkTextureSize):
2947         (WebCore::LayerRendererChromium::initializeSharedObjects):
2948         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2949         * platform/graphics/chromium/LayerRendererChromium.h:
2950         (WebCore::LayerRendererChromium::projectionMatrix):
2951         (WebCore::LayerRendererChromium::layerSharedValues):
2952         (WebCore::LayerRendererChromium::contentLayerSharedValues):
2953         (WebCore::LayerRendererChromium::canvasLayerSharedValues):
2954         * platform/graphics/chromium/TransformLayerChromium.cpp: Removed.
2955         * platform/graphics/chromium/TransformLayerChromium.h: Removed.
2956         * platform/graphics/chromium/VideoLayerChromium.cpp:
2957         (WebCore::VideoLayerChromium::VideoLayerChromium):
2958         (WebCore::VideoLayerChromium::updateContents):
2959         (WebCore::VideoLayerChromium::createTextureRect):
2960         * platform/graphics/chromium/VideoLayerChromium.h:
2961
2962 2010-08-19  David Kilzer  <ddkilzer@apple.com>
2963
2964         BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
2965
2966         * WebCore.exp.in:
2967         (WebCore::ScrollView::contentsToWindow): Added export.
2968
2969 2010-08-19  David Kilzer  <ddkilzer@apple.com>
2970
2971         BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
2972
2973         Still trying to make Qt Linux Release minimal buildbot happy.
2974
2975         * plugins/PluginViewNone.cpp: Compile missing methods for Qt.
2976
2977 2010-08-19  David Kilzer  <ddkilzer@apple.com>
2978
2979         BUILD FIX: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
2980
2981         Reviewed by Joseph Pecoraro.
2982
2983         * plugins/PluginView.cpp: Added #if ENABLE(NETSCAPE_PLUGIN_API)
2984         and #endif macros around the source to fix the Qt Linux Release
2985         Minimal build.
2986
2987 2010-08-19  Stephen White  <senorblanco@chromium.org>
2988
2989         Reviewed by Kenneth Russell.
2990
2991         [CHROMIUM] Assert w/canvas image draw
2992         https://bugs.webkit.org/show_bug.cgi?id=44279
2993
2994         Don't use bitmap->pixelRef()->getPixels() directly; prefer
2995         bitmap->pixels() and an SkAutoLockPixels.  Also, make sure to set
2996         the backing store state to Software when it was None.  This handles
2997         missing draws when the first call is software.  Finally, remove some
2998         spurious prepareForSoftwareDraw() calls in addPath() and beginPath().
2999         It's really the fillPath() or strokePath() that matters.
3000
3001         Covered by LayoutTests/fast/canvas/arc360.html and others.
3002
3003         * platform/graphics/skia/GraphicsContextSkia.cpp:
3004         (WebCore::GraphicsContext::addPath):
3005         (WebCore::GraphicsContext::beginPath):
3006         Remove spurious prepareForSoftwareDraw() calls.
3007         * platform/graphics/skia/ImageSkia.cpp:
3008         (WebCore::drawBitmapGLES2):
3009         Lock SkBitmap's pixels, and use ->getPixels().
3010         * platform/graphics/skia/PlatformContextSkia.cpp:
3011         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
3012         Switch backing store state to Software when it was None.
3013
3014 2010-08-19  David Kilzer  <ddkilzer@apple.com>
3015
3016         <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
3017
3018         Reviewed by Joseph Pecoraro.
3019
3020         * WebCore.exp.in:
3021         (WebCore::HTMLPlugInElement::getNPObject): Moved from general
3022         section into ENABLE(NETSCAPE_PLUGIN_API) section.
3023         (WebCore::FrameView::windowClipRectForLayer): Moved from
3024         ENABLE(NETSCAPE_PLUGIN_API) section to general section since
3025         it's used by WebKit2.
3026         * plugins/PluginView.h: Added #if ENABLE(NETSCAPE_PLUGIN_API)
3027         and #endif macros as needed to make iOS WebKit build with
3028         NETSCAPE_PLUGIN_API disabled.
3029         * plugins/PluginViewNone.cpp: Ditto.
3030         (WebCore::PluginView::platformGetValueStatic):
3031
3032 2010-08-17  Eric Seidel  <eric@webkit.org>
3033
3034         Reviewed by Adam Barth.
3035
3036         Make DocumentParser safer to use
3037         https://bugs.webkit.org/show_bug.cgi?id=43055
3038
3039         Make DocumentParser and its subclasses RefCounted, and protect
3040         HTMLDocumentParser during parsing. It's possible for a parser to
3041         get deleted if certain actions (e.g., a document.write()) occur
3042         synchronously.
3043
3044         The original version of this patch was written by Nate Chapin.
3045
3046         DocumentParser doesn't actually have to be fully RefCounted, since
3047         the only two things which should ever hold a reference to it are
3048         Document and DocumentParser itself.  However using RefCounted and
3049         RefPtr was easier/cleaner than inventing a custom ref() scheme.
3050
3051         This deploys a new "detach()" method throughout the parsing
3052         framework.  detach() causes the parser to disconnect from the
3053         document so that no further modifications will be made to the
3054         document while any possible DocumentParser stacks are unwound.
3055
3056         The irony of this patch is that the new detach() system is never
3057         used, since Document always outlives the DocumentParser in all of
3058         our layout tests.  There is an ASSERT in ~Document() to verify
3059         that the DocumentParser will not outlive the Document.
3060
3061         However I expect that we will soon either find new test cases, or change
3062         the architecture in such a way that DocumentParser will outlive
3063         Document.  At which point, the detach() plumbing will be crucial.
3064         Right now detach() serves as a safe-guard against use-after-free bugs
3065         for any case where DocumentParser does outlive the Document.
3066
3067         This also fixes test cases attached to:
3068         https://bugs.webkit.org/show_bug.cgi?id=42099
3069
3070         Tests: fast/frames/document-write-in-iframe-onload.html
3071                fast/frames/set-parent-src-synchronously.html
3072                fast/parser/document-close-iframe-load.html
3073                fast/parser/document-close-nested-iframe-load.html
3074                fast/parser/iframe-sets-parent-to-javascript-url.html
3075
3076         * dom/Document.cpp:
3077          - Added a new detachParser() call to be used anywhere we
3078            used to call m_parser.clear().
3079            There is an ASSERT in ~DocumentParser which ensures that
3080            we get this right.
3081         (WebCore::Document::removedLastRef):
3082         (WebCore::Document::~Document):
3083         (WebCore::Document::createParser):
3084         (WebCore::Document::detachParser):
3085         (WebCore::Document::cancelParsing):
3086         (WebCore::Document::implicitOpen):
3087          - removed redundant m_parser.clear()
3088         (WebCore::Document::implicitClose):
3089         * dom/Document.h:
3090         * dom/DocumentParser.cpp:
3091         (WebCore::DocumentParser::~DocumentParser):
3092          - ASSERT that callers always call detach() before destruction.
3093          - This ASSERT might prove too cumbersome, but for now it's useful.
3094         (WebCore::DocumentParser::detach):
3095         * dom/DocumentParser.h:
3096         * dom/RawDataDocumentParser.h:
3097         * dom/XMLDocumentParser.cpp:
3098         (WebCore::XMLDocumentParser::finish):
3099          - Add a FIXME explaining part of the reason why
3100            stopParsing() and detach() are separate concepts.
3101         * dom/XMLDocumentParser.h:
3102         (WebCore::XMLDocumentParser::create):
3103         * dom/XMLDocumentParserLibxml2.cpp:
3104         (WebCore::XMLDocumentParser::parseDocumentFragment):
3105         * dom/XMLDocumentParserQt.cpp:
3106         (WebCore::XMLDocumentParser::parseDocumentFragment):
3107         * html/HTMLConstructionSite.cpp:
3108         (WebCore::HTMLConstructionSite::detach):
3109         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
3110         * html/HTMLConstructionSite.h:
3111         * html/HTMLDocument.cpp:
3112         (WebCore::HTMLDocument::createParser):
3113         * html/HTMLDocument.h:
3114         * html/HTMLDocumentParser.cpp:
3115          - We need to protect(this) before calling into any code
3116            which might cause the parser to be destroyed.
3117         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
3118         (WebCore::HTMLDocumentParser::detach):
3119         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
3120         (WebCore::HTMLDocumentParser::pumpTokenizer):
3121         (WebCore::HTMLDocumentParser::insert):
3122         (WebCore::HTMLDocumentParser::append):
3123         (WebCore::HTMLDocumentParser::end):
3124         (WebCore::HTMLDocumentParser::finish):
3125         (WebCore::HTMLDocumentParser::notifyFinished):
3126         (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets):
3127         (WebCore::HTMLDocumentParser::parseDocumentFragment):
3128         * html/HTMLDocumentParser.h:
3129         (WebCore::HTMLDocumentParser::create):
3130         * html/HTMLScriptRunner.cpp:
3131         (WebCore::HTMLScriptRunner::detach):
3132         (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
3133         (WebCore::HTMLScriptRunner::executeScript):
3134         (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
3135         (WebCore::HTMLScriptRunner::runScript):
3136         * html/HTMLScriptRunner.h:
3137         * html/HTMLTreeBuilder.cpp:
3138         (WebCore::HTMLTreeBuilder::detach):
3139         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
3140         (WebCore::HTMLTreeBuilder::finished):
3141         * html/HTMLTreeBuilder.h:
3142         * html/HTMLViewSourceDocument.cpp:
3143         (WebCore::HTMLViewSourceDocument::createParser):
3144         * html/HTMLViewSourceDocument.h:
3145         * html/HTMLViewSourceParser.cpp:
3146         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
3147         * html/HTMLViewSourceParser.h:
3148         (WebCore::HTMLViewSourceParser::create):
3149         * loader/FTPDirectoryDocument.cpp:
3150         (WebCore::FTPDirectoryDocumentParser::create):
3151         (WebCore::FTPDirectoryDocument::createParser):
3152         * loader/FTPDirectoryDocument.h:
3153         * loader/ImageDocument.cpp:
3154         (WebCore::ImageDocumentParser::create):
3155         (WebCore::ImageDocumentParser::ImageDocumentParser):
3156         (WebCore::ImageDocument::createParser):
3157         * loader/ImageDocument.h:
3158         * loader/MediaDocument.cpp:
3159         (WebCore::MediaDocumentParser::create):
3160         (WebCore::MediaDocument::createParser):
3161         * loader/MediaDocument.h:
3162         * loader/PluginDocument.cpp:
3163         (WebCore::PluginDocumentParser::create):
3164         (WebCore::PluginDocument::createParser):
3165         * loader/PluginDocument.h:
3166         * loader/SinkDocument.cpp:
3167         (WebCore::SinkDocumentParser::create):
3168         (WebCore::SinkDocument::createParser):
3169         * loader/SinkDocument.h:
3170         * loader/TextDocument.cpp:
3171         (WebCore::TextDocumentParser::create):
3172         (WebCore::TextDocument::createParser):
3173         (WebCore::createTextDocumentParser):
3174         * loader/TextDocument.h:
3175
3176 2010-08-19  David Kilzer  <ddkilzer@apple.com>
3177
3178         Fix compilation of SelectElement.cpp with ARROW_KEYS_POP_MENU == 0
3179
3180         Reviewed by Simon Fraser.
3181
3182         * dom/SelectElement.cpp:
3183         (WebCore::SelectElement::menuListDefaultEventHandler): Added
3184         UNUSED_PARAM() macro for htmlForm argument when
3185         ARROW_KEYS_POP_MENU defined as zero.
3186
3187 2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3188
3189         Reviewed by Simon Hausmann.
3190
3191         [Qt] Disable XSLT for production configuration
3192         https://bugs.webkit.org/show_bug.cgi?id=37445
3193
3194         Introduce a new CONFIG option to maintain stable configuration for
3195         the QtWebKit port and disable XSLT for the stable configuration
3196         because of bug 37445.
3197
3198         No new tests as there is no new functionality.
3199
3200         * features.pri:
3201
3202 2010-08-18  Zhenyao Mo  <zmo@google.com>
3203
3204         Reviewed by Kenneth Russell.
3205
3206         Implement strict type checking in js bindings for WebGL functions
3207         https://bugs.webkit.org/show_bug.cgi?id=44202
3208
3209         Test: fast/canvas/webgl/bad-arguments-test.html
3210
3211         * bindings/js/JSWebGLRenderingContextCustom.cpp: Add type check for wrapper types and DOMString and throw error in case of mismatch.
3212         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
3213         (WebCore::JSWebGLRenderingContext::getProgramParameter):
3214         (WebCore::JSWebGLRenderingContext::getShaderParameter):
3215         (WebCore::JSWebGLRenderingContext::getUniform):
3216         (WebCore::dataFunctionf):
3217         (WebCore::dataFunctioni):
3218         (WebCore::dataFunctionMatrix):
3219         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3220         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3221         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Ditto.
3222         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3223         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
3224         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
3225         (WebCore::V8WebGLRenderingContext::getUniformCallback):
3226         (WebCore::vertexAttribAndUniformHelperf):
3227         (WebCore::uniformHelperi):
3228         (WebCore::uniformMatrixHelper):
3229         * html/canvas/WebGLRenderingContext.idl: Add attribute StrictTypeChecking for WebGL functions.
3230
3231 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
3232
3233         Reviewed by Sam Weinig.
3234
3235         Clean up some selection code
3236         https://bugs.webkit.org/show_bug.cgi?id=44314
3237         
3238         Change the concept of "layout" in SelectionController to "updateCaretRect", renaming
3239         methods accordingly.
3240         
3241         Move selection and printing methods in RenderView.h into groups.
3242
3243         No behavioral changes.
3244
3245         * editing/SelectionController.cpp:
3246         (WebCore::SelectionController::SelectionController):
3247         (WebCore::SelectionController::setSelection):
3248         (WebCore::SelectionController::modify):
3249         (WebCore::SelectionController::setCaretRectNeedsUpdate):
3250         (WebCore::SelectionController::updateCaretRect):
3251         (WebCore::SelectionController::localCaretRect):
3252         (WebCore::SelectionController::recomputeCaretRect): Test m_caretRectNeedsUpdate first.
3253         (WebCore::SelectionController::invalidateCaretRect):
3254         * editing/SelectionController.h:
3255         * page/FrameView.cpp:
3256         (WebCore::FrameView::layout):
3257         * rendering/RenderLayer.cpp:
3258         (WebCore::RenderLayer::scrollToOffset):
3259         * rendering/RenderView.h:
3260         (WebCore::RenderView::selectionStart):
3261         (WebCore::RenderView::selectionEnd):
3262         (WebCore::RenderView::printRect):
3263         (WebCore::RenderView::setPrintRect):
3264
3265 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
3266
3267         Fix Chromium build.
3268         
3269         * svg/SVGElement.cpp:
3270         (WebCore::SVGElement::attributeChanged):
3271
3272 2010-08-19  Simon Fraser  <simon.fraser@apple.com>
3273
3274         Reviewed by Nikolas Zimmermann.
3275
3276         HTMLElement::isContentEditable() can cause an updateStyleIfNeeded() to happen in the middle of layout
3277         https://bugs.webkit.org/show_bug.cgi?id=21834
3278         <rdar://problem/8093653&8261394>
3279         
3280         If we're in the middle of layout, or painting, and something causes updateStyleIfNeeded() to
3281         get called, then we can end up entering recalcStyle() during layout or painting. This is bad
3282         because it can create/destry the renderers and RenderLayers which are in use by layout/painting.
3283         This is the cause of a number of random crashers, some of which show up more frequently
3284         in content which uses accelerated compositing.
3285         
3286         The changes here:
3287         1. Add an assertion in Document::updateStyleIfNeeded() that we are not laying out or painting.
3288         2. Remove calls to updateStyleIfNeeded() in editing and caret painting code
3289         3. Pass along information to CTM and BBox-related SVG methods to indicate whether it's safe
3290            to update style.
3291
3292         Tested by new assertions and existing tests.
3293
3294         * dom/Document.cpp:
3295         (WebCore::Document::updateStyleIfNeeded): New assertion that we are not mid-layout or painting.
3296         (WebCore::command): Call updateStyleIfNeeded() to ensure that subsequent calls to isContentEditable()
3297         return the correct result.
3298
3299         * dom/Element.cpp:
3300         (WebCore::Element::focus): Move the supportsFocus() call to after style has been updated.
3301
3302         * editing/SelectionController.cpp:
3303         (WebCore::SelectionController::localCaretRect):
3304         (WebCore::SelectionController::caretRepaintRect):
3305         (WebCore::SelectionController::paintCaret):
3306         * editing/SelectionController.h:
3307         (WebCore::SelectionController::localCaretRectForPainting): When painting, use localCaretRectForPainting()
3308         which does not update style. Make localCaretRect() non-const so allowing it to update style without ugly casts.
3309
3310         * html/HTMLElement.cpp:
3311         (WebCore::HTMLElement::isContentEditable): Don't call updateStyleIfNeeded() here.
3312         (WebCore::HTMLElement::isContentRichlyEditable): Ditto.
3313         (WebCore::HTMLElement::contentEditable): Ditto.
3314
3315         * page/FrameView.h:
3316         (WebCore::FrameView::isMidLayout): New accessor, used for asserting.
3317
3318         * rendering/RenderPath.cpp:
3319         (WebCore::fillAndStrokePath): Pass DisallowStyleUpdate to getScreenCTM since we are painting.
3320         * rendering/RenderSVGResourceContainer.cpp:
3321         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): This is only called when
3322         painting, so use DisallowStyleUpdate.
3323
3324         * svg/SVGElement.cpp:
3325         (WebCore::SVGElement::attributeChanged): Changes to the style attribute should not have
3326         side effects, since a call to Element::getAttribute() is allowed to result in a call to
3327         setAttribute() for the style attribute. To avoid updateStyleIfNeeded() during painting,
3328         this must not cause SVG to do extra work.
3329
3330         * svg/SVGLocatable.cpp: Pass StyleUpdateStrategy down to these methods to indicate
3331         whether it's OK to update style.
3332         (WebCore::SVGLocatable::getBBox):
3333         (WebCore::SVGLocatable::computeCTM):
3334         (WebCore::SVGLocatable::getTransformToElement):
3335         * svg/SVGLocatable.h:
3336         (WebCore::SVGLocatable::):
3337         * svg/SVGStyledLocatableElement.cpp:
3338         (WebCore::SVGStyledLocatableElement::getBBox):
3339         (WebCore::SVGStyledLocatableElement::getCTM):
3340         (WebCore::SVGStyledLocatableElement::getScreenCTM):
3341         * svg/SVGStyledLocatableElement.h:
3342         * svg/SVGStyledTransformableElement.cpp:
3343         (WebCore::SVGStyledTransformableElement::getCTM):
3344         (WebCore::SVGStyledTransformableElement::getScreenCTM):
3345         (WebCore::SVGStyledTransformableElement::getBBox):
3346         * svg/SVGStyledTransformableElement.h:
3347         * svg/SVGTextElement.cpp:
3348         (WebCore::SVGTextElement::getBBox):
3349         (WebCore::SVGTextElement::getCTM):
3350         (WebCore::SVGTextElement::getScreenCTM):
3351         * svg/SVGTextElement.h:
3352
3353 2010-08-19  Ryosuke Niwa  <rniwa@webkit.org>
3354
3355         Reviewed by Darin Adler.
3356
3357         Range, EAnnotateForInterchange, and EAbsoluteURLs should be member variables of MarkupAccumulator
3358         https://bugs.webkit.org/show_bug.cgi?id=44229
3359
3360         No new tests are added since this is a clean up.
3361
3362         * editing/markup.cpp:
3363         (WebCore::MarkupAccumulator::MarkupAccumulator): Added shouldResolveURLs, shouldAnnotate, and range.
3364         (WebCore::MarkupAccumulator::shouldResolveURLs): Private inline accessor for m_shouldResolveURLs.
3365         (WebCore::MarkupAccumulator::shouldAnnotate): Private inline accessor for m_shouldAnnotate.
3366         (WebCore::MarkupAccumulator::appendEndTag): Renamed local variable result to markup.
3367         (WebCore::MarkupAccumulator::appendStartTag): Removed range, annotate, shouldResolveURLs from the function arguments.
3368         (WebCore::MarkupAccumulator::wrapWithNode): Ditto.
3369         (WebCore::MarkupAccumulator::appendStartMarkup): Ditto.
3370         (WebCore::serializeNodes): Ditto and uses MarkupAccumulator.
3371         (WebCore::createMarkup): Uses MarkupAccumulator.
3372         (WebCore::serializeNodesWithNamespaces): Ditto.
3373
3374 2010-08-19  Pavel Feldman  <pfeldman@chromium.org>
3375
3376         Reviewed by Yury Semikhatsky.
3377
3378         Web Inspector: do not dump inspector errors into the inspected window console.
3379         https://bugs.webkit.org/show_bug.cgi?id=44272
3380
3381         * inspector/front-end/inspector.js:
3382         (WebInspector.reportProtocolError):
3383
3384 2010-08-19  Jeremy Orlow  <jorlow@chromium.org>
3385
3386         Chromium build fix.
3387
3388         Use ASSERT_UNUSED on variables that aren't used besides by the ASSERT.
3389
3390         * storage/IDBDatabaseBackendImpl.cpp:
3391         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3392         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
3393         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
3394         * storage/IDBObjectStoreBackendImpl.cpp:
3395         (WebCore::IDBObjectStoreBackendImpl::get):
3396         (WebCore::IDBObjectStoreBackendImpl::put):
3397         (WebCore::IDBObjectStoreBackendImpl::remove):
3398         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3399         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
3400         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3401         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
3402
3403 2010-08-19  Andrey Kosyakov  <caseq@chromium.org>
3404
3405         Reviewed by Pavel Feldman.
3406
3407         Web Inspector: expose Panel.onSelectionChanged in extension API
3408         https://bugs.webkit.org/show_bug.cgi?id=44171
3409
3410         * inspector/front-end/ExtensionAPI.js:
3411         (injectedExtensionAPI.PanelImpl):
3412         (injectedExtensionAPI):
3413
3414 2010-08-19  Andrei Popescu  <andreip@google.com>
3415
3416         Reviewed by Jeremy Orlow.
3417
3418         [IndexedDB] Abort idle IDBTransactions when the JS context they were created in finishes execution.
3419         https://bugs.webkit.org/show_bug.cgi?id=44101
3420
3421         This change also introduces the TransactionCoordinator, which will be used
3422         to schedule transactions for execution.
3423
3424         Test: storage/indexeddb/transaction-basics.html
3425
3426         * WebCore.gypi:
3427         * bindings/v8/V8DOMWrapper.cpp:
3428         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3429         * bindings/v8/V8Proxy.cpp:
3430         (WebCore::V8Proxy::runScript):
3431         (WebCore::V8Proxy::callFunction):
3432         (WebCore::V8Proxy::didLeaveScriptContext):
3433         * bindings/v8/V8Proxy.h:
3434         * dom/EventTarget.cpp:
3435         (WebCore::EventTarget::toIDBTransaction):
3436         * dom/EventTarget.h:
3437         * page/PageGroup.h:
3438         (WebCore::PageGroup::hasIDBFactory):
3439         * storage/IDBAbortEvent.cpp: Added.
3440         (WebCore::IDBAbortEvent::create):
3441         (WebCore::IDBAbortEvent::IDBAbortEvent):
3442         (WebCore::IDBAbortEvent::~IDBAbortEvent):
3443         * storage/IDBAbortEvent.h: Added.
3444         (WebCore::IDBAbortEvent::isIDBAbortEvent):
3445         * storage/IDBDatabase.cpp:
3446         (WebCore::IDBDatabase::transaction):
3447         * storage/IDBDatabaseBackendImpl.cpp:
3448         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
3449         (WebCore::IDBDatabaseBackendImpl::transaction):
3450         * storage/IDBDatabaseBackendImpl.h:
3451         (WebCore::IDBDatabaseBackendImpl::create):
3452         * storage/IDBDatabaseBackendInterface.h:
3453         * storage/IDBFactoryBackendImpl.cpp:
3454         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
3455         (WebCore::IDBFactoryBackendImpl::open):
3456         (WebCore::IDBFactoryBackendImpl::abortPendingTransactions):
3457         * storage/IDBFactoryBackendImpl.h:
3458         * storage/IDBFactoryBackendInterface.h:
3459         * storage/IDBPendingTransactionMonitor.cpp: Added.
3460         (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
3461         (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
3462         (WebCore::IDBPendingTransactionMonitor::clearPendingTransactions):
3463         (WebCore::IDBPendingTransactionMonitor::pendingTransactions):
3464         * storage/IDBPendingTransactionMonitor.h: Added.
3465         * storage/IDBTransaction.cpp:
3466         (WebCore::IDBTransaction::IDBTransaction):
3467         (WebCore::IDBTransaction::onAbort):
3468         (WebCore::IDBTransaction::id):
3469         (WebCore::IDBTransaction::stop):
3470         (WebCore::IDBTransaction::timerFired):
3471         * storage/IDBTransaction.h:
3472         * storage/IDBTransactionBackendInterface.h:
3473         * storage/IDBTransactionCallbacks.h: Added.
3474         (WebCore::IDBTransactionCallbacks::~IDBTransactionCallbacks):
3475         * storage/IDBTransactionCoordinator.cpp: Added.
3476         (WebCore::IDBTransactionBackendImpl::~IDBTransactionBackendImpl):
3477         (WebCore::IDBTransactionBackendImpl::create):
3478         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
3479         (WebCore::IDBTransactionBackendImpl::objectStore):
3480         (WebCore::IDBTransactionBackendImpl::mode):
3481         (WebCore::IDBTransactionBackendImpl::scheduleTask):
3482         (WebCore::IDBTransactionBackendImpl::abort):
3483         (WebCore::IDBTransactionBackendImpl::sqliteDatabase):
3484         (WebCore::IDBTransactionBackendImpl::id):
3485         (WebCore::IDBTransactionBackendImpl::setCallbacks):
3486         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
3487         (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
3488         (WebCore::IDBTransactionCoordinator::createTransaction):
3489         (WebCore::IDBTransactionCoordinator::abort):
3490         * storage/IDBTransactionCoordinator.h: Added.
3491         (WebCore::IDBTransactionCoordinator::create):
3492
3493 2010-08-19  Pavel Feldman  <pfeldman@chromium.org>
3494
3495         Reviewed by Yury Semikhatsky.
3496
3497         Chromium DevTools: There is no need in resource-based InjectedScript.js source.
3498         Now that we populate front-end after its onload handler, we don't need
3499         to install injected script early. Exposing injected script source on the WebCore
3500         level here.
3501         https://bugs.webkit.org/show_bug.cgi?id=44029
3502
3503         * inspector/InjectedScriptHost.h:
3504         (WebCore::InjectedScriptHost::injectedScriptSource):
3505
3506 2010-08-18  Jeremy Orlow  <jorlow@chromium.org>
3507
3508         Reviewed by Steve Block.
3509
3510         Implement persistance for IndexedDB ObjectStores
3511         https://bugs.webkit.org/show_bug.cgi?id=44164
3512
3513         Get rid of the in-memory storage of ObjectStores and instead
3514         use SQL backed memory.
3515
3516         Existing tests give most of the coverage.  Will update the manual
3517         test in the next patch (which will also re-work database.description).
3518
3519         * manual-tests/indexed-database.html: Get rid of race where you can click before the page loads.
3520         * platform/sql/SQLiteStatement.cpp: Add two helper functions
3521         (WebCore::SQLiteStatement::bindInt):
3522         (WebCore::SQLiteStatement::isColumnNull):
3523         * platform/sql/SQLiteStatement.h:
3524         * storage/IDBCursorBackendImpl.cpp: 
3525         * storage/IDBDatabaseBackendImpl.cpp:
3526         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
3527         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3528         (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
3529         (WebCore::IDBDatabaseBackendImpl::importObjectStores):
3530         * storage/IDBDatabaseBackendImpl.h:
3531         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
3532         * storage/IDBFactoryBackendImpl.cpp:
3533         (WebCore::createTables):
3534         * storage/IDBIndexBackendImpl.cpp:
3535         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
3536         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
3537         * storage/IDBIndexBackendImpl.h:
3538         (WebCore::IDBIndexBackendImpl::create):
3539         * storage/IDBObjectStoreBackendImpl.cpp:
3540         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
3541         (WebCore::whereClause):
3542         (WebCore::bindKey):
3543         (WebCore::IDBObjectStoreBackendImpl::get):
3544         (WebCore::IDBObjectStoreBackendImpl::put):
3545         (WebCore::IDBObjectStoreBackendImpl::remove):
3546         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3547         (WebCore::IDBObjectStoreBackendImpl::removeIndex):
3548         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3549         (WebCore::IDBObjectStoreBackendImpl::importIndexes):
3550         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
3551         * storage/IDBObjectStoreBackendImpl.h:
3552         (WebCore::IDBObjectStoreBackendImpl::create):
3553         (WebCore::IDBObjectStoreBackendImpl::database):
3554
3555 2010-08-19  Nikolas Zimmermann  <nzimmermann@rim.com>
3556
3557         Reviewed by Dirk Schulze.
3558
3559         Pattern is rasterized
3560         https://bugs.webkit.org/show_bug.cgi?id=41396
3561
3562         SVG pattern size changed when resizing browser
3563         https://bugs.webkit.org/show_bug.cgi?id=38704
3564