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