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