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