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