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