dabbed902d41e7092d18bc1c05b51cf7befa4ac5
[WebKit-https.git] / WebCore / ChangeLog
1 2010-07-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
2
3         Unreviewed build fix after r60050.
4
5         * CMakeLists.txt: Add WebCore/bindings to the include path.
6
7 2010-07-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
8
9         Reviewed by Xan Lopez.
10
11         [GTK] Crashes when going back with page cache in unknown circunstances
12         https://bugs.webkit.org/show_bug.cgi?id=41710
13
14         Could not yet find a way to reproduce this in a layout test. The
15         issue is document being NULL, so this NULL-check should be enough
16         to get rid of the crash. We are working on trying to find a better
17         solution for these null cases, like attaching the document earlier
18         when openning a cached page.
19
20         * page/EventHandler.cpp:
21         (WebCore::EventHandler::sendScrollEvent):
22
23 2010-07-12  Alexander Pavlov  <apavlov@chromium.org>
24
25         Reviewed by Yury Semikhatsky.
26
27         [Chromium] Crash when stepping on a breakpoint while debugging Web Inspector
28         https://bugs.webkit.org/show_bug.cgi?id=41958
29
30         * page/PageGroupLoadDeferrer.cpp:
31         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
32         * page/PageGroupLoadDeferrer.h:
33
34 2010-07-12  François Sausset  <sausset@gmail.com>
35
36         Reviewed by Kenneth Rohde Christiansen.
37
38         Make the mathsize MathML attribute handle values in em, px, pt,...
39         https://bugs.webkit.org/show_bug.cgi?id=42067
40
41         Test: mathml/presentation/attributes.xhtml
42
43         * css/mathml.css:
44         (math[mathsize="small"], mstyle[mathsize="small"], mo[mathsize="small"], mn[mathsize="small"], mi[mathsize="small"], mtext[mathsize="small"], mspace[mathsize="small"], ms[mathsize="small"]):
45         (math[mathsize="normal"], mstyle[mathsize="normal"], mo[mathsize="normal"], mn[mathsize="normal"], mi[mathsize="normal"], mtext[mathsize="normal"], mspace[mathsize="normal"], ms[mathsize="normal"]):
46         (math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="big"], mi[mathsize="big"], mtext[mathsize="big"], mspace[mathsize="big"], ms[mathsize="big"]):
47         * mathml/MathMLElement.cpp:
48         (WebCore::MathMLElement::parseMappedAttribute):
49
50 2010-07-12  Xan Lopez  <xlopez@igalia.com>
51
52         Reviewed by Gustavo Noronha.
53
54         Fix compilation with sealed GTK+.
55
56         * platform/gtk/GtkVersioning.h:
57         * platform/gtk/PasteboardHelper.cpp:
58         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
59
60 2010-07-12  François Sausset  <sausset@gmail.com>
61
62         Reviewed by Kenneth Rohde Christiansen.
63
64         Fix a bug preventing msqrt and mfrac to use style color to draw themselves.
65         In mfrac, the fraction bar is now using the color defined by the element style instead of black.
66         In msqrt, the radical was always drawn in black due to a colorSpace problem.
67         https://bugs.webkit.org/show_bug.cgi?id=41889
68
69         Test: mathml/presentation/roots.xhtml
70         Test: mathml/presentation/fractions.xhtml
71
72         * mathml/RenderMathMLFraction.cpp:
73         (WebCore::RenderMathMLFraction::paint):
74         * mathml/RenderMathMLSquareRoot.cpp:
75         (WebCore::RenderMathMLSquareRoot::paint):
76
77 2010-07-12  Andreas Kling  <andreas.kling@nokia.com>
78
79         Reviewed by Antti Koivisto.
80
81         Canvas: arc() with startAngle == endAngle shouldn't add to the path
82         https://bugs.webkit.org/show_bug.cgi?id=41420
83
84         Spec link:
85         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-stroke
86
87         * html/canvas/CanvasRenderingContext2D.cpp:
88         (WebCore::CanvasRenderingContext2D::arc):
89
90 2010-07-12  Shinichiro Hamaji  <hamaji@chromium.org>
91
92         Reviewed by Ojan Vafai.
93
94         Update padding on Windows?
95         https://bugs.webkit.org/show_bug.cgi?id=38016
96
97         Remove internal padding and add 1px vertical padding for Windows.
98
99         * css/themeWin.css:
100         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
101         * rendering/RenderButton.cpp:
102         (WebCore::RenderButton::setupInnerStyle):
103         * rendering/RenderTheme.h:
104         * rendering/RenderThemeWin.cpp:
105         * rendering/RenderThemeWin.h:
106         * rendering/RenderThemeWince.cpp:
107         * rendering/RenderThemeWince.h:
108
109 2010-07-12  Pavel Feldman  <pfeldman@chromium.org>
110
111         Not reviewed. Chromium tests fix.
112
113         [Chromium, V8] r63057 regressed url tests.
114
115         https://bugs.webkit.org/show_bug.cgi?id=42063
116
117         * bindings/scripts/CodeGeneratorV8.pm:
118
119 2010-07-12  Steve Block  <steveblock@google.com>
120
121         Reviewed by Alexey Proskuryakov.
122
123         XPath substring function does not correctly handle non-positive values for the position argument
124         https://bugs.webkit.org/show_bug.cgi?id=41913
125
126         This patch changes the behavior of the XPath evaluate function when a non-positive
127         position argument is supplied and no length argument is supplied. In this case,
128         we reset the position to 1. This follows the spec and matches the current behaviour
129         when a length argument is supplied.
130
131         Test: fast/xpath/substring-non-positive-postion.html
132
133         * xml/XPathFunctions.cpp:
134         (WebCore::XPath::FunSubstring::evaluate):
135
136 2010-06-27  Jeremy Orlow  <jorlow@chromium.org>
137
138         Reviewed by Dumitru Daniliuc.
139
140         Implement IDBObjectStore.get/set/remove
141         https://bugs.webkit.org/show_bug.cgi?id=41250
142
143         Implement these functions in IDBObjectStore,
144         add plumbing, teach IDBAny/Callbacks how to deal
145         with IDBKey, and a few small bits of cleanup.
146
147         Test: Modified existing test to provide basic coverage.
148               Will add much more extensive layout test coverage
149               in future patches.
150
151         * Android.derived.jscbindings.mk:
152         * Android.derived.v8bindings.mk:
153         * Android.jscbindings.mk:
154         * Android.mk:
155         * Android.v8bindings.mk:
156         * CMakeLists.txt:
157         * WebCore.gypi:
158         * WebCore.pri:
159         * WebCore.pro:
160         * WebCore.vcproj/WebCore.vcproj:
161         * WebCore.xcodeproj/project.pbxproj:
162         * bindings/js/JSIDBAnyCustom.cpp:
163         (WebCore::toJS):
164         * bindings/v8/custom/V8IDBAnyCustom.cpp:
165         (WebCore::toV8):
166         * storage/IDBAny.cpp:
167         (WebCore::IDBAny::idbKey):
168         (WebCore::IDBAny::set):
169         * storage/IDBAny.h:
170         (WebCore::IDBAny::):
171         * storage/IDBAny.idl:
172         * storage/IDBCallbacks.h:
173         * storage/IDBDatabaseRequest.h:
174         * storage/IDBDatabaseRequest.idl:
175         * storage/IDBKeyRange.h:
176         * storage/IDBObjectStore.h:
177         (WebCore::IDBObjectStore::):
178         * storage/IDBObjectStoreImpl.cpp:
179         (WebCore::IDBObjectStoreImpl::IDBObjectStoreImpl):
180         (WebCore::IDBObjectStoreImpl::get):
181         (WebCore::IDBObjectStoreImpl::set):
182         (WebCore::IDBObjectStoreImpl::remove):
183         * storage/IDBObjectStoreImpl.h:
184         * storage/IDBObjectStoreRequest.cpp:
185         (WebCore::IDBObjectStoreRequest::get):
186         (WebCore::IDBObjectStoreRequest::add):
187         (WebCore::IDBObjectStoreRequest::modify):
188         (WebCore::IDBObjectStoreRequest::addOrModify):
189         (WebCore::IDBObjectStoreRequest::remove):
190         * storage/IDBObjectStoreRequest.h:
191         * storage/IDBObjectStoreRequest.idl:
192         * storage/IDBRequest.cpp:
193         (WebCore::IDBRequest::onSuccess):
194         * storage/IDBRequest.h:
195
196 2010-07-11  Maciej Stachowiak  <mjs@apple.com>
197
198         Reviewed by Dan Bernstein.
199
200         Implement animation-related methods for WebKitTestRunner
201         https://bugs.webkit.org/show_bug.cgi?id=42053
202
203         * WebCore.exp.in: Export Document::getElementById for WebKit2's benefit.
204
205 2010-07-11  Adam Barth  <abarth@webkit.org>
206
207         Rubber-stamped by Eric Seidel
208
209         Add a complete list of the HTML5 entities in JSON format.
210
211         * html/HTMLEntityNames.json: Added.
212
213 2010-07-11  Martin Robinson  <mrobinson@igalia.com>
214
215         Reviewed by Xan Lopez.
216
217         [GTK] WebKitWebView should support drops
218         https://bugs.webkit.org/show_bug.cgi?id=39843
219
220         Add support for dropping content onto GTK+ WebViews.
221
222         No new tests, as the DRT does not support simulating drops yet.
223
224         * platform/gtk/ClipboardUtilitiesGtk.cpp:
225         (WebCore::dragOperationToGdkDragAction): Added.
226         (WebCore::gdkDragActionToDragOperation): Properly detect DragOperationEvery.
227         * platform/gtk/ClipboardUtilitiesGtk.h: Add declaration for dragOperationToGdkDragAction.
228         * platform/gtk/PasteboardHelper.cpp:
229         Add new target atom and rename the markup target type to match the others.
230         Add a method which fills a data object from drop data.
231         (WebCore::PasteboardHelper::initializeTargetList): Add support for new atoms.
232         (WebCore::selectionDataToUTF8String): Added this helper.
233         (WebCore::PasteboardHelper::getClipboardContents): Use the selectionDataToUTF8String helper.
234         (WebCore::PasteboardHelper::targetListForDataObject): Change to reflect markup atom rename.
235         (WebCore::PasteboardHelper::fillDataObjectFromDropData): Added.
236         (WebCore::PasteboardHelper::dropAtoms): Added.
237         * platform/gtk/PasteboardHelper.h: Add declarations of new methods.
238
239 2010-07-10  Darin Adler  <darin@apple.com>
240
241         Reviewed by Anders Carlsson.
242
243         Enhance content attribute reflection for URL attributes, including adding a non-empty option
244         https://bugs.webkit.org/show_bug.cgi?id=42040
245
246         Test: fast/dom/URL-attribute-reflection.html
247
248         Changed syntax from [ReflectURL] to [Reflect,URL] and also added support for
249         a new option, NonEmpty, which implements the non-empty URL concept from the
250         HTML5 specification.
251
252         * bindings/scripts/CodeGenerator.pm: Changed code to expect the Reflect and URL
253         extended attributes to come in separately. The URL one simply means "the string
254         of this attribute is a URL", since we don't have a distinct type for URL. Also
255         added a new NonEmpty extended attribute.
256
257         * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded code to handle ReflectURL.
258         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
259
260         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated for new added test cases
261         and the fix I made to the reflectedCustomURLAttr test.
262         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
263         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
264         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
265         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
266         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
267         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
268         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
269         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. Also, for some reason the V8
270         bindig writes out the keywords into the generated file as comments, so the keyword
271         change had a direct efffect on the output file.
272
273         * bindings/scripts/test/TestObj.idl: Changed the test cases for ReflectURL to use
274         the new syntax. Added test cases for NonEmpty. Fixed the name of
275         reflectedNonEmptyURLAttr, which accidentally was repeating reflectedURLAttr
276         instead; never noticed because we never compile the test output.
277
278         * dom/Element.cpp:
279         (WebCore::Element::getNonEmptyURLAttribute): Added. For use by NonEmpty and also
280         by any code that wants to implement the non-empty URL content attribute semantic.
281         * dom/Element.h: Ditto.
282
283         * html/HTMLAnchorElement.idl: Use Reflect,URL instead of ReflectURL.
284         * html/HTMLAreaElement.idl: Ditto.
285         * html/HTMLFrameElement.idl: Ditto.
286         * html/HTMLImageElement.idl: Ditto.
287         * html/HTMLInputElement.idl: Ditto.
288         * html/HTMLLinkElement.idl: Ditto.
289         * html/HTMLMediaElement.idl: Ditto.
290         * html/HTMLObjectElement.idl: Ditto.
291         * html/HTMLScriptElement.idl: Ditto.
292         * html/HTMLVideoElement.idl: Ditto.
293
294 2010-07-10  Tony Gentilcore  <tonyg@chromium.org>
295
296         Reviewed by Darin Adler.
297
298         Add missing derrived sources to xcode project
299         https://bugs.webkit.org/show_bug.cgi?id=42034
300
301         This allows --web-timing to work with build-webkit on OSX with JSC.
302         This should have been done in bug 41442.
303
304         No new tests because no new functionality.
305
306         * WebCore.xcodeproj/project.pbxproj:
307
308 2010-07-10  Anders Carlsson  <andersca@apple.com>
309
310         Reviewed by Sam Weinig.
311
312         Don't initialize plug-ins until allowed by the page
313         https://bugs.webkit.org/show_bug.cgi?id=42033
314
315         * WebCore.exp.in:
316         Export Document::addMediaCanStartListener and Document::removeMediaCanStartListener.
317
318 2010-07-10  Sam Weinig  <sam@webkit.org>
319
320         Reviewed by Anders Carlsson.
321
322         Patch for https://bugs.webkit.org/show_bug.cgi?id=42021
323         isEqualNode should work for DocumentType nodes
324
325         Test: fast/dom/Node/isEqualNode.html
326
327         * dom/Node.cpp:
328         (WebCore::Node::isEqualNode): Add DocumentType logic from the DOM3 spec.
329
330 2010-07-10  Daniel Bates  <dbates@rim.com>
331
332         Reviewed by Adam Barth.
333
334         Move enum ReasonForCallingCanExecuteScripts to header ScriptControllerBase.h
335         https://bugs.webkit.org/show_bug.cgi?id=39339
336
337         Moved the enum ReasonForCallingCanExecuteScripts, which was
338         defined in both the JSC and V8 ScriptController.h file, into
339         a shared file called ScriptControllerBase.h.
340
341         No functionality was changed, so no new tests.
342
343         * GNUmakefile.am: Added file bindings/ScriptControllerBase.h.
344         * WebCore.gypi: Ditto.
345         * WebCore.pro: Ditto.
346         * WebCore.vcproj/WebCore.vcproj: Ditto.
347         * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
348         * WebCore.xcodeproj/project.pbxproj: Ditto.
349         * bindings/ScriptControllerBase.h: Added.
350         (WebCore::):
351         * bindings/js/ScriptController.h: #include ScriptControllerBase.h
352         * bindings/v8/ScriptController.h: Ditto.
353
354 2010-07-10  Dan Bernstein  <mitz@apple.com>
355
356         Reviewed by Anders Carlsson.
357
358         <rdar://problem/8153214> Continuation outlines in layers do not paint correctly
359
360         Test: fast/inline/continuation-outlines-with-layers-2.html
361
362         Continuation outlines are normally painted by the containing block. However, when the
363         block and the inline are not enclosed by the same self-painting layer, the inline has to
364         paint its own outlines. This was handled correctly only for the case where the inline had
365         its own self-painting layer, but now when an ancestor inline had the self-painting layer.
366
367         * rendering/InlineFlowBox.cpp:
368         (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
369         whether any intermediate box between the inline and the containing block has a self-painting
370         layer.
371         * rendering/RenderBlock.cpp:
372         (WebCore::RenderBlock::paintObject): Ditto.
373         * rendering/RenderObject.cpp:
374         (WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
375         * rendering/RenderObject.h:
376
377 2010-07-10  François Sausset  <sausset@gmail.com>
378
379         Reviewed by Kenneth Rohde Christiansen.
380
381         Build fix: syntax and typo issues
382         https://bugs.webkit.org/show_bug.cgi?id=41859
383
384         * html/HTMLTreeBuilder.cpp:
385         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
386         (WebCore::HTMLTreeBuilder::processStartTag):
387
388 2010-07-10  Eric Seidel  <eric@webkit.org>
389
390         Reviewed by Adam Barth.
391
392         HTMLTreeBuilder needs adjustForeignAttributes support
393         https://bugs.webkit.org/show_bug.cgi?id=42022
394
395         To add adjust foreign attributes support I had to add an
396         AtomicString (prefixed name) to QualifiedName hash.  Once I had
397         done that, I decided it would be best for the other "adjust" functions
398         to share the same hash logic, so I moved them to using the same
399         AtomicString -> QualifiedName hash as well.
400
401         Tested by html5lib/runner.html
402
403         * dom/Attribute.h:
404         (WebCore::Attribute::parserSetName):
405         * html/HTMLTreeBuilder.cpp:
406
407 2010-07-10  Rob Buis  <rwlbuis@gmail.com>
408
409         Reviewed by Darin Adler.
410
411         https://bugs.webkit.org/show_bug.cgi?id=41978
412         Remove namespace prefixes from idl files
413
414         No new tests, idl syntax fixes.
415
416         * css/CSSImportRule.idl:
417         * css/CSSMediaRule.idl:
418         * css/CSSStyleSheet.idl:
419         * css/CSSVariablesRule.idl:
420         * svg/SVGAnimatedString.idl:
421         * svg/SVGColor.idl:
422         * svg/SVGDocument.idl:
423         * svg/SVGLangSpace.idl:
424         * svg/SVGSVGElement.idl:
425         * svg/SVGStringList.idl:
426         * svg/SVGStylable.idl:
427         * svg/SVGStyleElement.idl:
428         * svg/SVGTests.idl:
429         * svg/SVGZoomEvent.idl:
430         * xml/XPathEvaluator.idl:
431
432 2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
433
434         Unreviewed, GTK build fix.
435
436         * bindings/gobject/GObjectEventListener.h:
437
438 2010-07-10  Dumitru Daniliuc  <dumi@chromium.org>
439
440         Reviewed by Darin Adler.
441
442         Remove unnecessary includes in header files in WebCore/dom.
443         https://bugs.webkit.org/show_bug.cgi?id=41941
444
445         * css/StyleMedia.h:
446         * dom/BeforeLoadEvent.h:
447         * dom/CustomEvent.h:
448         * dom/DOMStringMap.h:
449         * dom/DeviceOrientationEvent.h:
450         * dom/EventListener.h:
451         * dom/MessagePort.h:
452         * dom/Node.cpp:
453         * dom/NodeFilter.h:
454         * dom/NodeRareData.h:
455         * dom/RegisteredEventListener.h:
456         * dom/SelectorNodeList.cpp:
457         * dom/SelectorNodeList.h:
458         * dom/StyleElement.h:
459         * dom/Traversal.h:
460
461 2010-07-09  Tony Chang  <tony@chromium.org>
462
463         Reviewed by Ojan Vafai.
464
465         crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting pre
466         https://bugs.webkit.org/show_bug.cgi?id=38231
467
468         Test: editing/execCommand/indent-pre.html
469
470         * editing/IndentOutdentCommand.cpp:
471         (WebCore::countParagraphs):
472         (WebCore::IndentOutdentCommand::indentRegion): Split text nodes into one node per paragraph
473                                                        so moveParagraph doesn't get confused.
474         (WebCore::IndentOutdentCommand::splitTextNodes):
475         * editing/IndentOutdentCommand.h:
476
477 2010-07-09  Erik Arvidsson  <arv@chromium.org>
478
479         Reviewed by Darin Adler.
480
481         Computed style is not implemented for padding-start, padding-end, margin-start, margin-end
482         https://bugs.webkit.org/show_bug.cgi?id=41496
483
484         * css/CSSComputedStyleDeclaration.cpp:
485         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
486         * css/CSSProperty.cpp:
487         (WebCore::CSSProperty::resolveDirectionAwareProperty): This function resolves the property ID for a direction aware property.
488         * css/CSSProperty.h:
489         * css/CSSStyleSelector.cpp: Use helper function.
490         (WebCore::CSSStyleSelector::applyProperty):
491
492 2010-07-09  Adam Barth  <abarth@webkit.org>
493
494         Reviewed by Eric Seidel.
495
496         HTML5 tree builder should pass some LayoutTests
497         https://bugs.webkit.org/show_bug.cgi?id=41991
498
499         Before this patch, we weren't attaching text nodes to the render tree,
500         which turns out to be important.  :)
501
502         This patch fixes more than 10,000 LayoutTests.
503
504         * html/HTMLConstructionSite.cpp:
505         (WebCore::HTMLConstructionSite::attach):
506         (WebCore::HTMLConstructionSite::attachAtSite):
507
508 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
509
510         Reviewed by Darin Adler.
511
512         [WINCE] Buildfix for TextEncodingRegistry
513         https://bugs.webkit.org/show_bug.cgi?id=41992
514
515         Renamed TextCodecWince to TextCodecWinCE.
516
517         * platform/text/TextEncodingRegistry.cpp:
518         (WebCore::buildBaseTextCodecMaps):
519         (WebCore::extendTextCodecMaps):
520
521 2010-07-09  Leon Clarke  <leonclarke@google.com>
522
523         Reviewed by Adam Barth.
524
525         add support for link prefetching
526         https://bugs.webkit.org/show_bug.cgi?id=3652
527
528         Test: fast/dom/HTMLLinkElement/prefetch.html
529
530         * Configurations/FeatureDefines.xcconfig:
531         * html/HTMLLinkElement.cpp:
532         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
533         (WebCore::HTMLLinkElement::process):
534         * html/HTMLLinkElement.h:
535         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
536         * loader/Cache.cpp:
537         (WebCore::createResource):
538         * loader/CachedResource.cpp:
539         (WebCore::CachedResource::data):
540         (WebCore::CachedResource::didAddClient):
541         * loader/CachedResource.h:
542         (WebCore::CachedResource::):
543         (WebCore::CachedResource::error):
544         (WebCore::CachedResource::isPrefetch):
545         (WebCore::CachedResource::schedule):
546         * loader/CachedScript.cpp:
547         * loader/CachedScript.h:
548         * loader/DocLoader.cpp:
549         (WebCore::DocLoader::requestLinkPrefetch):
550         (WebCore::DocLoader::canRequest):
551         (WebCore::DocLoader::incrementRequestCount):
552         (WebCore::DocLoader::decrementRequestCount):
553         * loader/DocLoader.h:
554         * loader/loader.cpp:
555         (WebCore::cachedResourceTypeToTargetType):
556         (WebCore::Loader::determinePriority):
557         (WebCore::Loader::load):
558         (WebCore::Loader::Host::servePendingRequests):
559         (WebCore::Loader::Host::didFinishLoading):
560         (WebCore::Loader::Host::didFail):
561         (WebCore::Loader::Host::didReceiveResponse):
562         (WebCore::Loader::Host::cancelPendingRequests):
563         * loader/loader.h:
564         (WebCore::Loader::):
565         * platform/network/ResourceRequestBase.h:
566         (WebCore::ResourceRequestBase::):
567
568 2010-07-09  James Robinson  <jamesr@chromium.org>
569
570         Unreviewed build fix.  Add #include to pick up ExceptionCode values for config (like Qt) where it's not picked up indirectly.
571
572         * html/HTMLCanvasElement.cpp:
573
574 2010-07-09  James Robinson  <jamesr@chromium.org>
575
576         Reviewed by Darin Adler.
577
578         Removes CanvasSurface and moves all of its functionality to HTMLCanvasElement.
579         https://bugs.webkit.org/show_bug.cgi?id=42005
580
581         http://trac.webkit.org/changeset/55201 introduced a new base class for HTMLCanvasElement called CanvasSurface.
582         The intention was that this would allow for code sharing with the then-proposed OffscreenCanvas.  However,
583         there is no OffscreenCanvas and there's unlikely to be one soon.  Additionally CanvasSurface breaks
584         encapsulation pretty badly by doing "static_cast<HTMLCanvasElement* const>(this)".  Until an abstraction is
585         really needed we should just use HTMLCanvasElement when we want to talk about a canvas.
586
587         This patch moves all of CanvasSurface's functionality back up to HTMLCanvasElement and reorders the header
588         to be a bit more logical.
589
590         Refactor with no behavior change, thus no new tests.
591
592         * CMakeLists.txt:
593         * GNUmakefile.am:
594         * WebCore.gypi:
595         * WebCore.pro:
596         * WebCore.vcproj/WebCore.vcproj:
597         * WebCore.xcodeproj/project.pbxproj:
598         * dom/CanvasSurface.cpp: Removed.
599         * dom/CanvasSurface.h: Removed.
600         * html/HTMLCanvasElement.cpp:
601         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
602         (WebCore::HTMLCanvasElement::willDraw):
603         (WebCore::HTMLCanvasElement::setSurfaceSize):
604         (WebCore::HTMLCanvasElement::toDataURL):
605         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
606         (WebCore::HTMLCanvasElement::securityOrigin):
607         (WebCore::HTMLCanvasElement::styleSelector):
608         (WebCore::HTMLCanvasElement::createImageBuffer):
609         (WebCore::HTMLCanvasElement::drawingContext):
610         (WebCore::HTMLCanvasElement::buffer):
611         (WebCore::HTMLCanvasElement::baseTransform):
612         * html/HTMLCanvasElement.h:
613         (WebCore::HTMLCanvasElement::setObserver):
614         (WebCore::HTMLCanvasElement::width):
615         (WebCore::HTMLCanvasElement::height):
616         (WebCore::HTMLCanvasElement::size):
617         (WebCore::HTMLCanvasElement::toDataURL):
618         (WebCore::HTMLCanvasElement::setOriginTainted):
619         (WebCore::HTMLCanvasElement::originClean):
620         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
621
622 2010-07-09  Simon Fraser  <simon.fraser@apple.com>
623
624         Reviewed by Darin Adler.
625
626         Calling layoutTestController.layerTreeAsText() should update layout
627         https://bugs.webkit.org/show_bug.cgi?id=41818
628         
629         Need to call updateLayout() before we check for any layers, not after,
630         since layout will update compositing, and may create layers.
631
632         * page/Frame.cpp:
633         (WebCore::Frame::layerTreeAsText):
634
635 2010-07-09  Kenneth Russell  <kbr@google.com>
636
637         Reviewed by Nate Chapin.
638
639         bufferSubData causes crash in WebGLBuffer::associateBufferSubData
640         https://bugs.webkit.org/show_bug.cgi?id=42004
641
642         Test: fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
643
644         * html/canvas/WebGLBuffer.cpp:
645         (WebCore::WebGLBuffer::associateBufferData):
646          - Allocate m_elementArrayBuffer for entry point taking only size.
647            Guard against allocation failures of m_elementArrayBuffer.
648         (WebCore::WebGLBuffer::associateBufferSubData):
649          - Guard against any possibility of crashes due to m_elementArrayBuffer being NULL.
650
651 2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
652
653         Unreviewed, but pre-approved by Eric Seidel.
654
655         Remove unnecessary includes in header files in WebCore/css.
656         https://bugs.webkit.org/show_bug.cgi?id=41941
657
658         * css/CSSComputedStyleDeclaration.h:
659         * css/CSSFontFaceSource.cpp:
660         (WebCore::CSSFontFaceSource::getFontData):
661         * css/CSSFontFaceSource.h:
662         * css/CSSPrimitiveValueMappings.h:
663         * css/StyleMedia.h:
664
665 2010-07-09  Eric Seidel  <eric@webkit.org>
666
667         Reviewed by Adam Barth.
668
669         Get rid of manual case maps in HTMLTreeBuilder
670         https://bugs.webkit.org/show_bug.cgi?id=42000
671
672         No functional change, thus no tests.
673
674         * html/HTMLTreeBuilder.cpp:
675
676 2010-07-09  Tony Gentilcore  <tonyg@chromium.org>
677
678         Reviewed by Dimitri Glazkov.
679
680         Implement performance.timing.navigationStart
681         https://bugs.webkit.org/show_bug.cgi?id=41815
682
683         See: http://dev.w3.org/2006/webapi/WebTiming/#nt-navigation-start
684
685         * loader/FrameLoader.cpp:
686         (WebCore::FrameLoader::loadWithDocumentLoader):
687         * loader/FrameLoaderTypes.h:
688         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
689         * page/Timing.cpp:
690         (WebCore::Timing::navigationStart):
691
692 2010-07-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
693
694         Reviewed by Kenneth Rohde Christiansen.
695
696         [Qt] GraphicsLayerQt must have syncCompositingStateForThisLayerOnly() implemented
697         https://bugs.webkit.org/show_bug.cgi?id=41954
698
699         Add GraphicsLayerQt::syncCompositingStateForThisLayerOnly, a non-recursive
700         implementation of GraphicsLayerQt::syncCompositingState and which targets
701         the current layer only.
702
703         * platform/graphics/qt/GraphicsLayerQt.cpp:
704         (WebCore::GraphicsLayerQt::syncCompositingStateForThisLayerOnly):
705         * platform/graphics/qt/GraphicsLayerQt.h:
706
707 2010-07-09  David Kozub  <zub@linux.fjfi.cvut.cz>
708
709         Reviewed by Darin Adler.
710
711         Fix build by adding missing html/TimeRanges.idl to CMakeLists.txt.
712
713         https://bugs.webkit.org/show_bug.cgi?id=41945
714
715         No functional changes, thus no tests.
716
717         * CMakeLists.txt:
718
719 2010-07-09  Eric Seidel  <eric@webkit.org>
720
721         Reviewed by Adam Barth.
722
723         Fix SVG tag name casing for HTMLTreeBuilder
724         https://bugs.webkit.org/show_bug.cgi?id=41998
725
726         Tested by html5lib/runner.html
727
728         * html/HTMLTreeBuilder.cpp:
729         (WebCore::):
730
731 2010-07-09  Eric Seidel  <eric@webkit.org>
732
733         Reviewed by Adam Barth.
734
735         Implement SVG attribute case mapping for HTMLTreeBuilder
736         https://bugs.webkit.org/show_bug.cgi?id=41949
737
738         Tested by html5lib/runner.html.
739
740         * html/HTMLTreeBuilder.cpp:
741
742 2010-07-09  Andy Estes  <aestes@apple.com>
743
744         Reviewed by Adele Peterson.
745
746         Remove the workaround for a Core Animation bug on platforms where the
747         bug has been fixed.
748         https://bugs.webkit.org/show_bug.cgi?id=41927
749         <rdar://problem/7920153>
750
751         * platform/graphics/mac/GraphicsLayerCA.mm:
752         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Add
753         a compile-time check for platforms that have a Core Animation bug that
754         needs working around.
755
756 2010-07-08  Tony Gentilcore  <tonyg@chromium.org>
757
758         Reviewed by Nate Chapin.
759
760         Implement unloadEventEnd, loadEventStart, and loadEventEnd for Web Timing
761         https://bugs.webkit.org/show_bug.cgi?id=41332
762
763         Test: fast/dom/webtiming.html
764
765         * loader/FrameLoader.cpp:
766         (WebCore::FrameLoader::stopLoading):
767         (WebCore::FrameLoader::loadWithDocumentLoader):
768         * loader/FrameLoader.h:
769         (WebCore::FrameLoader::frameLoadTimeline):
770         * loader/FrameLoaderTypes.h:
771         (WebCore::FrameLoadTimeline::FrameLoadTimeline):
772         * page/DOMWindow.cpp:
773         (WebCore::DOMWindow::dispatchLoadEvent):
774         * page/Timing.cpp:
775         (WebCore::Timing::navigationStart):
776         (WebCore::Timing::unloadEventEnd):
777         (WebCore::Timing::loadEventStart):
778         (WebCore::Timing::loadEventEnd):
779         * page/Timing.h:
780         * page/Timing.idl:
781
782 2010-07-09  Dumitru Daniliuc  <dumi@chromium.org>
783
784         Unreviewed, but pre-approved by Eric Seidel.
785
786         Remove all unnecessary includes from the header files in WebCore/accessibility/.
787         https://bugs.webkit.org/show_bug.cgi?id=41941
788
789         * accessibility/AXObjectCache.h:
790         * accessibility/AccessibilityListBox.cpp:
791         * accessibility/AccessibilityListBox.h:
792         * accessibility/AccessibilityMenuList.h:
793         * accessibility/mac/AccessibilityObjectWrapper.h:
794
795 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
796
797         Reviewed by Kent Tamura.
798
799         [WINCE] Buildfix for EventHandlerWin
800         https://bugs.webkit.org/show_bug.cgi?id=41909
801
802         Use Clipboard.h instead of ClipboardWin.h on WinCE.
803
804         * page/win/EventHandlerWin.cpp:
805
806 2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
807
808         Unreviewed, rolling out r62946.
809         http://trac.webkit.org/changeset/62946
810         https://bugs.webkit.org/show_bug.cgi?id=41965
811
812         AppCache inspector support should be enabled in WebKit ToT.
813         (Requested by pfeldman_ on #webkit).
814
815         * inspector/front-end/StoragePanel.js:
816         (WebInspector.StoragePanel):
817         (WebInspector.StoragePanel.prototype.reset):
818         (WebInspector.StoragePanel.prototype.addApplicationCache):
819
820 2010-07-09  François Sausset  <sausset@gmail.com>
821
822         Reviewed by Kenneth Rohde Christiansen.
823
824         Implement MathML mathcolor & mathbackground attributes
825         https://bugs.webkit.org/show_bug.cgi?id=41895
826
827         Test: mathml/presentation/attributes.xhtml
828
829         * dom/MappedAttributeEntry.h:
830         (WebCore::):
831         * mathml/MathMLElement.cpp:
832         (WebCore::MathMLElement::MathMLElement):
833         (WebCore::MathMLElement::mapToEntry):
834         (WebCore::MathMLElement::parseMappedAttribute):
835         * mathml/MathMLElement.h:
836         * mathml/mathattrs.in:
837
838 2010-07-09  Xiaomei Ji  <xji@chromium.org>
839
840         Reviewed by David Levin.
841
842         Fix characters with unicode-bidi-mirror property are not correctly
843         mirrored in Linux.
844         https://bugs.webkit.org/show_bug.cgi?id=41305
845
846         Since harfbuzz does not do mirroring, chromium should iterate each
847         character in the string and mirror it if needed before passing the
848         string to harfbuzz for shaping.
849
850         Test: fast/text/international/bidi-mirror-he-ar.html
851
852         * platform/graphics/chromium/FontLinux.cpp:
853         (WebCore::TextRunWalker::TextRunWalker):
854         (WebCore::TextRunWalker::~TextRunWalker):
855         (WebCore::TextRunWalker::mirrorCharacters):
856
857
858 2010-07-09  Anders Carlsson  <andersca@apple.com>
859
860         Reviewed by Simon Fraser.
861
862         Instantiate Netscape plug-ins, pass geometry information to Plugin
863         https://bugs.webkit.org/show_bug.cgi?id=41960
864
865         * WebCore.exp.in:
866         Export ScrollView::contentsToWindow.
867
868 2010-07-09  Patrick Gansterer  <paroga@paroga.com>
869
870         Reviewed by Kent Tamura.
871
872         [WINCE] Buildfix for FrameWince after r47440
873         https://bugs.webkit.org/show_bug.cgi?id=41904
874
875         * page/wince/FrameWince.cpp: Added property svn:eol-style.
876         (WebCore::computePageRectsForFrame):
877         (WebCore::imageFromSelection):
878
879 2010-07-09  Vitaly Repeshko  <vitalyr@chromium.org>
880
881         Reviewed by Pavel Feldman.
882
883         [v8] Call JS gc in a fresh context to avoid retaining the current one.
884         https://bugs.webkit.org/show_bug.cgi?id=41963
885         http://crbug.com/46571
886
887         * bindings/v8/ScriptController.cpp:
888         (WebCore::ScriptController::collectGarbage):
889
890 2010-07-09  Kenneth Russell  <kbr@google.com>
891
892         Reviewed by Dimitri Glazkov.
893
894         Crash with uniform array test
895         https://bugs.webkit.org/show_bug.cgi?id=36028
896
897         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
898         (WebCore::vertexAttribAndUniformHelperf):
899         (WebCore::uniformHelperi):
900         (WebCore::uniformMatrixHelper):
901          - Fixed type tests and casting of incoming arrays.
902         * html/canvas/WebGLRenderingContext.cpp:
903         (WebCore::WebGLRenderingContext::getUniform):
904          - Fixed crash when null WebGLUniform is passed to getUniform.
905
906 2010-07-09  Chris Fleizach  <cfleizach@apple.com>
907
908         Reviewed by Darin Adler.
909
910         AX:  text editing not spoken by VO on web view contenteditable textbox
911         https://bugs.webkit.org/show_bug.cgi?id=41912
912
913         Test: platform/mac/accessibility/selection-value-changes-for-aria-textbox.html
914
915         * accessibility/AccessibilityRenderObject.cpp:
916         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
917
918 2010-07-09  Michael Nordman  <michaeln@google.com>
919
920         Reviewed by Dumitru Daniliuc.
921
922         Use class ProgressEvent when raising appcache related progress events and
923         set the 'total', 'loaded', and 'lengthComputable' attributes.
924         Also raise the final progress event with the 'total' and 'loaded' attribute
925         values are equal to one another to keep pace with the spec for this feature.
926         https://bugs.webkit.org/show_bug.cgi?id=37602
927
928         Test: http/tests/appcache/progress-counter.html
929
930         * loader/appcache/ApplicationCacheGroup.cpp:
931         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
932         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
933         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
934         (WebCore::ApplicationCacheGroup::startLoadingEntry):
935         (WebCore::CallCacheListenerTask::create):
936         (WebCore::CallCacheListenerTask::performTask):
937         (WebCore::CallCacheListenerTask::CallCacheListenerTask):
938         (WebCore::ApplicationCacheGroup::postListenerTask):
939         * loader/appcache/ApplicationCacheGroup.h:
940         (WebCore::ApplicationCacheGroup::postListenerTask):
941         * loader/appcache/ApplicationCacheHost.cpp:
942         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
943         (WebCore::ApplicationCacheHost::stopDeferringEvents):
944         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
945         * loader/appcache/ApplicationCacheHost.h:
946         (WebCore::ApplicationCacheHost::DeferredEvent::DeferredEvent):
947
948 2010-07-09  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
949
950         Reviewed by Gustavo Noronha Silva.
951
952         Bug 41340 - [GStreamer] Subtle race condition during seeks
953         https://bugs.webkit.org/show_bug.cgi?id=41340
954
955         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
956         (webKitWebSrcStop):
957         (webKitWebSrcNeedDataMainCb):
958         (webKitWebSrcNeedDataCb):
959         (webKitWebSrcEnoughDataMainCb):
960         (webKitWebSrcEnoughDataCb):
961         (webKitWebSrcSeekDataCb):
962         (StreamingClient::didFinishLoading):
963         Fix two subtle race conditions that can happen during seeks:
964         - The timeout callback could be called before the callback ID is
965           assigned to the instance private data. This causes the ID to
966           be set after the callback has finished and breaks all future
967           processing.
968         - The source must not go EOS while a seek is pending because
969           this confuses appsrc due to the different threads involved here.
970
971 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
972
973         Reviewed by Tor Arne Vestbø.
974
975         [Qt] Removed hard-coded enabled default of video support
976
977         Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.Properly detect video/audio instead of defaulting to true.
978
979         * WebCore.pri:
980
981 2010-07-09  Ben Murdoch  <benm@google.com>
982
983         Reviewed by Steve Block.
984
985         [Arm] Missing NaN check in XPath substring function
986         https://bugs.webkit.org/show_bug.cgi?id=41862
987
988         Test: fast/xpath/substring-nan-position.html
989
990         * xml/XPathFunctions.cpp:
991         (WebCore::XPath::FunSubstring::evaluate): Add an isnan()
992             to the value returned from evaluating the position
993             argument and early out and return the empty string.
994
995 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
996
997         Reviewed by Tor Arne Vestbø.
998
999         [Qt] Prospective build fix.
1000
1001         Moved the media element detection from WebCore.pro into WebCore.pri, where
1002         all the features are detected. This is also used by build-webkit to determine
1003         the defaults, which may be the reason for the build breakage.
1004
1005         * WebCore.pri:
1006         * WebCore.pro:
1007
1008 2010-07-09  Simon Hausmann  <simon.hausmann@nokia.com>
1009
1010         Reviewed by Tor Arne Vestbø.
1011
1012         [Qt] Re-enable support for QtMultimediaKit as backend for the media elements
1013
1014         Experimental support is re-enabled if QtMobility is available and the Qt
1015         version is 4.7 or above.
1016
1017         * WebCore.pro:
1018         * platform/graphics/MediaPlayer.cpp:
1019         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1020         (WebCore::MediaPlayerPrivate::supportsType): Adapt to latest QtMultimediaKit API changes.
1021         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1022         (WebCore::MediaPlayerPrivate::totalBytes):
1023
1024 2010-07-09  Pavel Feldman  <pfeldman@chromium.org>
1025
1026         Reviewed by Yury Semikhatsky.
1027
1028         Web Inspector: do not show default tooltip when detailed network info is available.
1029
1030         https://bugs.webkit.org/show_bug.cgi?id=41957
1031
1032         * English.lproj/localizedStrings.js:
1033         * inspector/front-end/ResourcesPanel.js:
1034         (WebInspector.ResourcesPanel):
1035         (WebInspector.ResourcesPanel.prototype.reset):
1036         (WebInspector.ResourcesPanel.prototype.showResource):
1037         (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
1038         (WebInspector.ResourcesPanel.prototype._showPopover):
1039         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
1040
1041 2010-07-09  François Sausset  <sausset@gmail.com>
1042
1043         Reviewed by Beth Dakin.
1044
1045         Correct the default font variant of mtext (regular instead of italic).
1046         https://bugs.webkit.org/show_bug.cgi?id=41626
1047
1048         Add test to be sure that only <mi> elements use italic fonts by default.
1049         Update test with fractions to take into account the correct behaviour of mtext (regular instead of italic).
1050
1051         * css/mathml.css:
1052         (mi):
1053
1054 2010-07-09  Tony Gentilcore  <tonyg@chromium.org>
1055
1056         Reviewed by Dimitri Glazkov.
1057
1058         Implement performance.navigation.type
1059         https://bugs.webkit.org/show_bug.cgi?id=41564
1060
1061         Tests: fast/dom/navigation-type-back-forward.html
1062                fast/dom/navigation-type-navigate.html
1063                fast/dom/navigation-type-reload.html
1064
1065         * page/Navigation.cpp:
1066         (WebCore::Navigation::type):
1067         * page/Navigation.h:
1068         (WebCore::Navigation::):
1069         * page/Navigation.idl:
1070
1071 2010-07-09  Pavel Feldman  <pfeldman@chromium.org>
1072
1073         Reviewed by Yury Semikhatsky.
1074
1075         Web Inspector: hide AppCache until implemented.
1076
1077         https://bugs.webkit.org/show_bug.cgi?id=41858
1078
1079         * inspector/front-end/StoragePanel.js:
1080         (WebInspector.StoragePanel):
1081         (WebInspector.StoragePanel.prototype.reset):
1082         (WebInspector.StoragePanel.prototype.addApplicationCache):
1083
1084 2010-07-09  François Sausset  <sausset@gmail.com>
1085
1086         Reviewed by Kenneth Rohde Christiansen.
1087
1088         Set the good default behaviour for the columalign attribute on MathML mtable element
1089         https://bugs.webkit.org/show_bug.cgi?id=41631
1090
1091         Test update: mathml/tables.xhtml
1092
1093         * css/mathml.css:
1094         (math):
1095
1096 2010-07-09  Sheriff Bot  <webkit.review.bot@gmail.com>
1097
1098         Unreviewed, rolling out r62937.
1099         http://trac.webkit.org/changeset/62937
1100         https://bugs.webkit.org/show_bug.cgi?id=41955
1101
1102         Crashes SnowLeopard leaks and Windows debug bot in fast/xsl
1103         /xslt-relative-path.xml, with assertion in
1104         XSLTProcessorLibxslt.cpp:264 (Requested by WildFox on
1105         #webkit).
1106
1107         * xml/XSLTProcessor.h:
1108         (WebCore::XSLTProcessor::XSLTProcessor):
1109         * xml/XSLTProcessorLibxslt.cpp:
1110         (WebCore::docLoaderFunc):
1111         (WebCore::setXSLTLoadCallBack):
1112         (WebCore::xsltStylesheetPointer):
1113         (WebCore::XSLTProcessor::transformToString):
1114
1115 2010-07-09  Yael Aharon  <yael.aharon@nokia.com>
1116
1117         Reviewed by Laszlo Gombos.
1118
1119         NotificationPresenter needs a cancelRequestPermission API
1120         https://bugs.webkit.org/show_bug.cgi?id=41783
1121
1122         Updated NotificationPresenter API, to use ScriptExecutionContext instead of origin.
1123         Added new API NotificationPresenter::cancelRequestsForPermision
1124         The new API will be implemented and a test will be added in a followup patch.
1125
1126         * notifications/Notification.cpp:
1127         (WebCore::Notification::Notification):
1128         * notifications/NotificationCenter.cpp:
1129         (WebCore::NotificationCenter::checkPermission):
1130         (WebCore::NotificationCenter::requestPermission):
1131         (WebCore::NotificationCenter::disconnectFrame):
1132         * notifications/NotificationCenter.h:
1133         * notifications/NotificationPresenter.h:
1134
1135 2010-07-09  Andreas Wictor  <andreas.wictor@xcerion.com>
1136
1137         Reviewed by Alexey Proskuryakov.
1138
1139         Remove global variables from XSLTProcessorLibxslt.cpp
1140         https://bugs.webkit.org/show_bug.cgi?id=41348
1141
1142         Remove the globalProcessor and globalDocLoader global variables
1143         by using the _private field that exists on most libxml structs.
1144
1145         No new tests, existing tests covers this.
1146
1147         * xml/XSLTProcessor.h:
1148         (WebCore::XSLTProcessor::sourceNode):
1149         (WebCore::XSLTProcessor::XSLTProcessor):
1150         * xml/XSLTProcessorLibxslt.cpp:
1151         (WebCore::registeredXSLTProcessors):
1152         (WebCore::registeredXSLStyleSheets):
1153         (WebCore::docLoaderFunc):
1154         (WebCore::clearSavedStyleSheetPointers):
1155         (WebCore::xsltStylesheetPointer):
1156         (WebCore::XSLTProcessor::transformToString):
1157
1158 2010-07-09  Adam Barth  <abarth@webkit.org>
1159
1160         Unreviewed build fix.
1161
1162         We recently taught the HTMLTokenizer to recognize self-closing tags,
1163         <http://trac.webkit.org/changeset/62926>, but that confused the
1164         LegacyHTMLTreeBuilder.  It turns out that it's much happier if we never
1165         say a tag is self-closing.
1166
1167         * html/HTMLTreeBuilder.cpp:
1168         (WebCore::convertToOldStyle):
1169
1170 2010-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
1171
1172         Reviewed by Rob Buis.
1173
1174         svg/custom/use-instanceRoot-event-bubbling.xhtml test crashes
1175         https://bugs.webkit.org/show_bug.cgi?id=41931
1176
1177         Be careful to not mutate (marking it for recreation) the shadow tree, while building it.
1178         The recent change that cloneNode() properly synchronizes the style/SVG attributes caused this problem.
1179
1180         Fixes crash seen on the buildbots in svg/custom/use-instanceRoot-event-bubbling.xhtml.
1181
1182         * svg/SVGUseElement.cpp:
1183         (WebCore::SVGUseElement::SVGUseElement):
1184         (WebCore::SVGUseElement::recalcStyle):
1185         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
1186         (WebCore::SVGUseElement::invalidateShadowTree):
1187         * svg/SVGUseElement.h:
1188         (WebCore::SVGUseElement::setUpdatesBlocked):
1189
1190 2010-07-09  Adam Barth  <abarth@webkit.org>
1191
1192         Reviewed by Eric Seidel.
1193
1194         Skip leading newlines in <textarea>
1195         https://bugs.webkit.org/show_bug.cgi?id=41947
1196
1197         We would have caught this earlier with the ASSERT.
1198
1199         * html/HTMLTokenizer.cpp:
1200         (WebCore::HTMLTokenizer::nextToken):
1201
1202 2010-07-08  Pavel Feldman  <pfeldman@chromium.org>
1203
1204         Reviewed by Yury Semikhatsky.
1205
1206         Web Inspector: Provide detailed network info in the resources panel.
1207
1208         https://bugs.webkit.org/show_bug.cgi?id=40227
1209
1210         * English.lproj/localizedStrings.js:
1211         * inspector/InspectorController.cpp:
1212         (WebCore::InspectorController::willSendRequest):
1213         (WebCore::InspectorController::didReceiveResponse):
1214         * inspector/InspectorController.h:
1215         * inspector/InspectorResource.cpp:
1216         (WebCore::InspectorResource::InspectorResource):
1217         (WebCore::InspectorResource::updateResponse):
1218         (WebCore::InspectorResource::updateScriptObject):
1219         (WebCore::InspectorResource::buildObjectForTiming):
1220         * inspector/InspectorResource.h:
1221         * inspector/front-end/ResourcesPanel.js:
1222         (WebInspector.ResourcesPanel):
1223         (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
1224         (WebInspector.ResourcesPanel.prototype._getPopoverAnchor):
1225         (WebInspector.ResourcesPanel.prototype._showPopover):
1226         (WebInspector.ResourcesPanel.prototype.hide):
1227         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
1228         (WebInspector.ResourceGraph):
1229         * inspector/front-end/inspector.js:
1230         (WebInspector.updateResource):
1231         * platform/network/ResourceLoadTiming.h:
1232         (WebCore::ResourceLoadTiming::create):
1233         (WebCore::ResourceLoadTiming::deepCopy):
1234         (WebCore::ResourceLoadTiming::operator==):
1235         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
1236         * platform/network/ResourceRequestBase.h:
1237         (WebCore::ResourceRequestBase::reportLoadTiming):
1238         (WebCore::ResourceRequestBase::setReportLoadTiming):
1239         (WebCore::ResourceRequestBase::ResourceRequestBase):
1240         * platform/network/ResourceResponseBase.cpp:
1241         (WebCore::ResourceResponseBase::connectionID):
1242         (WebCore::ResourceResponseBase::setConnectionID):
1243         * platform/network/ResourceResponseBase.h:
1244
1245 2010-07-09  Eric Seidel  <eric@webkit.org>
1246
1247         Reviewed by Adam Barth.
1248
1249         Implement self closing start tag state in the tokenizer
1250         https://bugs.webkit.org/show_bug.cgi?id=41946
1251
1252         Amazingly we got this far w/o needing self closing.
1253         The LegacyHTMLTreeBuilder clearly uses the self-closing
1254         state, but the fact that we never exposed it seems to
1255         not have caused any test failures.  Sad.
1256
1257         The new HTMLTreeBuilder only needs the self closing state
1258         for foreign content mode (and a few parse error cases).
1259
1260         * html/HTMLToken.h:
1261         (WebCore::HTMLToken::setSelfClosing):
1262         * html/HTMLTokenizer.cpp:
1263         (WebCore::HTMLTokenizer::nextToken):
1264         * html/HTMLTreeBuilder.cpp:
1265         (WebCore::):
1266
1267 2010-07-09  Eric Seidel  <eric@webkit.org>
1268
1269         Reviewed by Adam Barth.
1270
1271         Add basic "in foreign content" support to the TreeBuilder
1272         https://bugs.webkit.org/show_bug.cgi?id=41943
1273
1274         This is covered by numerous tests in html5lib/runner.html.
1275
1276         "in foreign content" mode requires us to be able to process
1277         tokens using the "secondary insertion mode".  We have to set
1278         a fake insertion mode to do that, so much of this code is enabling
1279         setting of fake insertion modes, and then later restoration of the
1280         insertion mode after execution.
1281
1282         There is a lot more of foreign content mode to implement, but this is
1283         a good start resulting in huge test progressions.
1284
1285         * html/HTMLConstructionSite.cpp:
1286         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1287          - Use createHTMLElementAndAttachToCurrent instead of copy/paste code.
1288          - No need to include HTMLElementFactory in this file.
1289         * html/HTMLConstructionSite.h:
1290          - RedirectToFosterParentGuard does not need to be a friend class.
1291         * html/HTMLElementStack.cpp:
1292         (WebCore::HTMLElementStack::isOnlyHTMLElementsInScope):
1293         * html/HTMLElementStack.h:
1294         * html/HTMLTreeBuilder.cpp:
1295         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1296         (WebCore::):
1297         * html/HTMLTreeBuilder.h:
1298         (WebCore::HTMLTreeBuilder::setInsertionMode):
1299         (WebCore::HTMLTreeBuilder::isFakeInsertionMode):
1300         (WebCore::HTMLTreeBuilder::setFakeInsertionMode):
1301
1302 2010-07-09  Adam Barth  <abarth@webkit.org>
1303
1304         Reviewed by Eric Seidel.
1305
1306         Coalesce text nodes when foster parenting
1307         https://bugs.webkit.org/show_bug.cgi?id=41921
1308
1309         Introduces the notion of an AttachmentSite to the overall
1310         HTMLConstructionSite.  Maybe we should rename HTMLConstructionSite to
1311         HTMLConstructionArea since we construct things all over the tree?  :)
1312
1313         There's something wrong in the internal layering in this class, but I
1314         can't quite see what it is.  I added a FIXME for the some of the
1315         symptoms.
1316
1317         * html/HTMLConstructionSite.cpp:
1318         (WebCore::HTMLConstructionSite::attach):
1319         (WebCore::HTMLConstructionSite::attachAtSite):
1320         (WebCore::HTMLConstructionSite::insertTextNode):
1321         (WebCore::HTMLConstructionSite::findFosterSite):
1322         (WebCore::HTMLConstructionSite::fosterParent):
1323         * html/HTMLConstructionSite.h:
1324
1325 2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
1326
1327         Reviewed by Dirk Schulze.
1328
1329         RenderSVGRoot does not include border/padding while repainting
1330         https://bugs.webkit.org/show_bug.cgi?id=41854
1331
1332         RenderSVGRoot does not include border/padding in the repaint rect.
1333         clippedOverflowRectForRepaint() was missing. Affects all DRT results,
1334         as <svg> now gets properly sized.
1335
1336         Test: svg/custom/repaint-moving-svg-and-div.xhtml
1337
1338         * rendering/RenderSVGRoot.cpp:
1339         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1340         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
1341         * rendering/RenderSVGRoot.h:
1342
1343 2010-07-09  Albert J. Wong  <ajwong@chromium.org>
1344
1345         Reviewed by Nikolas Zimmermann.
1346
1347         Add RuntimeEnabledFeatures::timeRangesEnabled() required by r62880
1348
1349         https://bugs.webkit.org/show_bug.cgi?id=41935
1350
1351         * bindings/generic/RuntimeEnabledFeatures.cpp:
1352         (WebCore::RuntimeEnabledFeatures::timeRangesEnabled):
1353                 Add in timeRangesEnabled() implementation.
1354         * bindings/generic/RuntimeEnabledFeatures.h:
1355                 Add in timeRangesEnabled() declaration.
1356
1357
1358 2010-07-09  Eric Seidel  <eric@webkit.org>
1359
1360         Reviewed by Adam Barth.
1361
1362         Add setInsertionMode setter in preparation for "in foreign content" mode
1363         https://bugs.webkit.org/show_bug.cgi?id=41942
1364
1365         "in foreign content" mode needs to be able to use a fake
1366         insertion mode for processing.  We need to be able to save the
1367         original insertion mode, set a fake one, and then restore the original
1368         if it wasn't changed.  To detect changes, we need all callsites to
1369         use a setInsertionMode accessor instead of m_insertionMode =
1370
1371         No functional changes, thus no tests.
1372
1373         * html/HTMLTreeBuilder.cpp:
1374         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1375         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
1376         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1377         (WebCore::HTMLTreeBuilder::processStartTag):
1378         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
1379         (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
1380         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
1381         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1382         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
1383         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
1384         (WebCore::HTMLTreeBuilder::processEndTag):
1385         (WebCore::HTMLTreeBuilder::processCharacter):
1386         (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
1387         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
1388         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
1389         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1390
1391 2010-07-09  Eric Seidel  <eric@webkit.org>
1392
1393         Reviewed by Adam Barth.
1394
1395         Add insertForeignElement in preparation for adding "in foreign content" support
1396         https://bugs.webkit.org/show_bug.cgi?id=41940
1397
1398         No functional changes, thus no tests.
1399
1400         * html/HTMLConstructionSite.cpp:
1401         (WebCore::HTMLConstructionSite::insertForeignElement):
1402         (WebCore::HTMLConstructionSite::createElement):
1403         (WebCore::HTMLConstructionSite::createHTMLElement):
1404         * html/HTMLConstructionSite.h:
1405
1406 2010-07-09  Adam Barth  <abarth@webkit.org>
1407
1408         Reviewed by Eric Seidel.
1409
1410         Implementing pending table characters
1411         https://bugs.webkit.org/show_bug.cgi?id=41916
1412
1413         This turned out to not be as scary as I thought it would be.
1414
1415         * html/HTMLTreeBuilder.cpp:
1416         (WebCore::HTMLTreeBuilder::processDoctypeToken):
1417         (WebCore::HTMLTreeBuilder::processStartTag):
1418         (WebCore::HTMLTreeBuilder::processEndTag):
1419         (WebCore::HTMLTreeBuilder::processComment):
1420         (WebCore::HTMLTreeBuilder::processCharacter):
1421         (WebCore::HTMLTreeBuilder::processEndOfFile):
1422         (WebCore::HTMLTreeBuilder::processDefaultForInTableTextMode):
1423         * html/HTMLTreeBuilder.h:
1424
1425 2010-07-08  Adam Barth  <abarth@webkit.org>
1426
1427         Reviewed by Eric Seidel.
1428
1429         Handle whitespace correctly
1430         https://bugs.webkit.org/show_bug.cgi?id=41907
1431
1432         This patch introduces an extra memcpy in the character token pipeline.
1433         I'll remove the memcpy in a future patch.
1434
1435         * html/HTMLConstructionSite.cpp:
1436         (WebCore::HTMLConstructionSite::insertTextNode):
1437         * html/HTMLConstructionSite.h:
1438         * html/HTMLTreeBuilder.cpp:
1439         (WebCore::HTMLTreeBuilder::processCharacter):
1440         * html/HTMLTreeBuilder.h:
1441
1442 2010-07-09  Eric Seidel  <eric@webkit.org>
1443
1444         Reviewed by Adam Barth.
1445
1446         Move more mode handling into functions for later re-use
1447         https://bugs.webkit.org/show_bug.cgi?id=41939
1448
1449         No functional changes, thus no tests.
1450
1451         * html/HTMLTreeBuilder.cpp:
1452         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
1453         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
1454         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1455         (WebCore::HTMLTreeBuilder::processEndTag):
1456         * html/HTMLTreeBuilder.h:
1457
1458 2010-07-09  Eric Seidel  <eric@webkit.org>
1459
1460         Reviewed by Adam Barth.
1461
1462         Add new popUntilPopped functions to clean up code
1463         https://bugs.webkit.org/show_bug.cgi?id=41936
1464
1465         Pretty self explanatory.  Much awesome code reduction.
1466
1467         No functional changes, thus no tests.
1468
1469         * html/HTMLElementStack.cpp:
1470         (WebCore::HTMLElementStack::popUntilPopped):
1471         * html/HTMLElementStack.h:
1472         * html/HTMLTreeBuilder.cpp:
1473         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1474         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1475         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1476         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
1477         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
1478         (WebCore::HTMLTreeBuilder::processEndTag):
1479
1480 2010-07-09  Eric Seidel  <eric@webkit.org>
1481
1482         Unreviewed.  Just renaming (discussed with Adam Barth).
1483
1484         Rename createElement* to createHTMLElement* to better reflect
1485         behavior.  This is in preparation for adding foreign content support.
1486
1487         * html/HTMLConstructionSite.cpp:
1488         (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
1489         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
1490         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
1491         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1492         (WebCore::HTMLConstructionSite::insertHTMLElement):
1493         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1494         (WebCore::HTMLConstructionSite::createHTMLElement):
1495         * html/HTMLConstructionSite.h:
1496         * html/HTMLTreeBuilder.cpp:
1497         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1498
1499 2010-07-09  Eric Seidel  <eric@webkit.org>
1500
1501         Unreviewed.  Just renaming (discussed with Adam Barth).
1502
1503         Rename insertElement to insertHTMLElement and
1504         insertSelfClosingElement to insertSelfClosingHTMLElement
1505         to better reflect what they actually do.  This is in preparation
1506         for adding foreign content support.
1507
1508         * html/HTMLConstructionSite.cpp:
1509         (WebCore::HTMLConstructionSite::insertHTMLElement):
1510         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1511         (WebCore::HTMLConstructionSite::insertFormattingElement):
1512         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
1513         (WebCore::HTMLConstructionSite::fosterParent):
1514         * html/HTMLConstructionSite.h:
1515         * html/HTMLTreeBuilder.cpp:
1516         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1517         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1518         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1519         (WebCore::HTMLTreeBuilder::processStartTag):
1520         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1521         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
1522         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
1523         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
1524
1525 2010-07-08  Rob Buis  <rwlbuis@gmail.com>
1526
1527         Reviewed by Eric Seidel.
1528
1529         Implement SVGSVGElement.getElementById
1530         https://bugs.webkit.org/show_bug.cgi?id=41655
1531
1532         Implement getElementById for SVGSVGElement by trying to
1533         reuse Document.getElementById. If that fails to find an
1534         SVG element in the document fragent do a subtree search.
1535
1536         Test: svg/custom/svg-getelementid.xhtml
1537
1538         * svg/SVGSVGElement.cpp:
1539         (WebCore::SVGSVGElement::getElementById):
1540         * svg/SVGSVGElement.h:
1541         * svg/SVGSVGElement.idl:
1542
1543 2010-07-08  Eric Seidel  <eric@webkit.org>
1544
1545         Reviewed by Adam Barth.
1546
1547         Unwrap a few || blocks for easier readability
1548         https://bugs.webkit.org/show_bug.cgi?id=41838
1549
1550         No functional change, thus no tests.
1551
1552         * html/HTMLTreeBuilder.cpp:
1553         (WebCore::HTMLTreeBuilder::adjustedLexerState):
1554         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1555         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1556         (WebCore::HTMLTreeBuilder::processStartTag):
1557         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1558         (WebCore::HTMLTreeBuilder::processEndTag):
1559         (WebCore::HTMLTreeBuilder::processComment):
1560         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
1561
1562 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
1563
1564         Reviewed by Simon Hausmann.
1565
1566         [Qt] for debugging purposes nice I'm contributing back my FPS
1567         counter in the AnimationQtBase
1568         https://bugs.webkit.org/show_bug.cgi?id=40381
1569
1570         Simply start a timer and count frames in the AnimationQtBase and
1571         spit out the FPS count at the end of a single animation.
1572
1573         No new tests: this is a simple debugging aid.
1574
1575         * platform/graphics/qt/GraphicsLayerQt.cpp:
1576         (WebCore::AnimationQt::updateState):
1577         (WebCore::AnimationQt::updateCurrentTime):
1578         (WebCore::TransformAnimationQt::updateState):
1579         (WebCore::OpacityAnimationQt::updateState):
1580
1581 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
1582
1583         Reviewed by Simon Hausmann.
1584
1585         [Qt] instance objects created for QObjects are somtimes GC'd
1586         https://bugs.webkit.org/show_bug.cgi?id=40352
1587
1588         In markAggregate loop over all the current fields and for any that
1589         still have a dynamic property or a child, mark them as
1590         well. Otherwise the proxy instance will go away and the JS that
1591         was bound to it will be lost.
1592
1593         * bridge/qt/qt_instance.cpp:
1594         (JSC::Bindings::QtInstance::getQtInstance):
1595         (JSC::Bindings::QtInstance::removeCachedMethod):
1596         (JSC::Bindings::QtInstance::markAggregate):
1597         (JSC::Bindings::QtInstance::getPropertyNames):
1598
1599 2010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>
1600
1601         Reviewed by Pavel Feldman.
1602
1603         WebInspector: migrate InspectorDOMAgent to the generated version of
1604         InspectorFrontend interface. This is the next step on the way to
1605         Remote Debugging.
1606
1607         * bindings/js/ScriptEventListener.cpp:
1608         (WebCore::eventListenerHandlerBody):
1609         (WebCore::eventListenerHandlerLocation):
1610         * bindings/js/ScriptEventListener.h:
1611         * bindings/v8/ScriptEventListener.cpp:
1612         (WebCore::eventListenerHandlerBody):
1613         (WebCore::eventListenerHandlerLocation):
1614         * bindings/v8/ScriptEventListener.h:
1615         * inspector/CodeGeneratorInspector.pm:
1616         * inspector/InspectorCSSStore.cpp:
1617         (WebCore::InspectorCSSStore::inspectorStyleSheet):
1618         * inspector/InspectorController.cpp:
1619         (WebCore::InspectorController::connectFrontend):
1620         * inspector/InspectorController.h:
1621         (WebCore::InspectorController::inspectorFrontend2):
1622         * inspector/InspectorDOMAgent.cpp:
1623         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1624         (WebCore::InspectorDOMAgent::setDocument):
1625         (WebCore::InspectorDOMAgent::handleEvent):
1626         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1627         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1628         (WebCore::InspectorDOMAgent::buildObjectForNode):
1629         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1630         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1631         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1632         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1633         (WebCore::InspectorDOMAgent::getStyles):
1634         (WebCore::InspectorDOMAgent::getAllStyles):
1635         (WebCore::InspectorDOMAgent::getStyleSheet):
1636         (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
1637         (WebCore::InspectorDOMAgent::getInlineStyle):
1638         (WebCore::InspectorDOMAgent::getComputedStyle):
1639         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
1640         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
1641         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
1642         (WebCore::InspectorDOMAgent::applyStyleText):
1643         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
1644         (WebCore::InspectorDOMAgent::setRuleSelector):
1645         (WebCore::InspectorDOMAgent::addRule):
1646         (WebCore::InspectorDOMAgent::buildObjectForStyle):
1647         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
1648         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
1649         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
1650         (WebCore::InspectorDOMAgent::buildObjectForRule):
1651         (WebCore::InspectorDOMAgent::toArray):
1652         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
1653         * inspector/InspectorDOMAgent.h:
1654         (WebCore::InspectorDOMAgent::create):
1655         * inspector/InspectorFrontend.cpp:
1656         * inspector/InspectorFrontend.h:
1657         * inspector/InspectorFrontend2.idl:
1658         * inspector/front-end/inspector.js:
1659         (WebInspector.dispatchMessageFromBackend):
1660
1661 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
1662
1663         Reviewed by Darin Adler.
1664
1665         compositing/iframes/iframe-resize.html displays incorrectly after the resize
1666         https://bugs.webkit.org/show_bug.cgi?id=41794
1667         
1668         The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
1669         from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
1670         layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
1671         call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).
1672
1673         * rendering/RenderLayerBacking.cpp:
1674         (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
1675         and scroll layers of the iframe's content RenderLayerCompositor.
1676         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
1677         * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
1678         * rendering/RenderWidget.cpp:
1679         (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().
1680
1681 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
1682
1683         Reviewed by Dan Bernstein.
1684
1685         Calling layoutTestController.layerTreeAsText() should update layout
1686         https://bugs.webkit.org/show_bug.cgi?id=41818
1687
1688         Call updateLayout() on the document before obtaining the layer tree.
1689         This will update compositing layers.
1690         
1691         * page/Frame.cpp:
1692         (WebCore::Frame::layerTreeAsText):
1693
1694 2010-07-08  Adam Barth  <abarth@webkit.org>
1695
1696         Reviewed by Eric Seidel.
1697
1698         Get my head wrapped around processCharacter
1699         https://bugs.webkit.org/show_bug.cgi?id=41812
1700
1701         The bulk of the patch is just stubbing out functions to document what
1702         the spec tells us to do.  I'll implement these functions in subsequent
1703         patches.
1704
1705         * html/HTMLConstructionSite.h:
1706         (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
1707         (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
1708         * html/HTMLTreeBuilder.cpp:
1709         (WebCore::HTMLTreeBuilder::processCharacter):
1710         * html/HTMLTreeBuilder.h:
1711         (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):
1712
1713 2010-07-08  Tony Chang  <tony@chromium.org>
1714
1715         Reviewed by Ojan Vafai.
1716
1717         WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
1718         https://bugs.webkit.org/show_bug.cgi?id=30116
1719         Fixing the crash causes text insertions on hidden elements to get ignored
1720         (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342
1721
1722         Test: editing/inserting/return-key-in-hidden-textarea.html
1723
1724         * editing/InsertLineBreakCommand.cpp:
1725         (WebCore::InsertLineBreakCommand::doApply):
1726         * editing/InsertParagraphSeparatorCommand.cpp:
1727         (WebCore::InsertParagraphSeparatorCommand::doApply):
1728
1729 2010-07-08  Sam Weinig  <sam@webkit.org>
1730
1731         Reviewed by Oliver Hunt.
1732
1733         Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
1734         TimeRanges should expose a JS constructor
1735
1736         * html/TimeRanges.idl: Remove [OmitConstructor].
1737         * page/DOMWindow.idl: Add constructor.
1738
1739 2010-07-08  Erik Arvidsson  <arv@chromium.org>
1740
1741         Reviewed by Ojan Vafai.
1742
1743         Add missing padding-end and margin-end CSS properties.
1744         https://bugs.webkit.org/show_bug.cgi?id=25761
1745
1746         Tests: fast/css/margin-start-end.html
1747                fast/css/padding-start-end.html
1748
1749         * css/CSSComputedStyleDeclaration.cpp:
1750         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1751         * css/CSSParser.cpp:
1752         (WebCore::CSSParser::parseValue):
1753         * css/CSSPropertyNames.in:
1754         * css/CSSStyleSelector.cpp:
1755         (WebCore::CSSStyleSelector::applyProperty):
1756         * inspector/front-end/SourceCSSTokenizer.js:
1757         (WebInspector.SourceCSSTokenizer):
1758
1759 2010-07-08  Aaron Boodman  <aa@chromium.org>
1760
1761         Reviewed by Timothy Hatcher.
1762
1763         Add the ability for user scripts and user styles to affect just the top frame.
1764
1765         https://bugs.webkit.org/show_bug.cgi?id=41529
1766
1767         Tests: userscripts/user-script-all-frames.html
1768                userscripts/user-script-top-frame-only.html
1769                userscripts/user-style-all-frames.html
1770                userscripts/user-style-top-frame-only.html
1771
1772         * WebCore.base.exp: Update PageGroup method signatures.
1773         * dom/Document.cpp:
1774         (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
1775         * page/Frame.cpp:
1776         (WebCore::Frame::injectUserScriptsForWorld): Ditto.
1777         * page/PageGroup.cpp:
1778         (WebCore::PageGroup::addUserScriptToWorld):
1779         (WebCore::PageGroup::addUserStyleSheetToWorld):
1780         * page/PageGroup.h:
1781         * page/UserScript.h:
1782         (WebCore::UserScript::UserScript):
1783         (WebCore::UserScript::injectedFrames):
1784         * page/UserScriptTypes.h:
1785         (WebCore::):
1786         * page/UserStyleSheet.h:
1787         (WebCore::UserStyleSheet::UserStyleSheet):
1788         (WebCore::UserStyleSheet::injectedFrames):
1789
1790 2010-07-08  Adele Peterson  <adele@apple.com>
1791
1792         Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
1793
1794         Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
1795         <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
1796
1797         Test: plugins/clicking-missing-plugin-fires-delegate.html
1798
1799         * html/HTMLPlugInElement.cpp:
1800         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
1801         (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
1802         (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
1803         * html/HTMLPlugInElement.h:
1804         (WebCore::HTMLPlugInElement::isCapturingMouseEvents):
1805         (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
1806         * page/ChromeClient.h:
1807         (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
1808         * rendering/RenderEmbeddedObject.cpp:
1809         (WebCore::replacementTextRoundedRectPressedColor):
1810         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1811         (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added.  Causes a repaint when the state changes.
1812         (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
1813         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
1814         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
1815         (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
1816         * rendering/RenderEmbeddedObject.h:
1817
1818 2010-07-08  James Robinson  <jamesr@google.com>
1819
1820         Reviewed by Darin Fisher.
1821
1822         Allow resizing and getting the texture id from an offscreen GLES2Context
1823         https://bugs.webkit.org/show_bug.cgi?id=41828
1824
1825         When using an offscreen GLES2Context the caller needs to be able to resize the backing store
1826         managed by the embedder and get access to a texture id to pass to the compositor.  WebGL
1827         does these actions in an indirect way, it will be refactored to use this path.
1828
1829         * platform/chromium/GLES2Context.h:
1830
1831 2010-07-02  Ojan Vafai  <ojan@chromium.org>
1832
1833         Reviewed by Adam Barth.
1834
1835         Crash in RenderObject::containingBlock when clearing selection in a display:none node.
1836         https://bugs.webkit.org/show_bug.cgi?id=41523
1837
1838         updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
1839         m_selectionStart and m_selectionEnd in RenderView point to garbage object.
1840         This fixes the crash because updateStyleIfNeeded clears the selection before
1841         clobbering nodes that contain the selection.
1842
1843         Test: editing/selection/crash-on-clear-selection.html
1844
1845         * editing/SelectionController.cpp:
1846         (WebCore::SelectionController::updateAppearance):
1847
1848 2010-07-08  Brent Fulgham  <bfulgham@webkit.org>
1849
1850         Reviewed by Xan Lopez.
1851
1852         Correct a mistake in calculating squiggle extents.  The entire
1853         quantity was being divided by two, rather than just the unitWidth.
1854         This error caused the squiggle to be about half the expected length.
1855
1856         * platform/graphics/cairo/DrawErrorUnderline.h:
1857         (drawErrorUnderline):
1858
1859 2010-07-08  John Abd-El-Malek  <jam@chromium.org>
1860
1861         Reviewed by Darin Fisher.
1862
1863         [V8] Navigation policy doesn't play nicely with pepper plugins
1864         https://bugs.webkit.org/show_bug.cgi?id=41864
1865
1866         * bindings/v8/V8Utilities.cpp:
1867         (WebCore::callingOrEnteredFrame):
1868         (WebCore::shouldAllowNavigation):
1869         (WebCore::navigateIfAllowed):
1870
1871 2010-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
1872
1873         Missing plug-ins may cause an assertion failure.
1874         https://bugs.webkit.org/show_bug.cgi?id=41900
1875
1876         Reviewed by Adele Peterson.
1877
1878         Test: plugins/missing-plugin.html
1879
1880         * plugins/PluginView.cpp:
1881         (WebCore::PluginView::~PluginView):
1882         Check whether m_instance is null before trying to remove it from the
1883         map. Trying to remove a null instance results in an assertion failure.
1884         (WebCore::PluginView::PluginView):
1885         Initialize m_instance to 0, because there is an early return that may
1886         skip its being assigned its proper value.
1887
1888 2010-07-08  Darin Adler  <darin@apple.com>
1889
1890         Reviewed by Oliver Hunt.
1891
1892         Fix a test failure seen only on the Leopard bot.
1893
1894         * bindings/js/JSSharedWorkerCustom.cpp:
1895         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
1896         If SharedWorker::create returns an exception, don't try to create a wrapper
1897         for its return value, which can be 0.
1898
1899 2010-07-08  Albert J. Wong  <ajwong@chromium.org>
1900
1901         Not reviewed, build break fix for chromium.
1902
1903         A new MediaControlElementType enum was added which caused a warning in
1904         the Chromium build.
1905
1906         * rendering/RenderMediaControlsChromium.cpp:
1907         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
1908             Add MediaVolumeSliderMuteButton enumartion entry.
1909
1910 2010-07-08  Dmitry Titov  <dimich@chromium.org>
1911
1912         Reviewed by David Levin.
1913
1914         Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
1915         https://bugs.webkit.org/show_bug.cgi?id=41878
1916
1917         This is practically a rollback of http://trac.webkit.org/changeset/50477.
1918
1919         * page/Chrome.cpp:
1920         * page/Chrome.h:
1921         * page/ChromeClient.h:
1922         * page/Navigator.cpp:
1923         * page/Navigator.h:
1924         * page/Navigator.idl:
1925
1926 2010-07-08  Xan Lopez  <xlopez@igalia.com>
1927
1928         Reviewed by Darin Adler.
1929
1930         Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
1931         https://bugs.webkit.org/show_bug.cgi?id=41823
1932
1933         Create the ResourceHandle manually for now instead of calling
1934         ::create, since that methods does a few extra checks that make us
1935         fail a couple of HTTP tests.
1936
1937         * platform/network/soup/ResourceHandleSoup.cpp:
1938         (WebCore::):
1939
1940 2010-07-08  Alexey Proskuryakov  <ap@apple.com>
1941
1942         Reviewed by David Levin.
1943
1944         https://bugs.webkit.org/show_bug.cgi?id=41886
1945         Shorten access control failure explanation messages
1946
1947         * loader/CrossOriginAccessControl.cpp:
1948         (WebCore::passesAccessControlCheck):
1949         * loader/CrossOriginPreflightResultCache.cpp:
1950         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
1951         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
1952         Removed "response header field" parts from error text - it's long, but doesn't add much
1953         to header field name.
1954
1955         * platform/network/ResourceErrorBase.cpp:
1956         * platform/network/ResourceErrorBase.h:
1957         * xml/XMLHttpRequest.cpp:
1958         (WebCore::XMLHttpRequest::didFail):
1959         * loader/DocumentThreadableLoader.cpp:
1960         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1961         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1962         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1963         (WebCore::DocumentThreadableLoader::preflightFailure):
1964         Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
1965         clients, because it can't create a platform error, and cannot load a localized string.
1966         We don't treat cross origin access check failures as true loading failures, so we don't tell
1967         clients about these.
1968
1969 2010-07-08  Eric Carlson  <eric.carlson@apple.com>
1970
1971         Reviewed by Dan Bernstein.
1972
1973         Mac OS X media controls should have a way to adjust volume incrementally
1974         https://bugs.webkit.org/show_bug.cgi?id=41718
1975         <rdar://problem/5679472>
1976
1977         * css/CSSPrimitiveValueMappings.h:
1978         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.
1979
1980         * css/CSSSelector.cpp: 
1981         (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
1982         (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
1983         (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.
1984
1985         * css/CSSSelector.h:
1986         (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.
1987
1988         * css/CSSValueKeywords.in: Define media-volume-slider-mute-button.
1989
1990         * css/mediaControls.css: 
1991         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.
1992
1993         * css/mediaControlsQuickTime.css:
1994         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" 
1995         so volume slider pop-up will be visible.
1996
1997         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make 
1998         mute button 14x12 instead of 15x14 so it matches the size in the volume slider.
1999
2000         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2001         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2002         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 
2003         New.
2004
2005         * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.
2006
2007         * rendering/MediaControlElements.cpp:
2008         (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
2009         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation 
2010         parameter both mute buttons can be created.
2011         (WebCore::MediaControlMuteButtonElement::create): Ditto.
2012
2013         * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.
2014
2015         * rendering/RenderMedia.cpp: 
2016         (WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
2017         (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
2018         (WebCore::RenderMedia::createVolumeSliderMuteButton): New.
2019         (WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
2020         (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
2021         the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
2022         (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
2023         * rendering/RenderMedia.h:
2024
2025         * rendering/RenderTheme.cpp: 
2026         (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
2027         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
2028         coded in RenderMedia::updateVolumeSliderContainer.
2029         * rendering/RenderTheme.h:
2030
2031         * rendering/RenderThemeMac.h:
2032         * rendering/RenderThemeMac.mm:
2033         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
2034         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function 
2035         for this button.
2036         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
2037         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
2038         (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
2039         using the new controller UI for a movie that has audio.
2040         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider 
2041         directly above the mute button.
2042
2043         * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
2044
2045 2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
2046
2047         Unreviewed complementary fix for r62815
2048
2049         One last time change made me blind to a "!" in a if statment.
2050
2051         * editing/EditorCommand.cpp:
2052         (WebCore::executeToggleStyle):
2053
2054 2010-07-07  Ojan Vafai  <ojan@chromium.org>
2055
2056         Reviewed by Darin Adler.
2057
2058         Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
2059         https://bugs.webkit.org/show_bug.cgi?id=32605
2060
2061         Only have selections be non-directional when they are set via the mouse.
2062         Otherwise, all selections are directional.
2063
2064         Test: editing/selection/extend-forward-after-set-base-and-extent.html
2065
2066         * WebCore.base.exp:
2067         * editing/SelectionController.cpp:
2068         (WebCore::SelectionController::setSelection):
2069         * editing/SelectionController.h:
2070         (WebCore::SelectionController::setSelection):
2071         * page/EventHandler.cpp:
2072         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
2073         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
2074         (WebCore::EventHandler::handleMousePressEventTripleClick):
2075         (WebCore::EventHandler::handleMousePressEventSingleClick):
2076         (WebCore::EventHandler::updateSelectionForMouseDrag):
2077
2078 2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
2079
2080         Reviewed by Ojan Vafai.
2081
2082         Refactor platform dependent editing behavior code out of Settings (part II)
2083         https://bugs.webkit.org/show_bug.cgi?id=39854
2084
2085         Mac port is currently the only port relying on a style to be present on the start
2086         of a selection to consider the style as applied or not. All other ports
2087         have to have the style present in all text node of the selection for such.
2088
2089         Patch makes situations that depend on this check like this to be controlled by
2090         the EditingBehavior class.
2091
2092         Refactoring, so no new tests needed.
2093
2094         * editing/EditingBehavior.h:
2095         (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
2096         * editing/EditorCommand.cpp:
2097         (WebCore::executeToggleStyle):
2098
2099 2010-07-08  Anders Carlsson  <andersca@apple.com>
2100
2101         Reviewed by Sam Weinig.
2102
2103         Add stubbed out PluginView class
2104         https://bugs.webkit.org/show_bug.cgi?id=41879
2105
2106         Export functions needed by WebKit2.
2107
2108         * WebCore.exp.in:
2109
2110 2010-07-08  Ben Murdoch  <benm@google.com>
2111
2112         Reviewed by Pavel Feldman.
2113
2114         Fix build break in V8ConsoleCustom.cpp
2115         https://bugs.webkit.org/show_bug.cgi?id=40825
2116
2117         No new tests as just fixing a build break.
2118
2119         * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
2120             appropriately.
2121
2122 2010-07-08  Sam Weinig  <sam@webkit.org>
2123
2124         Reviewed by Anders Carlsson.
2125
2126         Pass Page to BackForwardControllerClient::createBackForwardList since it
2127         may be called before implementations of BackForwardControllerClient have
2128         access to a Page.
2129
2130         * history/BackForwardController.cpp:
2131         (WebCore::BackForwardController::BackForwardController):
2132         * history/BackForwardControllerClient.h:
2133
2134 2010-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2135
2136         Unreviewed, rolling out r62778.
2137         http://trac.webkit.org/changeset/62778
2138         https://bugs.webkit.org/show_bug.cgi?id=41866
2139
2140         Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
2141         by pfeldman on #webkit).
2142
2143         * platform/graphics/chromium/FontLinux.cpp:
2144         (WebCore::TextRunWalker::TextRunWalker):
2145         (WebCore::TextRunWalker::~TextRunWalker):
2146
2147 2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
2148
2149         Reviewed by Pavel Feldman.
2150
2151         Fix adoptRef usage violation in IDBObjectStoreRequest
2152         https://bugs.webkit.org/show_bug.cgi?id=41869
2153
2154         * storage/IDBObjectStoreRequest.cpp:
2155         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
2156
2157 2010-07-08  Sam Weinig  <sam@webkit.org>
2158
2159         Another chromium build fix.
2160
2161         * history/BackForwardListChromium.cpp:
2162         (WebCore::BackForwardListImpl::goBack):
2163         (WebCore::BackForwardListImpl::goForward):
2164         (WebCore::BackForwardListImpl::backListWithLimit):
2165         (WebCore::BackForwardListImpl::forwardListWithLimit):
2166         (WebCore::BackForwardListImpl::containsItem):
2167         (WebCore::BackForwardListImpl::removeItem):
2168
2169 2010-07-08  Sam Weinig  <sam@webkit.org>
2170
2171         Fix Chromium build.
2172
2173         * WebCore.gyp/WebCore.gyp:
2174
2175 2010-07-08  Sam Weinig  <sam@webkit.org>
2176
2177         Reviewed by Anders Carlsson.
2178
2179         Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
2180         Convert BackForwardList to an abstract base class and add BackForwardListImpl
2181         as the concrete implementation of it.
2182
2183         * CMakeLists.txt:
2184         * GNUmakefile.am:
2185         * WebCore.exp.in:
2186         * WebCore.gypi:
2187         * WebCore.pro:
2188         * WebCore.vcproj/WebCore.vcproj:
2189         * WebCore.xcodeproj/project.pbxproj:
2190         * history/BackForwardController.cpp:
2191         (WebCore::BackForwardController::BackForwardController):
2192         * history/BackForwardController.h:
2193         * history/BackForwardList.cpp: Removed.
2194         * history/BackForwardList.h:
2195         (WebCore::BackForwardList::~BackForwardList):
2196         (WebCore::BackForwardList::isBackForwardListImpl):
2197         (WebCore::BackForwardList::BackForwardList):
2198         * history/BackForwardListChromium.cpp:
2199         * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
2200         * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
2201         (WebCore::BackForwardListImpl::isBackForwardListImpl):
2202
2203 2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
2204
2205         Reviewed by Pavel Feldman.
2206
2207         Fix adoptRef usage violations (mostly in chromium)
2208         https://bugs.webkit.org/show_bug.cgi?id=41863
2209
2210         * bindings/v8/V8DOMWrapper.cpp:
2211         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
2212         * bindings/v8/V8NodeFilterCondition.h:
2213         (WebCore::V8NodeFilterCondition::create):
2214         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2215         (WebCore::getNamedItems):
2216         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2217         (WebCore::getNamedItems):
2218         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2219         (WebCore::V8HTMLFormElement::namedPropertyGetter):
2220         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2221         (WebCore::V8HTMLSelectElement::namedPropertyGetter):
2222         * bindings/v8/custom/V8NamedNodesCollection.h:
2223         (WebCore::V8NamedNodesCollection::create):
2224         (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
2225         * storage/IDBDatabaseRequest.cpp:
2226         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
2227         * storage/IndexedDatabaseRequest.cpp:
2228         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
2229
2230 2010-07-08  Xan Lopez  <xlopez@igalia.com>
2231
2232         Reviewed by Gustavo Noronha.
2233
2234         Silence a few noisy build rules.
2235
2236         * GNUmakefile.am:
2237
2238 2010-07-08  Andreas Kling  <andreas.kling@nokia.com>
2239
2240         Reviewed by Simon Hausmann.
2241
2242         [Qt] Canvas putImageData() resets painter state
2243         https://bugs.webkit.org/show_bug.cgi?id=41827
2244
2245         Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=
2246
2247         Test: fast/canvas/canvas-state-intact-after-putImageData.html
2248
2249         * platform/graphics/qt/ImageBufferQt.cpp:
2250         (WebCore::putImageData):
2251
2252 2010-07-08  Andrey Kosyakov  <caseq@chromium.org>
2253
2254         Reviewed by Pavel Feldman.
2255
2256         Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
2257         into an input field.
2258         https://bugs.webkit.org/show_bug.cgi?id=41760
2259
2260         * inspector/front-end/inspector.js:
2261         (WebInspector.documentKeyDown):
2262
2263 2010-07-08  Patrick Gansterer  <paroga@paroga.com>
2264
2265         Reviewed by Kent Tamura.
2266
2267         [WINCE] Buildfix for EventHandler
2268         https://bugs.webkit.org/show_bug.cgi?id=41829
2269
2270         SM_MENUDROPALIGNMENT isn't supported on WinCE.
2271
2272         * page/EventHandler.cpp:
2273         (WebCore::EventHandler::sendContextMenuEventForKey):
2274
2275 2010-07-08  Xiaomei Ji  <xji@chromium.org>
2276
2277         Reviewed by David Levin.
2278
2279         Fix characters with unicode-bidi-mirror property are not correctly
2280         mirrored in Linux.
2281         https://bugs.webkit.org/show_bug.cgi?id=41305
2282
2283         Since harfbuzz does not do mirroring, chromium should iterate each
2284         character in the string and mirror it if needed before passing the
2285         string to harfbuzz for shaping.
2286
2287         Test: fast/text/international/bidi-mirror-he-ar.html
2288
2289         * platform/graphics/chromium/FontLinux.cpp:
2290         (WebCore::TextRunWalker::TextRunWalker):
2291         (WebCore::TextRunWalker::~TextRunWalker):
2292
2293 2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2294
2295         Reviewed by Rob Buis & Dirk Schulze.
2296
2297         SVG text transformed incorrectly when a transform and gradient applied
2298         https://bugs.webkit.org/show_bug.cgi?id=41563
2299
2300         When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
2301         renders the text into the image, and then clips the current context against that image buffer,
2302         and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
2303         try to compute the right transformation matrix (which failed), but extract it directly from the
2304         GraphicsContext and apply this transformation to the mask image context.
2305
2306         Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
2307         Only affects CoreGraphics platforms.
2308
2309         Test: svg/custom/text-rotated-gradient.svg
2310
2311         * rendering/RenderSVGResourceGradient.cpp:
2312         (WebCore::absoluteTransformFromContext):
2313         (WebCore::createMaskAndSwapContextForTextGradient):
2314         (WebCore::clipToTextMask):
2315
2316 2010-07-07  Alexander Pavlov  <apavlov@chromium.org>
2317
2318         Reviewed by Darin Fisher.
2319
2320         [Chromium] Crash when re-entering message loop
2321         https://bugs.webkit.org/show_bug.cgi?id=41697
2322
2323         A Chromium-specific test case will be submitted into Chromium shortly.
2324
2325         * page/PageGroupLoadDeferrer.cpp:
2326         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2327         * page/PageGroupLoadDeferrer.h:
2328         (WebCore::PageGroupLoadDeferrer::nextDeferrer):
2329
2330 2010-07-07  Yury Semikhatsky  <yurys@chromium.org>
2331
2332         Reviewed by Pavel Feldman.
2333
2334         Web Inspector: skip breakpoints when script is already paused
2335         https://bugs.webkit.org/show_bug.cgi?id=41768
2336
2337         Test: inspector/debugger-no-nested-pause.html
2338
2339         * bindings/v8/ScriptDebugServer.cpp:
2340         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2341
2342 2010-07-08  Eric Seidel  <eric@webkit.org>
2343
2344         Reviewed by Adam Barth.
2345
2346         WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
2347         https://bugs.webkit.org/show_bug.cgi?id=41807
2348
2349         Wow.  This was an awful bug.  We were always taking the slow case
2350         every time we parsed a URL.  This is about a 10% speedup on our
2351         parsing benchmark, and might cause as much as a 1% speedup for Apple's
2352         PLT (even though I can't run that).
2353
2354         We still spend a lot of time in deprecatedParseURL.  We might consider
2355         inlining it if its being kept around much longer.
2356
2357         No behavioral change, just fixing a broken optimization.
2358
2359         * css/CSSHelper.cpp:
2360         (WebCore::deprecatedParseURL):
2361          - We only need to strip characters <= '\r', not >.
2362
2363 2010-07-08  Yury Semikhatsky  <yurys@chromium.org>
2364
2365         Reviewed by Pavel Feldman.
2366
2367         Web Inspector: factor out common part of debugger tests
2368         https://bugs.webkit.org/show_bug.cgi?id=41836
2369
2370         * bindings/js/ScriptDebugServer.cpp:
2371         (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.
2372
2373 2010-07-08  Patrick Gansterer  <paroga@paroga.com>
2374
2375         Reviewed by Kent Tamura.
2376
2377         Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
2378         https://bugs.webkit.org/show_bug.cgi?id=41803
2379
2380         * svg/SVGDocumentExtensions.cpp:
2381         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
2382
2383 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
2384
2385         Reviewed by Nate Chapin.
2386
2387         [V8] Fix document wrapper memory leak in bindings.
2388         https://bugs.webkit.org/show_bug.cgi?id=41771
2389
2390         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2391         (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
2392         to shadowConstructor because it keeps the first context alive forever.
2393
2394 2010-07-07  Andreas Kling  <andreas.kling@nokia.com>
2395
2396         Reviewed by Tor Arne Vestbø.
2397
2398         [Qt] Enable smooth pixmap transforms by default
2399         https://bugs.webkit.org/show_bug.cgi?id=41774
2400
2401         * platform/graphics/qt/GraphicsContextQt.cpp:
2402         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2403         (WebCore::GraphicsContext::setImageInterpolationQuality):
2404
2405 2010-07-07  Jesus Sanchez-Palencia  <jesus@webkit.org>
2406
2407         Reviewed by Antti Koivisto.
2408
2409         [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
2410         https://bugs.webkit.org/show_bug.cgi?id=41767
2411
2412         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include
2413
2414 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
2415
2416         Reviewed by Yury Semikhatsky.
2417
2418         Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
2419         https://bugs.webkit.org/show_bug.cgi?id=41755
2420
2421         * bindings/v8/ScriptDebugServer.cpp:
2422         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2423
2424 2010-07-07  Nicolas Weber  <thakis@chromium.org>
2425
2426         Reviewed by Dimitri Glazkov.
2427         https://bugs.webkit.org/show_bug.cgi?id=41580
2428
2429         Fix rendering of radial gradients in skia if both points of the
2430         gradient are the same and r0 > 0.
2431
2432         Test: fast/gradients/radial-centered.html
2433
2434         * platform/graphics/skia/GradientSkia.cpp:
2435         (WebCore::Gradient::platformGradient):
2436
2437 2010-06-18  MORITA Hajime  <morrita@google.com>
2438
2439         Reviewed by Ojan Vafai.
2440
2441         https://bugs.webkit.org/show_bug.cgi?id=26526
2442         Add support for input events (oninput) to contentEditable elements
2443         
2444         Made a default event handler on the Node to dispatch an input event when
2445         webkitEditableContentChanged arrived.
2446         
2447         Test: fast/events/event-input-contentEditable.html
2448
2449         * dom/Node.cpp:
2450         (WebCore::Node::defaultEventHandler):
2451
2452 2010-07-07  Darin Adler  <darin@apple.com>
2453
2454         Reviewed by Anders Carlsson.
2455
2456         Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
2457         https://bugs.webkit.org/show_bug.cgi?id=41823
2458
2459         * platform/network/android/ResourceHandleAndroid.cpp:
2460         (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
2461         of allocating an object on the stack.
2462         * platform/network/curl/ResourceHandleCurl.cpp:
2463         (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
2464         * platform/network/qt/ResourceHandleQt.cpp:
2465         (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
2466
2467         * platform/network/soup/ResourceHandleSoup.cpp:
2468         (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
2469         allocating an object on the stack.
2470
2471 2010-07-07  Joseph Pecoraro  <joepeck@webkit.org>
2472
2473         Rubber-stamped by Pavel Feldman.
2474
2475         Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
2476         https://bugs.webkit.org/show_bug.cgi?id=41759
2477
2478         * inspector/CodeGeneratorInspector.pm:
2479
2480 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
2481
2482         Reviewed by Darin Adler.
2483
2484         AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
2485         https://bugs.webkit.org/show_bug.cgi?id=41810
2486
2487         Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html
2488
2489         * accessibility/mac/AccessibilityObjectWrapper.mm:
2490         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2491
2492 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
2493
2494         Reviewed by Beth Dakin.
2495
2496         AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
2497         https://bugs.webkit.org/show_bug.cgi?id=41806
2498
2499         Test: platform/mac/accessibility/table-with-row-col-of-headers.html
2500
2501         * accessibility/AccessibilityTable.cpp:
2502         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2503
2504 2010-07-07  Mark Rowe  <mrowe@apple.com>
2505
2506         Fix the build.
2507
2508         Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
2509         when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.
2510
2511         * WebCore.xcodeproj/project.pbxproj:
2512
2513 2010-07-07  Mark Rowe  <mrowe@apple.com>
2514
2515         Fix the MathML build.
2516
2517         * html/HTMLTreeBuilder.cpp:
2518         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.
2519
2520 2010-07-07  James Hawkins  <jhawkins@chromium.org>
2521
2522         Reviewed by Dimitri Glazkov.
2523
2524         Move setSuggestedValue() and suggestedValue() back to public as it's
2525         now used by WebInputElement.
2526         https://bugs.webkit.org/show_bug.cgi?id=41785
2527
2528         No new tests, as the method is only being used by Chromium's WebKit
2529         API.
2530
2531         * html/HTMLInputElement.h:
2532
2533 2010-07-07  Mark Rowe  <mrowe@apple.com>
2534
2535         Rubber-stamped by Sam Weinig.
2536
2537         Clean up the project file slightly.
2538
2539         Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.
2540
2541         * WebCore.xcodeproj/project.pbxproj:
2542
2543 2010-07-07  James Robinson  <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>
2544
2545         Reviewed by Dimitri Glazkov.
2546
2547         WebCore::GLES2Context should allow creating onscreen and offscreen contexts
2548         https://bugs.webkit.org/show_bug.cgi?id=41492
2549
2550         You should be able to create a GLES2Context for rendering both on screen
2551         and off screen (to a texture).  Chromium's layer renderer (used for compositing)
2552         does the former.  Currently WebGL does the latter by side stepping the
2553         WebCore::GLES2Context API completely.  Longer term it should move over to using this.
2554
2555         * platform/chromium/GLES2Context.h:
2556         * platform/graphics/chromium/LayerRendererChromium.cpp:
2557         (WebCore::LayerRendererChromium::initGL):
2558
2559 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
2560
2561         Reviewed by Dan Bernstein.
2562
2563         Document::ownerElement() should return an HTMLFrameOwnerElement
2564         https://bugs.webkit.org/show_bug.cgi?id=41789
2565
2566         Change return type of RenderLayerCompositor::enclosingIFrameElement() to
2567         HTMLFrameOwnerElement*. No behavioral changes.
2568
2569         * rendering/RenderLayerCompositor.cpp:
2570         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
2571         (WebCore::RenderLayerCompositor::enclosingIFrameElement):
2572         * rendering/RenderLayerCompositor.h:
2573
2574 2010-07-07  Adam Barth  <abarth@webkit.org>
2575
2576         Reviewed by Sam Weinig.
2577
2578         Add reverseFind to Vector and deploy in HTML5 parser
2579         https://bugs.webkit.org/show_bug.cgi?id=41778
2580
2581         This patch moves reverseFind from begin an
2582         HTMLFormattingElementList-specific concept to begin a general Vector
2583         concept.  Also, instead of using Entry as the type for operator==, we
2584         now use elements directly.  The old code compiled because the Entry
2585         constructor wasn't explicit, which means we were churning refs on every
2586         comparison!
2587
2588         * html/HTMLFormattingElementList.cpp:
2589         (WebCore::HTMLFormattingElementList::find):
2590         (WebCore::HTMLFormattingElementList::bookmarkFor):
2591         (WebCore::HTMLFormattingElementList::insertAt):
2592         (WebCore::HTMLFormattingElementList::remove):
2593         * html/HTMLFormattingElementList.h:
2594         (WebCore::HTMLFormattingElementList::Entry::operator==):
2595         (WebCore::HTMLFormattingElementList::Entry::operator!=):
2596
2597 2010-07-07  Darin Adler  <darin@apple.com>
2598
2599         Reviewed by Adam Barth.
2600
2601         Turn on adoptRef assertion for RefCounted
2602         https://bugs.webkit.org/show_bug.cgi?id=41547
2603
2604         The WebCore part of this fixes all the assertions I saw in testing.
2605
2606         * html/FileReader.cpp:
2607         (WebCore::FileReader::readAsBinaryString): Added null checks.
2608         Callers from JavaScript can pass the wrong type, which becomes null.
2609         (WebCore::FileReader::readAsText): Ditto.
2610         (WebCore::FileReader::readAsDataURL): Ditto.
2611
2612         * html/FileStreamClient.h: Removed unneeded include.
2613
2614         * html/FileStreamProxy.cpp:
2615         (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
2616         some of the code, including the ref, into the create function.
2617         (WebCore::FileStreamProxy::create): Moved some of the code from
2618         the constructor here. It's safe to ref once the object has been
2619         created and adopted.
2620
2621         * html/FileStreamProxy.h: Changed create function to no longer be
2622         inlined. Also removed an unneeded include.
2623
2624         * page/EventSource.cpp:
2625         (WebCore::EventSource::EventSource): Made inline, changed arguments
2626         and moved code that involves the need to ref this object into the
2627         create function. Also moved failure handling out there since it's
2628         cleaner to have a function that fails than a constructor. For
2629         example, the function can return 0.
2630         (WebCore::EventSource::create): Moved some of the code from the
2631         constructor here.
2632
2633         * page/EventSource.h: Removed unneeded includes. Made the
2634         creation function non-inline. Changed the arguments to the constructor.
2635
2636         * storage/StorageAreaSync.cpp:
2637         (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
2638         code that requires ref'ing this object out to the create function.
2639         (WebCore::StorageAreaSync::create): Moved some of the code from the
2640         constructor here.
2641
2642         * storage/StorageAreaSync.h: Removed unneeded includes. Changed
2643         the type of one of the constructor arguments from String to
2644         const String&.
2645
2646         * workers/SharedWorker.cpp:
2647         (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
2648         the setup code out of here into the create function.
2649         (WebCore::SharedWorker::create): Moved the code here.
2650
2651         * workers/SharedWorker.h: Removed unneeded includes. Made the
2652         create function non-inline. Marked the toSharedWorker override private
2653         to catch people doing an unnecessary virtual function call if they
2654         already have a SharedWorker*.
2655
2656         * workers/Worker.cpp:
2657         (WebCore::Worker::Worker): Made inline. Moved most of the setup code
2658         out of here into the create function.
2659         (WebCore::Worker::create): Moved the code here.
2660
2661         * workers/Worker.h: Made the create function non-inline. Changed
2662         the arguments to the constructor.
2663
2664 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
2665
2666         Reviewed by Beth Dakin.
2667
2668         AX: when a node's role changes, the AX tree might need to be updated
2669         https://bugs.webkit.org/show_bug.cgi?id=41784
2670
2671         Test: platform/mac/accessibility/update-children-when-aria-role-changes.html
2672
2673         * accessibility/AccessibilityRenderObject.cpp:
2674         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
2675         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
2676
2677 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
2678
2679         Reviewed by Beth Dakin.
2680
2681         AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
2682         https://bugs.webkit.org/show_bug.cgi?id=41780
2683
2684         Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html
2685
2686         * accessibility/AccessibilityRenderObject.cpp:
2687         (WebCore::AccessibilityRenderObject::stringValue):
2688            Fallback to textUnderElement() if text() does not return any explicitly set text.
2689         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 
2690            Remove erroneous check to ignore text elements that didn't have a explicit text value.
2691
2692 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
2693
2694         Reviewed by Darin Adler.
2695
2696         Document::ownerElement() should return an HTMLFrameOwnerElement
2697         https://bugs.webkit.org/show_bug.cgi?id=41789
2698
2699         Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
2700         type checking. No behavioral changes.
2701
2702         * accessibility/mac/AccessibilityObjectWrapper.mm:
2703         * dom/Document.cpp:
2704         (WebCore::Document::ownerElement):
2705         * dom/Document.h:
2706         * editing/SelectionController.cpp:
2707         * rendering/RenderBoxModelObject.cpp:
2708         * rendering/RenderLayer.cpp:
2709         * rendering/RenderView.cpp:
2710
2711 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
2712
2713         Reviewed by Dan Bernstein.
2714
2715         REGRESSION: GMail becomes blank after closing other tabs
2716         https://bugs.webkit.org/show_bug.cgi?id=40421
2717
2718         RenderLayerCompositor's attach/detachRootPlatformLayer methods use
2719         setNeedsStyleRecalc() in order to trigger acclerated compositing layers
2720         to be hooked together across iframe boundaries. However, it was possible
2721         for these to get called while inside of Document::recalcStyle(), which
2722         is bad because it can cause the recalc to fail to get processed.
2723         
2724         Fix this by using the existing queuePostAttachCallback() functionality
2725         to delay the call to setNeedsStyleRecalc() if post-attach callbacks 
2726         are suspended (indicating that we're inside recalcStyle()).
2727         
2728         No new tests because I wasn't able to make a test that shows the problem.
2729
2730         * dom/ContainerNode.h: Make queuePostAttachCallback() public.
2731         * dom/ContainerNode.cpp:
2732         (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
2733         whether s_attachDepth is non-zero.
2734
2735         * rendering/RenderLayerCompositor.cpp:
2736         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
2737         instead of setNeedsStyleRecalc().
2738         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
2739         (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
2740         (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
2741         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
2742         * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().
2743
2744 2010-07-06  Simon Fraser  <simon.fraser@apple.com>
2745
2746         Reviewed by Dan Bernstein.
2747
2748         Incorrect compositing order with negative z-index
2749         https://bugs.webkit.org/show_bug.cgi?id=38959
2750         
2751         When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
2752         (indicating that they are used for the background of elements with negative z-index children),
2753         we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
2754         they appear behind composited negative-z-order descendants.
2755
2756         Test: compositing/z-order/negative-z-index.html
2757
2758         * rendering/RenderLayerBacking.cpp:
2759         (WebCore::RenderLayerBacking::paintIntoLayer):
2760
2761 2010-07-06  Simon Fraser  <simon.fraser@apple.com>
2762
2763         Reviewed by Dan Bernstein.
2764
2765         Incorrect compositing order with negative z-index
2766         https://bugs.webkit.org/show_bug.cgi?id=38959
2767
2768         Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
2769         No behavioral changes.
2770
2771         * rendering/RenderLayerBacking.cpp:
2772         (WebCore::RenderLayerBacking::paintIntoLayer):
2773
2774 2010-07-07  Adam Barth  <abarth@webkit.org>
2775
2776         Unreviewed.
2777
2778         Fix ASSERT in Eric's previous patch.  I think he tested his patch in
2779         Release and not Debug.
2780
2781         * html/HTMLFormattingElementList.h:
2782         (WebCore::HTMLFormattingElementList::Entry::Entry):
2783         (WebCore::HTMLFormattingElementList::findIndex):
2784
2785 2010-07-07  Eric Seidel  <eric@webkit.org>
2786
2787         Reviewed by Adam Barth.
2788
2789         Grease the TreeBuilder's lightning
2790         https://bugs.webkit.org/show_bug.cgi?id=41756
2791
2792         Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
2793         This makes performance comparable to the old parser.
2794
2795         We have not begun to fight!  There is so much fat left on these bones.
2796
2797         * html/HTMLFormattingElementList.cpp:
2798         (WebCore::HTMLFormattingElementList::find):
2799         (WebCore::HTMLFormattingElementList::bookmarkFor):
2800         (WebCore::HTMLFormattingElementList::insertAt):
2801         (WebCore::HTMLFormattingElementList::remove):
2802         * html/HTMLFormattingElementList.h:
2803         (WebCore::HTMLFormattingElementList::findIndex):
2804
2805 2010-07-07  Eric Seidel  <eric@webkit.org>
2806
2807         Reviewed by Adam Barth.
2808
2809         HTMLTreeBuilder is way too slow
2810         https://bugs.webkit.org/show_bug.cgi?id=41754
2811
2812         This takes us from 14s to 7s on our parsing benchmark.
2813         That's still much slower than the old tree builder, but there
2814         is a huge amount of fat left to trim.
2815
2816         Vector<T> wasn't able to inline all the Entry functions when
2817         they were buried in the cpp.  Turns out the active formatting elements
2818         list is very hot.
2819
2820         I'm not sure Vector<T> is going to be the right data structure for us
2821         in the end, but it has done alright for bring-up.
2822
2823         * html/HTMLFormattingElementList.cpp:
2824         * html/HTMLFormattingElementList.h:
2825         (WebCore::HTMLFormattingElementList::Entry::Entry):
2826         (WebCore::HTMLFormattingElementList::Entry::~Entry):
2827         (WebCore::HTMLFormattingElementList::Entry::isMarker):
2828         (WebCore::HTMLFormattingElementList::Entry::element):
2829         (WebCore::HTMLFormattingElementList::Entry::replaceElement):
2830         (WebCore::HTMLFormattingElementList::Entry::operator==):
2831         (WebCore::HTMLFormattingElementList::Entry::operator!=):
2832
2833 2010-07-06  Darin Adler  <darin@apple.com>
2834
2835         Reviewed by Adam Barth.
2836
2837         More OwnPtr work, including making clear set the pointer to 0 before deletion
2838         https://bugs.webkit.org/show_bug.cgi?id=41727
2839
2840         * WebCore.exp.in: Updated.
2841
2842         * css/CSSSelector.h:
2843         (WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
2844         (WebCore::CSSSelector::createRareData): Ditto.
2845         * dom/SpaceSplitString.h:
2846         (WebCore::SpaceSplitString::SpaceSplitString): Ditto.
2847         (WebCore::SpaceSplitString::set): Ditto.
2848         * history/CachedFrame.cpp:
2849         (WebCore::CachedFrame::CachedFrame): Ditto.
2850         (WebCore::CachedFrame::setCachedFramePlatformData): Ditto.
2851
2852         * history/CachedFrame.h: Use PassOwnPtr.
2853
2854         * loader/appcache/ApplicationCacheGroup.cpp:
2855         (WebCore::CallCacheListenerTask::create): Use adoptPtr.
2856         * loader/appcache/ApplicationCacheStorage.cpp:
2857         (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
2858         * platform/PurgeableBuffer.h:
2859         (WebCore::PurgeableBuffer::create): Ditto.
2860         * platform/graphics/GlyphMetricsMap.h:
2861         (WebCore::::locatePageSlowCase): Ditto.
2862         * platform/graphics/GraphicsLayer.h:
2863         (WebCore::AnimationValue::AnimationValue): Ditto.
2864         (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
2865         * platform/graphics/MediaPlayer.h:
2866         (WebCore::MediaPlayer::create): Ditto.
2867         * platform/graphics/SimpleFontData.h:
2868         (WebCore::SimpleFontData::boundsForGlyph): Ditto.
2869         * platform/mac/PurgeableBufferMac.cpp:
2870         (WebCore::PurgeableBuffer::create): Ditto.
2871         * rendering/InlineFlowBox.h:
2872         (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
2873         (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
2874         * rendering/RootInlineBox.h:
2875         (WebCore::RootInlineBox::floats): Ditto.
2876         * rendering/style/RenderStyle.h:
2877         (WebCore::InheritedFlags::inheritAnimations): Ditto.
2878         (WebCore::InheritedFlags::inheritTransitions): Ditto.
2879
2880         * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.
2881
2882 2010-07-07  Sam Weinig  <sam@webkit.org>
2883
2884         Reviewed by Anders Carlsson.
2885
2886         Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
2887         Add basic piping for BackForwardControllerClient.
2888
2889         * WebCore.exp.in:
2890         * WebCore.xcodeproj/project.pbxproj:
2891         * history/BackForwardController.cpp:
2892         (WebCore::BackForwardController::BackForwardController):
2893         * history/BackForwardControllerClient.h:
2894         * page/Page.cpp:
2895         (WebCore::Page::Page):
2896         * page/Page.h:
2897         * svg/graphics/SVGImage.cpp:
2898         (WebCore::SVGImage::dataChanged):
2899
2900 2010-07-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
2901
2902         Unreviewed build fix after r62577.
2903
2904         [EFL] build fix after r62577
2905         https://bugs.webkit.org/show_bug.cgi?id=41764
2906
2907         No new functionality so no new tests.
2908
2909 2010-07-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2910
2911         Reviewed by Xan Lopez.
2912
2913         [GTK] Scrollbars sometimes go dead and stop scrolling the view
2914         https://bugs.webkit.org/show_bug.cgi?id=41711
2915
2916         Rework the setGtkAdjustment function slightly, make it have an
2917         early return, and be more readable.
2918
2919         * platform/gtk/ScrollViewGtk.cpp:
2920         (WebCore::ScrollView::setGtkAdjustments):
2921
2922 2010-07-07  Kristian Monsen  <kristianm@google.com>
2923
2924         Reviewed by Steve Block.
2925
2926         Updating Android to use the UserGestureIndicator class instead of Android specific code.
2927         The rest of the changes are in parts of the Android port which are yet to be upstreamed.
2928
2929         No change in behavior, so no new test.
2930
2931         * platform/network/android/ResourceRequest.h:
2932         (WebCore::ResourceRequest::ResourceRequest):
2933         (WebCore::ResourceRequest::doUpdateResourceRequest):
2934
2935 2010-07-07  Andy Estes  <aestes@apple.com>
2936
2937         Reviewed by Adam Barth.
2938
2939         Allow a beforeload listener to prevent loading of images in <object> tags.
2940         https://bugs.webkit.org/show_bug.cgi?id=41027
2941         <rdar://problem/8120596>
2942
2943         Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
2944                fast/dom/beforeload/image-object-before-load.html
2945
2946         * html/HTMLObjectElement.cpp:
2947         (WebCore::HTMLObjectElement::attach): Do not call
2948         RenderImage::setCachedImage() at the end of attach(). Instead, allow
2949         this to happen conditionally after beforeload is dispatched.
2950         * loader/ImageLoader.cpp:
2951         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
2952         content if an object's load was cancelled.
2953
2954 2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
2955
2956         Reviewed by Dirk Schulze.
2957
2958         <use> on <font-face> causes crashes, if SVGUseElement gets detached
2959         https://bugs.webkit.org/show_bug.cgi?id=41621
2960
2961         Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
2962         as that can potentially cause the element to be reattached while destructing.
2963
2964         In order to fix the crash in the testcase, the order of calling the base-class detach
2965         method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
2966         matching the order in removedFromDocument().
2967
2968         Test: svg/custom/use-font-face-crash.svg
2969
2970         * svg/SVGFontFaceElement.cpp:
2971         (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
2972         * svg/SVGUseElement.cpp:
2973         (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.
2974
2975 2010-07-07  Steve Block  <steveblock@google.com>
2976
2977         Reviewed by Adam Barth.
2978
2979         document.createEvent() should support DeviceOrientationEvent
2980         https://bugs.webkit.org/show_bug.cgi?id=41618
2981
2982         Tests: fast/dom/DeviceOrientation/create-event.html
2983
2984         * dom/Document.cpp:
2985         (WebCore::Document::createEvent):
2986
2987 2010-07-07  Yury Semikhatsky  <yurys@chromium.org>
2988
2989         Reviewed by Pavel Feldman.
2990
2991         Web Inspector: show functions from internal browser scripts on the call stack if they
2992         are there.
2993         https://bugs.webkit.org/show_bug.cgi?id=41762
2994
2995         * English.lproj/localizedStrings.js:
2996         * inspector/front-end/CallStackSidebarPane.js:
2997         (WebInspector.CallStackSidebarPane.prototype.update):
2998
2999 2010-07-07  Ilya Tikhonovsky  <loislo@chromium.org>
3000
3001         Reviewed by Pavel Feldman.
3002
3003         Web Inspector: All RefPtr arguments and return values should be
3004         changed to PassRefPtr whenever it is possible according to common practice.
3005         https://bugs.webkit.org/show_bug.cgi?id=41759
3006
3007         * inspector/CodeGeneratorInspector.pm:
3008         * inspector/InspectorTimelineAgent.cpp:
3009         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
3010         (WebCore::InspectorTimelineAgent::didInstallTimer):
3011         (WebCore::InspectorTimelineAgent::didRemoveTimer):
3012         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
3013         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3014         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3015         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3016         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3017         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3018         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3019         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3020         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3021         * inspector/InspectorTimelineAgent.h:
3022         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3023         * inspector/TimelineRecordFactory.cpp:
3024         (WebCore::TimelineRecordFactory::createGenericRecord):
3025         (WebCore::TimelineRecordFactory::createGCEventData):
3026         (WebCore::TimelineRecordFactory::createFunctionCallData):
3027         (WebCore::TimelineRecordFactory::createEventDispatchData):
3028         (WebCore::TimelineRecordFactory::createGenericTimerData):
3029         (WebCore::TimelineRecordFactory::createTimerInstallData):
3030         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
3031         (WebCore::TimelineRecordFactory::createXHRLoadData):
3032         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
3033         (WebCore::TimelineRecordFactory::createMarkTimelineData):
3034         (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
3035         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
3036         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
3037         (WebCore::TimelineRecordFactory::createResourceFinishData):
3038         (WebCore::TimelineRecordFactory::createReceiveResourceData):
3039         (WebCore::TimelineRecordFactory::createPaintData):
3040         (WebCore::TimelineRecordFactory::createParseHTMLData):
3041         * inspector/TimelineRecordFactory.h:
3042
3043 2010-07-07  Antti Koivisto  <koivisto@iki.fi>
3044
3045         Reviewed by Kenneth Rohde Christiansen.
3046         
3047         [Qt] Initial WebKit2 implementation
3048         https://bugs.webkit.org/show_bug.cgi?id=40233
3049
3050         Export some event conversion functions needed for WebKit2.
3051
3052         * platform/PlatformKeyboardEvent.h:
3053         * platform/qt/PlatformKeyboardEventQt.cpp:
3054         (WebCore::keyIdentifierForQtKeyCode):
3055         (WebCore::windowsKeyCodeForKeyEvent):
3056
3057 2010-07-06  Steve Block  <steveblock@google.com>
3058
3059         Reviewed by Adam Barth.
3060
3061         DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
3062         https://bugs.webkit.org/show_bug.cgi?id=41685
3063
3064         Test: fast/dom/Window/window-properties-device-orientation.html
3065               fast/dom/DeviceOrientation/window-property.txt
3066
3067         * page/DOMWindow.idl:
3068
3069 2010-07-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3070
3071         Unreviewed, rolling out r62645.
3072         http://trac.webkit.org/changeset/62645
3073         https://bugs.webkit.org/show_bug.cgi?id=41757
3074
3075         "Broken inspector tests on several platforms" (Requested by
3076         eseidel on #webkit).
3077
3078         * inspector/front-end/ScriptView.js:
3079         (WebInspector.ScriptView.prototype._addBreakpoint):
3080         * inspector/front-end/ScriptsPanel.js:
3081         (WebInspector.ScriptsPanel):
3082         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
3083         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
3084         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
3085         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3086         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
3087         * inspector/front-end/SourceView.js:
3088         (WebInspector.SourceView.prototype._addBreakpoint):
3089
3090 2010-07-07  Steve Block  <steveblock@google.com>
3091
3092         Reviewed by Adam Barth.
3093
3094         JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
3095         https://bugs.webkit.org/show_bug.cgi?id=41516
3096
3097         This change is required to help prevent the Java virtual machine from
3098         running out of local references. The Java virtual machine supports only
3099         a limited number of local references. Normally, local references are
3100         cleared when the native method returns.
3101
3102         This change adds calls to PushLocalFrame() and PopLocalFrame() around
3103         each invocation of a method on JavaInstance. These calls instruct the
3104         virtual machine to clear local references when the frame is popped.
3105         This means that in the case where many calls to JavaInstance methods
3106         are made within the same native call, local references are cleared as
3107         soon as they are no longer needed, thus conserving references.
3108
3109         This change mirrors exactly JavaInstanceJSC.
3110
3111         No new tests.
3112
3113         * bridge/jni/v8/JavaInstanceV8.cpp:
3114         (JavaInstance::virtualBegin):
3115         (JavaInstance::virtualEnd):
3116         * bridge/jni/v8/JavaInstanceV8.h:
3117
3118 2010-07-06  Yury Semikhatsky  <yurys@chromium.org>
3119
3120         Reviewed by Pavel Feldman.
3121
3122         Inspector should remember the size of sidebars set by the user
3123         https://bugs.webkit.org/show_bug.cgi?id=19207
3124
3125         * inspector/front-end/AbstractTimelinePanel.js:
3126         (WebInspector.AbstractTimelinePanel):
3127         * inspector/front-end/AuditsPanel.js:
3128         (WebInspector.AuditsPanel):
3129         * inspector/front-end/ConsolePanel.js:
3130         (WebInspector.ConsolePanel):
3131         * inspector/front-end/ElementsPanel.js:
3132         (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
3133         * inspector/front-end/Panel.js:
3134         (WebInspector.Panel):
3135         (WebInspector.Panel.prototype.get toolbarItemClass):
3136         (WebInspector.Panel.prototype.show):
3137         (WebInspector.Panel.prototype.createSidebar):
3138         (WebInspector.Panel.prototype.get _sidebarWidthSettingName):
3139         (WebInspector.Panel.prototype._endSidebarDragging):
3140         (WebInspector.Panel.prototype.updateSidebarWidth):
3141         (WebInspector.Panel.prototype.restoreSidebarWidth):
3142         (WebInspector.Panel.prototype.saveSidebarWidth):
3143         * inspector/front-end/ProfilesPanel.js:
3144         (WebInspector.ProfilesPanel):
3145         * inspector/front-end/ResourcesPanel.js:
3146         (WebInspector.ResourcesPanel):
3147         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
3148         * inspector/front-end/ScriptsPanel.js:
3149         (WebInspector.ScriptsPanel):
3150         (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
3151         (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
3152         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
3153         * inspector/front-end/Settings.js:
3154         (WebInspector.populateApplicationSettings):
3155         * inspector/front-end/StoragePanel.js:
3156         (WebInspector.StoragePanel):
3157         * inspector/front-end/TimelinePanel.js:
3158         (WebInspector.TimelinePanel):
3159
3160 2010-07-05  Steve Block  <steveblock@google.com>
3161
3162         Reviewed by Adam Barth.
3163
3164         DeviceOrientation should be renamed to DeviceOrientationController
3165         https://bugs.webkit.org/show_bug.cgi?id=41608
3166
3167         No new tests, renaming only.
3168
3169         * Android.mk:
3170         * CMakeLists.txt:
3171         * GNUmakefile.am:
3172         * WebCore.gypi:
3173         * WebCore.pro:
3174         * WebCore.vcproj/WebCore.vcproj:
3175         * WebCore.xcodeproj/project.pbxproj:
3176         * dom/DeviceOrientation.cpp: Removed.
3177         * dom/DeviceOrientation.h: Removed.
3178         * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
3179         (WebCore::DeviceOrientationController::DeviceOrientationController):
3180         (WebCore::DeviceOrientationController::onDeviceOrientationChange):
3181         * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
3182         * page/Page.cpp:
3183         (WebCore::Page::Page):
3184         * page/Page.h:
3185         (WebCore::Page::deviceOrientationController):
3186
3187 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
3188
3189         Reviewed by Yury Semikhatsky.
3190
3191         Web Inspector: do not activate all breakpoints on page reload
3192         https://bugs.webkit.org/show_bug.cgi?id=41461
3193
3194         Test: inspector/debugger-breakpoints-not-activated-on-reload.html
3195
3196         * inspector/front-end/ScriptView.js:
3197         (WebInspector.ScriptView.prototype._addBreakpoint):
3198         * inspector/front-end/ScriptsPanel.js:
3199         (WebInspector.ScriptsPanel):
3200         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
3201         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
3202         * inspector/front-end/SourceView.js:
3203         (WebInspector.SourceView.prototype._addBreakpoint):
3204
3205 2010-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>
3206
3207         Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.
3208
3209         * svg/SVGFontFaceElement.cpp:
3210         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
3211
3212 2010-07-07  Eric Seidel  <eric@webkit.org>
3213
3214         Reviewed by Adam Barth.
3215
3216         Fix </html> handling in before head mode
3217         https://bugs.webkit.org/show_bug.cgi?id=41752
3218
3219         Covered by html5lib/runner.html.
3220
3221         * html/HTMLTreeBuilder.cpp:
3222         (WebCore::HTMLTreeBuilder::processEndTag):
3223
3224 2010-07-07  Eric Seidel  <eric@webkit.org>
3225
3226         Reviewed by Adam Barth.
3227
3228         </div> pops too many <div> elements in body
3229         https://bugs.webkit.org/show_bug.cgi?id=41751
3230
3231         Another missing return!
3232
3233         While tracking this down I added some debugging code to both the
3234         open elements stack and the active formatting elements list.
3235
3236         I also unwrapped a very long || chain to make it more readable.
3237
3238         * html/HTMLElementStack.cpp:
3239         (WebCore::HTMLElementStack::show):
3240         * html/HTMLElementStack.h:
3241         * html/HTMLFormattingElementList.cpp:
3242         (WebCore::HTMLFormattingElementList::show):
3243         * html/HTMLFormattingElementList.h:
3244         * html/HTMLTreeBuilder.cpp:
3245         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3246
3247 2010-07-06  Eric Seidel  <eric@webkit.org>
3248
3249         Reviewed by Adam Barth.
3250
3251         HTMLTreeBuilder needs to handle <table><input>
3252         https://bugs.webkit.org/show_bug.cgi?id=41744
3253
3254         * html/HTMLTreeBuilder.cpp:
3255         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3256
3257 2010-07-06  Eric Seidel  <eric@webkit.org>
3258
3259         Reviewed by Adam Barth.
3260
3261         Teach HTMLTreeBuilder how to handle <button><button>
3262         https://bugs.webkit.org/show_bug.cgi?id=41743
3263
3264         * html/HTMLTreeBuilder.cpp:
3265         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3266
3267 2010-07-06  Eric Seidel  <eric@webkit.org>
3268
3269         Reviewed by Adam Barth.
3270
3271         Teach TreeBuilder how to handle <form><form>
3272         https://bugs.webkit.org/show_bug.cgi?id=41741
3273
3274         * html/HTMLTreeBuilder.cpp:
3275         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3276
3277 2010-07-06  Eric Seidel  <eric@webkit.org>
3278
3279         Reviewed by Adam Barth.
3280
3281         <table> should auto-close <p> when not in quirks mode
3282         https://bugs.webkit.org/show_bug.cgi?id=41740
3283
3284         This is already covered by multiple tests in html5lib/runner.html
3285
3286         * html/HTMLTreeBuilder.cpp:
3287         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3288
3289 2010-07-06  Eric Seidel  <eric@webkit.org>
3290
3291         Reviewed by Adam Barth.
3292
3293         Make "in body" character handling reconstruct active formatting elements
3294         https://bugs.webkit.org/show_bug.cgi?id=41739
3295
3296         This fixes a bunch of tests, and due to some other bug in our
3297         formatting code, regresses two.  I'll fix that bug in a separate
3298         patch.
3299
3300         * html/HTMLTreeBuilder.cpp:
3301         (WebCore::HTMLTreeBuilder::processCharacter):
3302
3303 2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
3304
3305         Reviewed by Darin Adler.
3306
3307         <use> on <font-face> causes crashes, if SVGUseElement gets detached
3308         https://bugs.webkit.org/show_bug.cgi?id=41621
3309
3310         Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
3311         cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
3312         which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.
3313
3314         The crash is reproducable when using <use> on <font-face>.
3315
3316         Test: svg/custom/use-font-face-crash.svg
3317
3318         * svg/SVGFontFaceElement.cpp:
3319         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
3320
3321 2010-07-07  Hayato Ito  <hayato@chromium.org>
3322
3323         Reviewed by Darin Adler.
3324
3325         Rolling out 'page-break-inside:avoid' part of the r54929.
3326         Rebased the related layout tests, which are now expected to fail, as well.
3327
3328         https://bugs.webkit.org/show_bug.cgi?id=41532
3329
3330         * rendering/RenderBlock.cpp:
3331         (WebCore::RenderBlock::paintChildren):
3332
3333 2010-07-07  Mark Rowe  <mrowe@apple.com>
3334
3335         Fix failures in a handful of Java-related tests.
3336
3337         * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
3338         evalutes to true when we expect it to.
3339
3340 2010-07-06  Pavel Feldman  <pfeldman@chromium.org>
3341
3342         Reviewed by Joseph Pecoraro.
3343
3344         Web Inspector: provide line numbers for inline styles.
3345
3346         https://bugs.webkit.org/show_bug.cgi?id=41691
3347
3348         Test: inspector/styles-source-lines-inline.html
3349
3350         * css/CSSParser.cpp:
3351         (WebCore::CSSParser::parseSheet):
3352         * css/CSSParser.h:
3353         * css/CSSStyleSheet.cpp:
3354         (WebCore::CSSStyleSheet::parseString):
3355         (WebCore::CSSStyleSheet::parseStringAtLine):
3356         * css/CSSStyleSheet.h:
3357         * dom/StyleElement.cpp:
3358         (WebCore::StyleElement::process):
3359         (WebCore::StyleElement::createSheet):
3360         * dom/StyleElement.h:
3361         * html/HTMLStyleElement.cpp:
3362         (WebCore::HTMLStyleElement::HTMLStyleElement):
3363         (WebCore::HTMLStyleElement::finishParsingChildren):
3364         * html/HTMLStyleElement.h:
3365         * inspector/InspectorCSSStore.cpp:
3366         (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
3367         * inspector/InspectorDOMAgent.cpp:
3368         (WebCore::InspectorDOMAgent::buildObjectForRule):
3369         * inspector/front-end/DOMAgent.js:
3370         (WebInspector.CSSStyleDeclaration.parseRule):
3371         * inspector/front-end/StylesSidebarPane.js:
3372         (WebInspector.StylePropertiesSection.else.linkifyUncopyable):
3373         (WebInspector.StylePropertiesSection):
3374
3375 2010-07-06  Dan Bernstein  <mitz@apple.com>
3376
3377         Reviewed by Jon Honeycutt.
3378
3379         <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key
3380
3381         No change in behavior, so no new test.
3382
3383         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3384         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
3385         as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.
3386
3387 2010-07-06  Mark Rowe  <mrowe@apple.com>
3388
3389         Fix production builds on Mac OS X.
3390
3391         * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
3392         It's not useful until much later in the build process, and it's not possible to generate it until
3393         after the tool has been compiled anyway.
3394         * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
3395         works in production builds once more.
3396
3397 2010-07-06  Steve Falkenburg  <sfalken@apple.com>
3398
3399         Reviewed by Simon Fraser.
3400
3401         Expose URL matching from WebUserContentURLPattern
3402         https://bugs.webkit.org/show_bug.cgi?id=41726
3403         <rdar://problem/7910144>
3404
3405         * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.
3406
3407 2010-07-06  Eric Seidel  <eric@webkit.org>
3408
3409         Reviewed by Adam Barth.
3410
3411         Fix <nobr><nobr> case in HTMLTreeBuilder
3412         https://bugs.webkit.org/show_bug.cgi?id=41735
3413
3414         We were both not handling <nobr> correctly, as well as
3415         never hitting the <nobr> case because our formatting
3416         elements check was overzealous.
3417
3418         * html/HTMLTreeBuilder.cpp:
3419         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3420
3421 2010-07-06  Adam Barth  <abarth@webkit.org>
3422
3423         Reviewed by Eric Seidel.
3424
3425         Implement start table tag in table mode
3426         https://bugs.webkit.org/show_bug.cgi?id=41736
3427
3428         * html/HTMLTreeBuilder.cpp:
3429         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3430         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
3431         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
3432         * html/HTMLTreeBuilder.h:
3433
3434 2010-07-06  Adam Barth  <abarth@webkit.org>
3435
3436         Reviewed by Eric Seidel.
3437
3438         Implement "act as if the banana has been peeled" (for lack of a better term)
3439         https://bugs.webkit.org/show_bug.cgi?id=41734
3440
3441         The spec has a tricky passage that says "whenever a node would be
3442         inserted into the current node, it must instead be foster parented."
3443         This patch attempts to implement that requirement.
3444
3445         * html/HTMLConstructionSite.cpp:
3446         (WebCore::HTMLConstructionSite::attach):
3447         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
3448         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
3449         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
3450         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
3451         (WebCore::HTMLConstructionSite::insertScriptElement):
3452         (WebCore::HTMLConstructionSite::fosterParent):
3453         * html/HTMLConstructionSite.h:
3454         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
3455         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
3456         * html/HTMLTreeBuilder.cpp:
3457         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3458         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
3459         * html/HTMLTreeBuilder.h:
3460
3461 2010-07-06  Eric Seidel  <eric@webkit.org>
3462
3463         Reviewed by Adam Barth.
3464
3465         Fix </optgroup> in "in select" mode
3466         https://bugs.webkit.org/show_bug.cgi?id=41733
3467
3468         I had to add a oneBelowTop() accessor.
3469         I added some ASSERTs after looking at the fragment case
3470         documentation.  I'm now convinced that top() and oneBeforeTop()
3471         should never be NULL, so we just ASSERT they aren't.
3472
3473         This is a very obscure corner of the HTML spec, but at least
3474         we have a test for it.  This makes one more html5lib test pass.
3475
3476         * html/HTMLConstructionSite.h:
3477         (WebCore::HTMLConstructionSite::oneBelowTop):
3478         * html/HTMLElementStack.cpp:
3479         (WebCore::HTMLElementStack::topRecord):
3480         (WebCore::HTMLElementStack::top):
3481         (WebCore::HTMLElementStack::oneBelowTop):
3482         * html/HTMLElementStack.h:
3483         * html/HTMLTreeBuilder.cpp:
3484         (WebCore::HTMLTreeBuilder::processEndTag):
3485
3486 2010-07-06  Eric Seidel  <eric@webkit.org>
3487
3488         Reviewed by Adam Barth.
3489
3490         Fix "in row" "Anything else" handling of end tags
3491         https://bugs.webkit.org/show_bug.cgi?id=41731
3492
3493         I also fixed </br> handling to follow the spec more closely
3494         since it implementation was old and didn't use all our
3495         new processFake* hotness.
3496
3497         This is already covered by 3 tests, however we don't
3498         pass them yet, due to lack of table foster parenting
3499         code (which Adam is working on as we speak).
3500
3501         * html/HTMLTreeBuilder.cpp:
3502         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3503         (WebCore::HTMLTreeBuilder::processEndTag):
3504
3505 2010-07-06  Mark Rowe  <mrowe@apple.com>
3506
3507         Fix clean builds on Mac OS X.
3508
3509         Since "Copy Forwarding and ICU Headers" was split in to a separate target
3510         from the WebCore framework it no longer had automatica access to the
3511         PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
3512         files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
3513         its correct value and ensuring that the path exists.
3514
3515         * WebCore.xcodeproj/project.pbxproj:
3516
3517 2010-07-06  Sam Weinig  <sam@webkit.org>
3518
3519         Fix Gtk build.
3520
3521         * GNUmakefile.am:
3522
3523 2010-07-06  Mark Rowe  <mrowe@apple.com>
3524
3525         Tiger build fix.
3526
3527         Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.
3528
3529         * WebCore.xcodeproj/project.pbxproj:
3530
3531 2010-07-06  Eric Seidel  <eric@webkit.org>
3532
3533         Reviewed by Adam Barth.
3534
3535         "In cell" does not correctly handle <td><tr> or <td><td>
3536         https://bugs.webkit.org/show_bug.cgi?id=41729
3537
3538         This change is mostly cleanup to try and prevent forgetting
3539         tag name checks in the future by using inlines to reduce
3540         copy/paste code.
3541
3542         3 little bugs in InCellMode:
3543          - Missing trTag from the long or statement (reason for the cleanup)
3544          - Used || instead of &&
3545          - Forgot to reprocess the tag after closeTheCell()
3546
3547         * html/HTMLTreeBuilder.cpp:
3548         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3549         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
3550         (WebCore::HTMLTreeBuilder::processStartTag):
3551         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
3552         (WebCore::HTMLTreeBuilder::processEndTag):
3553
3554 2010-07-06  Adam Barth  <abarth@webkit.org>
3555
3556         Reviewed by Eric Seidel.
3557
3558         Move fosterParent to HTMLConstructionSite
3559         https://bugs.webkit.org/show_bug.cgi?id=41728
3560
3561         This paves the way for handling the default case of InTableMode
3562         properly.
3563
3564         * html/HTMLConstructionSite.cpp:
3565         (WebCore::HTMLConstructionSite::fosterParent):
3566         * html/HTMLConstructionSite.h:
3567         * html/HTMLTreeBuilder.cpp:
3568         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3569
3570 2010-07-06  Adam Barth  <abarth@webkit.org>
3571
3572         Rubber-stamped by Eric Seidel.
3573
3574         Move HTMLConstructionSite to its own file.  No behavior change.
3575
3576         * Android.mk:
3577         * CMakeLists.txt:
3578         * GNUmakefile.am:
3579         * WebCore.gypi:
3580         * WebCore.pro:
3581         * WebCore.vcproj/WebCore.vcproj:
3582         * WebCore.xcodeproj/project.pbxproj:
3583         * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
3584         (WebCore::HTMLNames::hasImpliedEndTag):
3585         (WebCore::HTMLConstructionSite::attach):
3586         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
3587         (WebCore::HTMLConstructionSite::~HTMLConstructionSite):
3588         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
3589         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
3590         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
3591         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
3592         * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
3593         * html/HTMLTreeBuilder.cpp:
3594         * html/HTMLTreeBuilder.h:
3595
3596 2010-07-06  Mark Rowe  <mrowe@apple.com>
3597
3598         Build fix.
3599
3600         The path to the generated file needs to be relative to the built product directory,
3601         not to the project file.
3602
3603         * WebCore.xcodeproj/project.pbxproj:
3604
3605 2010-07-06  Mark Rowe  <mrowe@apple.com>
3606
3607         Reviewed by Darin Adler.
3608
3609         <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans
3610
3611         Change how the exports file is generated. Rather than having the logic for which symbols
3612         to include be encoded in a Makefile that concatenated separate files, the logic is now
3613         encoded as #if's in the base exports file. This ensures that the exact same preprocessor
3614         settings are used when determining which symbols to export as when compiling the code that
3615         defines the symbols.
3616
3617         * DerivedSources.make: Remove logic that determines which export files to concatenate.
3618         Replace with an invocation of WebCoreExportFileGenerator.
3619         * WebCore.3DRendering.exp: Removed.
3620         * WebCore.AcceleratedCompositing.exp: Removed.
3621         * WebCore.ClientBasedGeolocation.exp: Removed.
3622         * WebCore.ContextMenus.exp: Removed.
3623         * WebCore.DashboardSupport.exp: Removed.
3624         * WebCore.DragSupport.exp: Removed.
3625         * WebCore.Geolocation.exp: Removed.
3626         * WebCore.Inspector.exp: Removed.
3627         * WebCore.JNI.exp: Removed.
3628         * WebCore.NPAPI.exp: Removed.
3629         * WebCore.OrientationEvents.exp: Removed.
3630         * WebCore.PluginHostProcess.exp: Removed.
3631         * WebCore.ProtectionSpaceAuthCallback.exp: Removed.
3632         * WebCore.SVG.Animation.exp: Removed.
3633         * WebCore.SVG.Filters.exp: Removed.
3634         * WebCore.SVG.ForeignObject.exp: Removed.
3635         * WebCore.SVG.exp: Removed.
3636         * WebCore.Tiger.exp: Removed.
3637         * WebCore.Video.exp: Removed.
3638         * WebCore.VideoProxy.exp: Removed.
3639         * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
3640         files in, wrapping the appropriate parts with the necessary #if's.
3641         * WebCore.xcodeproj/project.pbxproj:
3642         * make-exports-file-generator: Added.
3643
3644 2010-07-06  Sam Weinig  <sam@webkit.org>
3645
3646         Reviewed by Anders Carlsson.
3647
3648         Patch for https://bugs.webkit.org/show_bug.cgi?id=41723