2010-06-17 Shu Chang <chang.shu@nokia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-06-17  Shu Chang  <chang.shu@nokia.com>
2
3         Reviewed by Kenneth Rohde Christiansen.
4
5         [Qt] Fix the link error on symbian with ENABLE_JIT=0.
6         1. Add "#if ENABLE(JIT)" in the header file;
7         2. Put feature enable/disable logic to a common.pri so
8         that both JavaScriptCore.pri and WebCore.pri can share.
9
10         https://bugs.webkit.org/show_bug.cgi?id=40780
11
12         * WebCore.pri:
13
14 2010-06-17  Kenneth Russell  <kbr@google.com>
15
16         Reviewed by Oliver Hunt.
17
18         Differences in error reporting for overloaded methods causing fast/canvas/webgl/texImageTest.html to fail
19         https://bugs.webkit.org/show_bug.cgi?id=40750
20
21         Added V8Proxy::throwTypeError() and throwSyntaxError for parity
22         with JSC::throwTypeError() and throwSyntaxError. Changed
23         CodeGeneratorV8.pm to use throwTypeError for overload resolution
24         failures. Revised CodeGeneratorJS.pm to use throwVMTypeError
25         instead of manual call to JSValue::encode. Deleted now-unnecessary
26         Chromium expectations for fast/canvas/webgl/texImageTest.html.
27
28         * bindings/scripts/CodeGeneratorJS.pm:
29         * bindings/scripts/CodeGeneratorV8.pm:
30         * bindings/v8/V8Proxy.cpp:
31         (WebCore::V8Proxy::throwTypeError):
32         (WebCore::V8Proxy::throwSyntaxError):
33         * bindings/v8/V8Proxy.h:
34
35 2010-06-17  Darin Fisher  <darin@chromium.org>
36
37         Reviewed by Brady Eidson.
38
39         If Page::goToItem is passed a HistoryItem that is the current item,
40         then the page should be loaded again.
41
42         https://bugs.webkit.org/show_bug.cgi?id=40660
43
44         * loader/HistoryController.cpp:
45         (WebCore::HistoryController::recursiveGoToItem): Add a check to
46         recursiveGoToItem that matches the one in FrameLoader::loadItem.
47
48 2010-06-17  Kwang Yul Seo  <skyul@company100.net>
49
50         Reviewed by Kent Tamura.
51
52         [BREWMP] Build fix for DragDataBrew
53         https://bugs.webkit.org/show_bug.cgi?id=40610
54
55         http://trac.webkit.org/changeset/60957 was not applied to DragDataBrew.cpp.
56         Add FilenameConversionPolicy argument to DragData::containsURL and DragData::asURL.
57
58         * platform/brew/DragDataBrew.cpp:
59         (WebCore::DragData::containsURL):
60         (WebCore::DragData::asURL):
61
62 2010-06-17  Zhenyao Mo  <zmo@google.com>
63
64         Reviewed by David Levin.
65
66         Rename internalformat to internalFormat
67         https://bugs.webkit.org/show_bug.cgi?id=40149
68
69         * html/canvas/WebGLFramebuffer.cpp: Rename internalformat to internalFormat.
70         (WebCore::WebGLFramebuffer::getColorBufferFormat):
71         * html/canvas/WebGLRenderbuffer.cpp: Ditto.
72         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
73         * html/canvas/WebGLRenderbuffer.h: Ditto.
74         (WebCore::WebGLRenderbuffer::setInternalFormat):
75         (WebCore::WebGLRenderbuffer::getInternalFormat):
76         * html/canvas/WebGLRenderingContext.cpp: Ditto.
77         (WebCore::WebGLRenderingContext::copyTexImage2D):
78         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
79         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
80         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
81         (WebCore::WebGLRenderingContext::renderbufferStorage):
82         (WebCore::WebGLRenderingContext::texImage2DBase):
83         (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
84         * html/canvas/WebGLRenderingContext.h: Ditto.
85         * html/canvas/WebGLTexture.cpp: Ditto.
86         (WebCore::WebGLTexture::WebGLTexture):
87         * html/canvas/WebGLTexture.h: Ditto.
88         (WebCore::WebGLTexture::setInternalFormat):
89         (WebCore::WebGLTexture::getInternalFormat):
90
91 2010-06-17  Zhenyao Mo  <zmo@google.com>
92
93         Reviewed by David Levin.
94
95         Remove input parameter validation for "level" upper limit in *tex* functions
96         https://bugs.webkit.org/show_bug.cgi?id=40603
97
98         * html/canvas/WebGLRenderingContext.cpp:
99         (WebCore::WebGLRenderingContext::validateTexFuncParameters): Don't check for "level" upper limit.
100
101 2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
102
103         Reviewed by Eric Seidel.
104
105         Clean EFL header files in order to diminish the compilation time with
106         EFL from subversion. We remove the EFL includes from header files and use
107         forward declarations, including the headers in correspondent source
108         files when needed. This causes only the needed source files to be
109         recompiled in case a new version of EFL is installed instead of
110         triggering a recompilation of almost all WebCore/WebKit.
111         https://bugs.webkit.org/show_bug.cgi?id=40575
112
113         No new functionalities, so no new tests.
114
115         * CMakeListsEfl.txt:
116         * platform/PlatformKeyboardEvent.h: forward declaration.
117         * platform/PlatformMouseEvent.h: forward declaration and change method
118         signature to not require enum.
119         * platform/PlatformWheelEvent.h: forward declaration.
120         * platform/Widget.h: forward declaration.
121         * platform/efl/PlatformKeyboardEventEfl.cpp: include needed header.
122         * platform/efl/PlatformMouseEventEfl.cpp:
123         (WebCore::PlatformMouseEvent::setClickCount): change method signature
124         as mentioned above.
125         * platform/efl/PlatformWheelEventEfl.cpp: include needed header.
126         * platform/efl/RenderThemeEfl.cpp: include needed header
127         * platform/efl/RenderThemeEfl.h: forward declaration.
128         * platform/efl/ScrollbarEfl.cpp: include needed header.
129         * platform/efl/ScrollbarEfl.h: forward declaration.
130         * platform/efl/WidgetEfl.cpp: include needed header.
131         * platform/graphics/FloatRect.h: remove unused method.
132         * platform/graphics/Icon.h: forward declaration.
133         * platform/graphics/IntRect.h: remove unused method.
134         * platform/graphics/efl/FloatRectEfl.cpp: Removed. This file was
135         implementing an unused method.
136         * platform/graphics/efl/IntRectEfl.cpp: Removed. This file was
137         implementing an unused method.
138
139 2010-06-17  Alex Milowski  <alex@milowski.com>
140
141         Reviewed by Darin Adler.
142
143         Fixed a compile error in the paint() methods by making them use the
144         new visitedDependentColor() method.
145         https://bugs.webkit.org/show_bug.cgi?id=40327
146
147         * mathml/RenderMathMLRoot.cpp:
148         (WebCore::RenderMathMLRoot::paint):
149         (WebCore::RenderMathMLRoot::layout): Fixed a crash where every child 
150         was assumed to be a RenderMathMLBlock instance when that isn't the 
151         case.  Also, layout() needed to mark the index for layout before 
152         calling layout() on the index.
153         * mathml/RenderMathMLSquareRoot.cpp:
154         (WebCore::RenderMathMLSquareRoot::paint):
155
156 2010-06-17  Darin Adler  <darin@apple.com>
157
158         Reviewed by Sam Weinig.
159
160         Use adoptRef and create functions in more code paths
161         https://bugs.webkit.org/show_bug.cgi?id=40760
162
163         This helps prepare for an assertion that fires if you ref or destroy an
164         object before calling adoptRef on it. That will help us catch mistakes
165         that can lead to storage leaks.
166
167         * WebCore.base.exp: Updated export now that Frame::create is not an
168         inline function.
169
170         * css/CSSInitialValue.h:
171         (WebCore::CSSInitialValue::createExplicit): Use create.
172         (WebCore::CSSInitialValue::createImplicit): Ditto.
173         (WebCore::CSSInitialValue::create): Added.
174
175         * css/CSSPrimitiveValue.cpp:
176         (WebCore::CSSPrimitiveValue::createUncachedIdentifier): Added.
177         (WebCore::CSSPrimitiveValue::createUncachedColor): Added.
178         (WebCore::CSSPrimitiveValue::createUncached): Added.
179         (WebCore::CSSPrimitiveValue::createIdentifier): Use createUncachedIdentifier
180         instead of using new directly.
181         (WebCore::CSSPrimitiveValue::createColor): Use createUncachedColor instead
182         of using new directly.
183         (WebCore::CSSPrimitiveValue::create): Use createdUncached instead of using
184         new directly.
185         * css/CSSPrimitiveValue.h: Declare the new functions above.
186
187         * css/CSSStyleSelector.cpp:
188         (WebCore::loadFullDefaultStyle): Deref simpleDefaultStyleSheet instead of
189         explicitly deleting it.
190
191         * loader/SubresourceLoader.cpp:
192         (WebCore::SubresourceLoader::SubresourceLoader): Move the call to
193         addSubresourceLoader out of here.
194         (WebCore::SubresourceLoader::create): Move it in here. This makes it so
195         we don't ref the loader before finishing its creation and calling adoptRef.
196
197         * page/Frame.cpp:
198         (WebCore::Frame::Frame): Move the call to setMainFrame out of here.
199         Also refactor the code so an assertion is easier to read.
200         (WebCore::Frame::create): Move the call to setMainFrame in here.
201         This makes it so we don't ref the frame before finishing its creation
202         and calling adoptRef.
203         * page/Frame.h: Made the create function non-inline.
204
205         * platform/text/BidiContext.cpp:
206         (WebCore::BidiContext::createUncached): Added.
207         (WebCore::BidiContext::create): Call createUncached instead of callling
208         new directly.
209         * platform/text/BidiContext.h: Declare createUncached.
210
211         * rendering/RenderSVGResourceFilter.cpp:
212         (WebCore::RenderSVGResourceFilter::buildPrimitives): Use PassRefPtr and
213         RefPtr instead of OwnPtr. And use the create function instead of new.
214         * rendering/RenderSVGResourceFilter.h: Ditto.
215         * rendering/SVGRenderTreeAsText.cpp:
216         (WebCore::writeSVGResourceContainer): Ditto.
217
218         * storage/StorageAreaImpl.cpp:
219         (WebCore::StorageAreaImpl::StorageAreaImpl): Move the code that calls
220         StorageAreaSync::create out of here.
221         (WebCore::StorageAreaImpl::create): Move it in here. This makes it so we
222         don't ref the storage area before finishing its creation and calling adoptRef.
223
224         * svg/SVGPaint.cpp:
225         (WebCore::SVGPaint::defaultFill): Use create instead of new.
226         (WebCore::SVGPaint::defaultStroke): Ditto.
227
228         * svg/graphics/filters/SVGFilterBuilder.h: Made the constructor private
229         and added a create function since this is a reference counted object and
230         should not be constructed directly.
231
232 2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
233
234         Reviewed by Gustavo Noronha.
235
236         Update CMake build system to use new script for generating source files
237         with gperf (r61091).
238         This updates also the build system to cope with recent changes to
239         source files list.
240         https://bugs.webkit.org/show_bug.cgi?id=40628
241
242         No new tests since it's just compilation fixes.
243
244         * CMakeLists.txt:
245
246 2010-06-17  Darin Adler  <darin@apple.com>
247
248         Reviewed by Sam Weinig.
249
250         Fix boolean reflected attributes to use empty string consistently for the content attribute value
251         https://bugs.webkit.org/show_bug.cgi?id=40758
252
253         Test: fast/dom/boolean-attribute-reflection.html
254
255         The HTML5 specification and other browsers are all consistent:
256         When setting a boolean IDL attribute to true, the attribute value
257         gets set to the empty string. The guidelines for authors allow either
258         the empty string or the name of the attribute, but for implementers
259         of the DOM, the reflected attribute gets empty string.
260
261         * dom/Element.cpp:
262         (WebCore::Element::setBooleanAttribute): Use emptyAtom to set the
263         attribute to the empty string.
264
265         * html/HTMLFormControlElement.cpp:
266         (WebCore::HTMLFormControlElement::setAutofocus): Use the empty string,
267         not "autofocus".
268         (WebCore::HTMLFormControlElement::setRequired): Use the empty string,
269         not "required".
270
271 2010-06-17  Pavel Feldman  <pfeldman@chromium.org>
272
273         Unreviewed: chromium tests fix. Added InspectorBackend delegates for new inspector methods.
274
275         * inspector/front-end/InspectorBackendStub.js:
276         (.WebInspector.InspectorBackendStub.prototype.clearConsoleMessages):
277         (.WebInspector.InspectorBackendStub.prototype.getOuterHTML):
278         (.WebInspector.InspectorBackendStub.prototype.setOuterHTML):
279         (.WebInspector.InspectorBackendStub.prototype.addInspectedNode):
280
281 2010-06-17  Mark Brand  <mabrand@mabrand.nl>
282
283         Reviewed by Simon Hausmann.
284
285         [Qt] use "win32-g++*" scope to match all MinGW makespecs
286
287         The scope "win32-g++" comes from the name of the makespec. However, it
288         is frequently used to check for MinGW. This works fine as long as
289         win32-g++ is the only makespec for MinGW. Now we need the wildcard
290         to cover "win32-g++-cross" as well.
291
292         * WebCore.pro:
293
294 2010-06-16  Pavel Feldman  <pfeldman@chromium.org>
295
296         Reviewed by Joe Pecoraro.
297
298         Web Inspector: move get/setOuterHTML, addInspectedNode and
299         clearConsole to native InspectorDOMAgent. This is done to allow
300         inspected nodes array to store nodes from different domains,
301         also moves outerhtml manipulation closer to the rest of the DOM
302         operations. In addition to that, we are slowly getting rid of
303         InjectedScriptAccess in favor of IDL-defined InspectorBackend
304         interface for clearer remote debugging API.
305
306         https://bugs.webkit.org/show_bug.cgi?id=40733
307
308         * inspector/InjectedScriptHost.cpp:
309         (WebCore::InjectedScriptHost::inspectedNode):
310         * inspector/InjectedScriptHost.h:
311         * inspector/InspectorBackend.cpp:
312         (WebCore::InspectorBackend::changeTagName):
313         (WebCore::InspectorBackend::getOuterHTML):
314         (WebCore::InspectorBackend::setOuterHTML):
315         (WebCore::InspectorBackend::addInspectedNode):
316         (WebCore::InspectorBackend::clearConsoleMessages):
317         * inspector/InspectorBackend.h:
318         * inspector/InspectorBackend.idl:
319         * inspector/InspectorDOMAgent.cpp:
320         (WebCore::InspectorDOMAgent::inspectedNode):
321         (WebCore::InspectorDOMAgent::changeTagName):
322         (WebCore::InspectorDOMAgent::getOuterHTML):
323         (WebCore::InspectorDOMAgent::setOuterHTML):
324         (WebCore::InspectorDOMAgent::addInspectedNode):
325         * inspector/InspectorDOMAgent.h:
326         * inspector/InspectorFrontend.cpp:
327         (WebCore::InspectorFrontend::didGetOuterHTML):
328         (WebCore::InspectorFrontend::didSetOuterHTML):
329         * inspector/InspectorFrontend.h:
330         * inspector/front-end/ConsoleView.js:
331         (WebInspector.ConsoleView.prototype.requestClearMessages):
332         * inspector/front-end/DOMAgent.js:
333         * inspector/front-end/ElementsPanel.js:
334         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
335         (WebInspector.ElementsPanel):
336         * inspector/front-end/ElementsTreeOutline.js:
337         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
338         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
339         ():
340         * inspector/front-end/InjectedScript.js:
341         (injectedScriptConstructor):
342         * inspector/front-end/InjectedScriptAccess.js:
343
344 2010-06-17  John Gregg  <johnnyg@google.com>
345
346         Reviewed by David Levin.
347
348         Move the call to the notification presenter that a Notification is being
349         destroyed from the destructor (not safe) to the ActiveDOMObject::contextDestroyed
350         method.
351
352         Also fix up an incorrect reference loss in the V8 bindings code for Notifications.
353         https://bugs.webkit.org/show_bug.cgi?id=40097
354
355         No new tests; code paths are well-covered by existing tests.
356
357         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
358         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
359         (WebCore::V8NotificationCenter::createNotificationCallback):
360         * notifications/Notification.cpp:
361         (WebCore::Notification::~Notification):
362         (WebCore::Notification::contextDestroyed):
363         * notifications/Notification.h:
364
365 2010-06-17  Csaba Osztrogonác  <ossy@webkit.org>
366
367         Unreviewed rollout r61311, because it made 2 tests fail on Qt bot.
368
369         [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
370         https://bugs.webkit.org/show_bug.cgi?id=36702
371
372         * plugins/qt/PluginViewQt.cpp:
373         (WebCore::PluginView::updatePluginWidget):
374
375 2010-05-28  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
376
377         Reviewed by Simon Hausmann, Antti Koivisto
378
379         Make repaint throttling parameters runtime configurable.
380         https://bugs.webkit.org/show_bug.cgi?id=38401
381
382         REPAINT_THROTTLING now chooses default values for throttling parameters.
383         Should be removed when applications start using runtime configuration.
384
385         * page/FrameView.cpp:
386         (WebCore::FrameView::reset):
387         (WebCore::FrameView::updateDeferredRepaintDelay):
388         (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
389         (WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading):
390         (WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading):
391         (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading):
392         * page/FrameView.h:
393
394 2010-06-17  Robert Hogan  <robert@webkit.org>
395
396         Reviewed by Kenneth Rohde Christiansen.
397
398         [Qt] NPP_SetWindow seems to not be called when TestNetscapePlugin is moved
399
400         https://bugs.webkit.org/show_bug.cgi?id=36702
401
402         setNPWindowIfNeeded() is called on paint() in PluginViewQt, which doesn't
403         work for DRT. So call it if we are in DRT mode and the window geometry
404         has changed.
405
406         Unskips plugins/reentrant-update-widget-positions.html
407
408         * plugins/qt/PluginViewQt.cpp:
409         (WebCore::PluginView::updatePluginWidget):
410
411 2010-06-17  Simon Hausmann  <simon.hausmann@nokia.com>
412
413         Reviewed by Kenneth Christiansen.
414
415         [Qt] Avoid unnecessary calls to save() and restore() when drawing images
416
417         Avoid calling the expensive save() and restore() on the GraphicsContext just
418         for changing the composition mode. Instead save and restore it manually
419         on QPainter.
420
421         Change fac227f609e544f8f55aca8447b4328d6534407a in Qt makes sure that the
422         call to QPainter::setCompositionMode doesn't do anything if the mode hasn't
423         changed.
424
425         * platform/graphics/GraphicsContext.h:
426         * platform/graphics/qt/GraphicsContextQt.cpp:
427         (WebCore::GraphicsContext::toQtCompositionMode):
428         * platform/graphics/qt/ImageQt.cpp:
429         (WebCore::BitmapImage::draw):
430
431 2010-06-16  Dawit Alemayehu  <adawit@kde.org>
432
433         Reviewed by Simon Hausmann.
434
435         [Qt] QtWebKit crashes while initializing flash plugin 10.1.53.64.
436         https://bugs.webkit.org/show_bug.cgi?id=40567
437
438         Avoid preventable crashes by ensuring gtk_init() is called in the
439         flash viewer plugins before calling NP_Initialize.
440
441         * plugins/qt/PluginPackageQt.cpp:
442         (WebCore::PluginPackage::load):
443
444 2010-06-16  Tony Gentilcore  <tonyg@chromium.org>
445
446         Reviewed by David Levin.
447
448         Guarantee that references are held for CachedScripts in HTMLDocumentParser.
449         https://bugs.webkit.org/show_bug.cgi?id=40177
450
451         No new tests because no new functionality.
452
453         * html/HTMLDocumentParser.cpp:
454         (WebCore::HTMLDocumentParser::reset):
455         (WebCore::HTMLDocumentParser::executeExternalScriptsIfReady):
456
457 2010-06-16  Qi Zhang  <qi.2.zhang@nokia.com>
458
459         Reviewed by Laszlo Gombos.
460
461          [Qt] Repeat pattern should start from origin
462          https://bugs.webkit.org/show_bug.cgi?id=39225
463
464          Patterns must be painted so that the top left of the first image 
465          is anchored at the origin of the coordinate space.
466
467         * platform/graphics/qt/GraphicsContextQt.cpp:
468         (WebCore::drawRepeatPattern):
469         (WebCore::GraphicsContext::fillRect):
470
471 2010-06-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
472
473         Reviewed by Simon Hausmann.
474
475         [Qt] WebGL viewport does not show up on N900  
476         https://bugs.webkit.org/show_bug.cgi?id=38528
477
478         With OGLES2 add default precision to the shader code.
479         Use GLsizeiptr and GLintptr with OGLES2.
480         Call paint() in beginPaint() so that drawTexture() is used 
481         whenever possible.
482
483         * platform/graphics/qt/GraphicsContext3DQt.cpp:
484         (WebCore::GraphicsContext3D::beginPaint):
485         (WebCore::GraphicsContext3D::paint):
486         (WebCore::GraphicsContext3D::shaderSource):
487
488 2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>
489
490         Reviewed by Simon Fraser.
491
492         Spatial Navigation: refactor scrollInDirection to work with scrollable content
493         https://bugs.webkit.org/show_bug.cgi?id=39195
494
495         scrollInDirection now receives as parameter the node that the Spatial Navigation
496         found as the more appropriated to move focus to. If it is in a scrollable container
497         (e.g. <div> with clipped overflow content), it scrolls recursively starting from
498         the container, not the current focused node.
499
500         Test: fast/events/spatial-navigation/snav-only-clipped-overflow-content.html
501
502         * page/FocusController.cpp:
503         (WebCore::FocusController::advanceFocusDirectionally):
504         * page/SpatialNavigation.cpp:
505         (WebCore::scrollInDirection):
506         * page/SpatialNavigation.h:
507
508 2010-06-16  Brady Eidson  <beidson@apple.com>
509
510         Reviewed by Eric Carlson
511
512         <rdar://problem/7249553> and https://bugs.webkit.org/show_bug.cgi?id=40749
513         ResourceLoader::willCacheResponse() needs to null-check Frame::Settings()
514
515         No new tests. (Discovered via crash reports, no reproducible cases noted)
516
517         * loader/ResourceLoader.cpp:
518         (WebCore::ResourceLoader::willCacheResponse):  Null check m_frame->settings(), 
519           but also add an ASSERT so debug-build developers can learn more about why
520           this might be happening.
521
522 2010-06-16  Darin Adler  <darin@apple.com>
523
524         Try to fix the MathML build.
525
526         * mathml/MathMLMathElement.h: Added missing return type.
527
528 2010-06-16  Darin Adler  <darin@apple.com>
529
530         Reviewed by David Levin.
531
532         Deploy adoptRef in more places, including all HTML and MathML elements
533         https://bugs.webkit.org/show_bug.cgi?id=39941
534
535         * dom/Element.cpp:
536         (WebCore::Element::dispatchAttrRemovalEvent): Use create instead of new
537         in commented-out code.
538         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
539
540         * dom/Node.h: Removed now-unused CreateElementZeroRefCount and
541         CreateHTMLElementZeroRefCount.
542
543         * editing/InsertListCommand.cpp:
544         (WebCore::InsertListCommand::insertList): Use create instead of new, fixing
545         a storage leak.
546
547         * editing/ModifySelectionListLevel.cpp:
548         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
549         Removed "WithType" from function name. Use create instead of new, fixing a
550         storage leak.
551         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Use
552         create instead of new, fixing a storage leak.
553
554         * storage/IndexedDatabaseImpl.cpp:
555         (WebCore::IndexedDatabaseImpl::create): Use adoptRef, fixing a storage leak.
556
557         * editing/ModifySelectionListLevel.h: Added create functions.
558
559         * html/HTMLAnchorElement.cpp:
560         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
561         * html/HTMLFrameOwnerElement.cpp:
562         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
563         * html/HTMLMeterElement.cpp:
564         (WebCore::HTMLMeterElement::HTMLMeterElement):
565         * html/HTMLProgressElement.cpp:
566         (WebCore::HTMLProgressElement::HTMLProgressElement):
567         Removed code to explicitly pass CreateHTMLElement construction type since that's
568         now the type used for all HTML elements.
569
570         * html/HTMLFormControlElement.cpp:
571         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
572         * html/HTMLFormControlElement.h:
573         Removed construction type argument, since CreateHTMLElement is now the type used
574         for all HTML elements.
575
576         * mathml/MathMLElement.cpp:
577         (WebCore::MathMLElement::MathMLElement): Removed construction type of
578         CreateStyledElementZeroRefCount so we'll use the default construction
579         type, CreateStyledElement.
580         (WebCore::MathMLElement::create): Use adoptRef.
581
582         * mathml/MathMLElement.h: Made isMathMLElement function private and
583         removed unneeded override of createRenderer, because it did the
584         same thing as the base class's createRenderer function.
585
586         * mathml/MathMLInlineContainerElement.cpp:
587         (WebCore::MathMLInlineContainerElement::create): Use adoptRef.
588         (WebCore::MathMLInlineContainerElement::createRenderer):
589         Removed unnecessarily initialization of local variable and removed the
590         case for mathTag, since that uses a different derived class.
591
592         * mathml/MathMLInlineContainerElement.h: Made createRenderrer override
593         private.
594
595         * mathml/MathMLMathElement.cpp:
596         (WebCore::MathMLMathElement::MathMLMathElement): Marked inline since
597         it is called in only one place.
598         (WebCore::MathMLMathElement::create): Use adoptRef.
599         (WebCore::MathMLMathElement::createRenderer): Added. Creates a
600         RenderMathMLMath object.
601
602         * mathml/MathMLMathElement.h: Made constructor private and added a
603         private override of createRenderer.
604
605         * mathml/MathMLTextElement.cpp:
606         (WebCore::MathMLTextElement::MathMLTextElement): Marked inline since
607         it is called in only one place.
608         (WebCore::MathMLTextElement::create): Use adoptRef.
609         (WebCore::MathMLTextElement::createRenderer): Changed to call through
610         to the base class instead of calling RenderObject::createObject directly.
611
612         * mathml/MathMLTextElement.h: Made the constructor and createRenderer
613         function private.
614
615         * rendering/RenderFileUploadControl.cpp:
616         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
617         Removed an unneeded initializer.
618
619         * rendering/RenderProgress.cpp: Tweaked includes.
620
621         * rendering/ShadowElement.cpp: Added a "using namespace" directive.
622         * rendering/ShadowElement.h: Tweaked formatting. Made more functions
623         private.
624
625         * editing/DeleteButton.cpp:
626         (WebCore::DeleteButton::create):
627         * html/HTMLAudioElement.cpp:
628         (WebCore::HTMLAudioElement::create):
629         (WebCore::HTMLAudioElement::createForJSConstructor):
630         * html/HTMLBRElement.cpp:
631         (WebCore::HTMLBRElement::create):
632         * html/HTMLBaseElement.cpp:
633         (WebCore::HTMLBaseElement::create):
634         * html/HTMLBaseFontElement.cpp:
635         (WebCore::HTMLBaseFontElement::create):
636         * html/HTMLBlockquoteElement.cpp:
637         (WebCore::HTMLBlockquoteElement::create):
638         * html/HTMLBodyElement.cpp:
639         (WebCore::HTMLBodyElement::create):
640         * html/HTMLButtonElement.cpp:
641         (WebCore::HTMLButtonElement::create):
642         * html/HTMLCanvasElement.cpp:
643         (WebCore::HTMLCanvasElement::create):
644         * html/HTMLDListElement.cpp:
645         (WebCore::HTMLDListElement::create):
646         * html/HTMLDataGridCellElement.cpp:
647         (WebCore::HTMLDataGridCellElement::create):
648         * html/HTMLDataGridColElement.cpp:
649         (WebCore::HTMLDataGridColElement::create):
650         * html/HTMLDataGridElement.cpp:
651         (WebCore::HTMLDataGridElement::create):
652         * html/HTMLDataGridRowElement.cpp:
653         (WebCore::HTMLDataGridRowElement::create):
654         * html/HTMLDataListElement.cpp:
655         (WebCore::HTMLDataListElement::create):
656         * html/HTMLDivElement.cpp:
657         (WebCore::HTMLDivElement::create):
658         * html/HTMLElement.cpp:
659         (WebCore::HTMLElement::create):
660         * html/HTMLElement.h:
661         (WebCore::HTMLElement::HTMLElement):
662         * html/HTMLFieldSetElement.cpp:
663         (WebCore::HTMLFieldSetElement::create):
664         * html/HTMLFontElement.cpp:
665         (WebCore::HTMLFontElement::create):
666         * html/HTMLFormElement.cpp:
667         (WebCore::HTMLFormElement::create):
668         * html/HTMLFrameSetElement.cpp:
669         (WebCore::HTMLFrameSetElement::create):
670         * html/HTMLHRElement.cpp:
671         (WebCore::HTMLHRElement::create):
672         * html/HTMLHeadElement.cpp:
673         (WebCore::HTMLHeadElement::create):
674         * html/HTMLHeadingElement.cpp:
675         (WebCore::HTMLHeadingElement::create):
676         * html/HTMLHtmlElement.cpp:
677         (WebCore::HTMLHtmlElement::create):
678         * html/HTMLImageElement.cpp:
679         (WebCore::HTMLImageElement::create):
680         (WebCore::HTMLImageElement::createForJSConstructor):
681         * html/HTMLInputElement.cpp:
682         (WebCore::HTMLInputElement::create):
683         * html/HTMLIsIndexElement.cpp:
684         (WebCore::HTMLIsIndexElement::create):
685         * html/HTMLKeygenElement.cpp:
686         (WebCore::HTMLKeygenElement::create):
687         * html/HTMLLIElement.cpp:
688         (WebCore::HTMLLIElement::create):
689         * html/HTMLLabelElement.cpp:
690         (WebCore::HTMLLabelElement::create):
691         * html/HTMLLegendElement.cpp:
692         (WebCore::HTMLLegendElement::create):
693         * html/HTMLLinkElement.cpp:
694         (WebCore::HTMLLinkElement::create):
695         * html/HTMLMapElement.cpp:
696         (WebCore::HTMLMapElement::create):
697         * html/HTMLMarqueeElement.cpp:
698         (WebCore::HTMLMarqueeElement::create):
699         * html/HTMLMenuElement.cpp:
700         (WebCore::HTMLMenuElement::create):
701         * html/HTMLMetaElement.cpp:
702         (WebCore::HTMLMetaElement::create):
703         * html/HTMLModElement.cpp:
704         (WebCore::HTMLModElement::create):
705         * html/HTMLNoScriptElement.cpp:
706         (WebCore::HTMLNoScriptElement::create):
707         * html/HTMLOListElement.cpp:
708         (WebCore::HTMLOListElement::create):
709         * html/HTMLOptGroupElement.cpp:
710         (WebCore::HTMLOptGroupElement::create):
711         * html/HTMLOptionElement.cpp:
712         (WebCore::HTMLOptionElement::create):
713         (WebCore::HTMLOptionElement::createForJSConstructor):
714         * html/HTMLParagraphElement.cpp:
715         (WebCore::HTMLParagraphElement::create):
716         * html/HTMLParamElement.cpp:
717         (WebCore::HTMLParamElement::create):
718         * html/HTMLPreElement.cpp:
719         (WebCore::HTMLPreElement::create):
720         * html/HTMLQuoteElement.cpp:
721         (WebCore::HTMLQuoteElement::create):
722         * html/HTMLScriptElement.cpp:
723         (WebCore::HTMLScriptElement::create):
724         * html/HTMLSelectElement.cpp:
725         (WebCore::HTMLSelectElement::create):
726         * html/HTMLSourceElement.cpp:
727         (WebCore::HTMLSourceElement::create):
728         * html/HTMLStyleElement.cpp:
729         (WebCore::HTMLStyleElement::create):
730         * html/HTMLTableCaptionElement.cpp:
731         (WebCore::HTMLTableCaptionElement::create):
732         * html/HTMLTableCellElement.cpp:
733         (WebCore::HTMLTableCellElement::create):
734         * html/HTMLTableColElement.cpp:
735         (WebCore::HTMLTableColElement::create):
736         * html/HTMLTableElement.cpp:
737         (WebCore::HTMLTableElement::create):
738         * html/HTMLTableRowElement.cpp:
739         (WebCore::HTMLTableRowElement::create):
740         * html/HTMLTableSectionElement.cpp:
741         (WebCore::HTMLTableSectionElement::create):
742         * html/HTMLTextAreaElement.cpp:
743         (WebCore::HTMLTextAreaElement::create):
744         * html/HTMLTitleElement.cpp:
745         (WebCore::HTMLTitleElement::create):
746         * html/HTMLUListElement.cpp:
747         (WebCore::HTMLUListElement::create):
748         * html/HTMLVideoElement.cpp:
749         (WebCore::HTMLVideoElement::create):
750         * loader/ImageDocument.cpp:
751         (WebCore::ImageDocumentElement::create):
752         * rendering/MediaControlElements.cpp:
753         (WebCore::MediaControlShadowRootElement::create):
754         (WebCore::MediaControlElement::create):
755         (WebCore::MediaControlTimelineContainerElement::create):
756         (WebCore::MediaControlVolumeSliderContainerElement::create):
757         (WebCore::MediaControlStatusDisplayElement::create):
758         (WebCore::MediaControlMuteButtonElement::create):
759         (WebCore::MediaControlPlayButtonElement::create):
760         (WebCore::MediaControlSeekButtonElement::create):
761         (WebCore::MediaControlRewindButtonElement::create):
762         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
763         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
764         (WebCore::MediaControlTimelineElement::create):
765         (WebCore::MediaControlVolumeSliderElement::create):
766         (WebCore::MediaControlFullscreenButtonElement::create):
767         (WebCore::MediaControlTimeDisplayElement::create):
768         * rendering/RenderSlider.cpp:
769         (WebCore::SliderThumbElement::create):
770         * rendering/TextControlInnerElements.cpp:
771         (WebCore::TextControlInnerElement::create):
772         (WebCore::TextControlInnerTextElement::create):
773         (WebCore::SearchFieldResultsButtonElement::create):
774         (WebCore::SearchFieldCancelButtonElement::create):
775         (WebCore::SpinButtonElement::create):
776         Use adoptRef.
777
778 2010-06-16  Adam Barth  <abarth@webkit.org>
779
780         Reviewed by Eric Seidel.
781
782         HTML5 parser crash when setTimeout document.write after slow script
783         https://bugs.webkit.org/show_bug.cgi?id=40726
784
785         According to the HTML5 spec, we're supposed to open() a new document if
786         we receive a document.write() after we've received EOF for the network.
787         The old parser just dumped those bytes onto the end of the network
788         stream.  After this patch, our behavior matches Minefield.
789
790         Test: http/tests/misc/write-while-waiting.html
791
792         * WebCore.xcodeproj/project.pbxproj:
793         * dom/Document.cpp:
794         (WebCore::Document::write):
795         * dom/DocumentParser.h:
796         * dom/XMLDocumentParser.cpp:
797         (WebCore::XMLDocumentParser::finishWasCalled):
798         * dom/XMLDocumentParser.h:
799         * html/HTML5DocumentParser.cpp:
800         (WebCore::HTML5DocumentParser::finishWasCalled):
801         * html/HTML5DocumentParser.h:
802         (WebCore::HTML5DocumentParser::InputStream::isClosed):
803         * html/HTMLDocumentParser.cpp:
804         (WebCore::HTMLDocumentParser::finishWasCalled):
805         * html/HTMLDocumentParser.h:
806         * loader/ImageDocument.cpp:
807         (WebCore::ImageTokenizer::finishWasCalled):
808         * loader/MediaDocument.cpp:
809         (WebCore::MediaDocumentParser::finishWasCalled):
810         * loader/PluginDocument.cpp:
811         (WebCore::PluginDocumentParser::finishWasCalled):
812         * loader/SinkDocument.cpp:
813         (WebCore::SinkDocumentParser::finishWasCalled):
814         * loader/TextDocument.cpp:
815         (WebCore::TextDocumentParser::finishWasCalled):
816
817 2010-06-16  Martin Robinson  <mrobinson@igalia.com>
818
819         Reviewed by Gustavo Noronha Silva.
820
821         [GTK] ClipboardGtk::setURL does not match the behavior of other platforms
822         https://bugs.webkit.org/show_bug.cgi?id=40640
823
824         Instead of writing URL labels to the text portion of the clipboard or
825         drag-and-drop data, write the URL itself. Also escape the label text
826         of URLs. Abstracts logic into DataObjectGtk, so ClipboardGtk and
827         PasteboardGtk can share it.
828
829         Tests for this issue will be activated when dropping support has been
830         added to the GTK+ EventSender.
831
832         * platform/gtk/ClipboardGtk.cpp:
833         (WebCore::ClipboardGtk::writeURL): Use DataObjectGtk::setURL.
834         * platform/gtk/DataObjectGtk.cpp:
835         (WebCore::DataObjectGtk::setURL):
836         Added. Write URL to the text portion and remember to escape the
837         label when creating the markup portion.
838         * platform/gtk/DataObjectGtk.h: Add declaration of new method.
839         * platform/gtk/PasteboardGtk.cpp: 
840         (WebCore::Pasteboard::writeURL): Use DataObjectGtk::setURL.
841
842 2010-06-16  Adam Barth  <abarth@webkit.org>
843
844         Reviewed by Eric Seidel.
845
846         Hit assertion in WebCore::HTML5Token::appendToSystemIdentifier
847         https://bugs.webkit.org/show_bug.cgi?id=40729
848
849         This was a copy/paste error.  Yay for ASSERTs.
850
851         * html/HTML5Lexer.cpp:
852         (WebCore::HTML5Lexer::nextToken):
853
854 2010-06-16  Stuart Morgan  <stuartmorgan@chromium.org>
855
856         Reviewed by Anders Carlsson.
857
858         Bring npapi.h more in line with upstream npapi-headers version:
859         - Remove obsolete XP_MAC sections.
860         - Remove Metrowerks defines.
861         - Add OS/2 defines.
862         - Add Maemo defines.
863         - Add new version of the custom Carbon event definitions.
864         - Sync platform define style/details
865
866         https://bugs.webkit.org/show_bug.cgi?id=38666
867
868         * bridge/npapi.h:
869
870 2010-06-16  Simon Fraser  <simon.fraser@apple.com>
871
872         Reviewed by Sam Weinig.
873
874         Allow transitions and animations of clip: rect
875         https://bugs.webkit.org/show_bug.cgi?id=38130
876         
877         Make the CSS clip property animatable.
878
879         Test: transitions/clip-transition.html
880
881         * page/animation/AnimationBase.cpp:
882         (WebCore::blendFunc): New blend function for LengthBox
883         (WebCore::AnimationBase::ensurePropertyMap): Create a PropertyWrapper for LengthBoxes.
884
885         * platform/LengthBox.h:
886         (WebCore::LengthBox::LengthBox): New ctor that takes 4 length values.
887         * rendering/style/RenderStyle.h:
888         (WebCore::InheritedFlags::setClip): New method that takes a LengthBox.
889
890 2010-06-16  Simon Fraser  <simon.fraser@apple.com>
891
892         Reviewed by Dan Bernstein.
893
894         Fix clipping via CSS clip: with composited descendants
895         https://bugs.webkit.org/show_bug.cgi?id=40579
896         
897         Consult the 'clip' style, as well as overflow, when creating clipping
898         compositing layers.
899
900         Tests: compositing/geometry/clip.html
901                compositing/overflow/clip-descendents.html
902
903         * rendering/RenderLayerBacking.cpp:
904         (WebCore::clipBox): Utility function that returns the union of the clip and overflow
905         boxes.
906         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Use clipBox() to
907         get the correct clipping rectangle.
908         * rendering/RenderLayerCompositor.cpp:
909         (WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer): Look for
910         clip as well as overflow.
911         (WebCore::RenderLayerCompositor::clipsCompositingDescendants): Ditto.
912
913 2010-06-16  Simon Fraser  <simon.fraser@apple.com>
914
915         Reviewed by Darin Adler.
916
917         REGRESSION: Undocked inspector toolbar is white
918         https://bugs.webkit.org/show_bug.cgi?id=40644
919
920         Make the html element 100% height so that we don't erase the background to white, after r61215.
921
922         * inspector/front-end/inspector.css:
923         (html):
924
925 2010-06-16  Brian Weinstein  <bweinstein@apple.com>
926
927         Reviewed by Darin Adler.
928
929         User scripts injected on start are not run on image documents.
930         https://bugs.webkit.org/show_bug.cgi?id=40722
931         <rdar://8087394>
932         
933         User scripts that are injected on start are run from FrameLoader::dispatchDocumentElementAvailable,
934         but this is never called from ImageDocument, so call it when we create a document element for
935         our image document.
936
937         * loader/ImageDocument.cpp:
938         (WebCore::ImageDocument::createDocumentStructure): Call FrameLoader::dispatchDocumentElementAvailable
939             after creating our document element.
940
941 2010-06-16  Brady Eidson  <beidson@apple.com>
942
943         Reviewed by NOBODY (Build fix for Mac)
944
945         * WebCore.xcodeproj/project.pbxproj: Make paths relative to the project root.
946
947 2010-06-16  Chris Marrin  <cmarrin@apple.com>
948
949         Reviewed by Eric Carlson.
950
951         https://bugs.webkit.org/show_bug.cgi?id=40643
952         
953         Second of three steps - rename Canvas3DLayer to WebGLLayer
954
955         * WebCore.xcodeproj/project.pbxproj:
956         * platform/graphics/mac/Canvas3DLayer.h: Removed.
957         * platform/graphics/mac/Canvas3DLayer.mm: Removed.
958         * platform/graphics/mac/GraphicsLayerCA.mm:
959         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
960         * platform/graphics/mac/WebGLLayer.h: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.h.
961         * platform/graphics/mac/WebGLLayer.mm: Copied from WebCore/platform/graphics/mac/Canvas3DLayer.mm.
962
963 2010-06-16  Chris Marrin  <cmarrin@apple.com>
964
965         Reviewed by Simon Fraser.
966
967         https://bugs.webkit.org/show_bug.cgi?id=40643
968         
969         Rename GraphicsContext3DMac.cpp so it can interact with CALayer
970
971         * platform/graphics/mac/GraphicsContext3DMac.cpp: Removed.
972         * platform/graphics/mac/GraphicsContext3DMac.mm: Copied from WebCore/platform/graphics/mac/GraphicsContext3DMac.cpp.
973         * WebCore.xcodeproj/project.pbxproj
974
975 2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>
976
977         Reviewed by Dirk Schulze.
978
979         Add new files, needed in SVG Text rewrite
980         https://bugs.webkit.org/show_bug.cgi?id=40676
981
982         Land SVGTextChunkLayoutInfo.cpp and SVGTextQuery.(cpp|h), both with an "#if 0" on top, as they will be needed
983         in a later patch, completing the SVG Text rewrite, that will enable them.
984
985         Doesn't affect any code for now, it should just reduce the review amount.
986
987         * Android.mk:
988         * CMakeLists.txt:
989         * GNUmakefile.am:
990         * WebCore.gypi:
991         * WebCore.pro:
992         * WebCore.vcproj/WebCore.vcproj:
993         * WebCore.xcodeproj/project.pbxproj:
994         * rendering/SVGTextChunkLayoutInfo.cpp: Added.
995         (WebCore::cummulatedWidthOrHeightOfTextChunk):
996         (WebCore::cummulatedWidthOfTextChunk):
997         (WebCore::cummulatedHeightOfTextChunk):
998         (WebCore::calculateTextAnchorShiftForTextChunk):
999         (WebCore::applyTextAnchorToTextChunk):
1000         (WebCore::calculateTextLengthCorrectionForTextChunk):
1001         (WebCore::applyTextLengthCorrectionToTextChunk):
1002         (WebCore::SVGTextChunkLayoutInfo::startTextChunk):
1003         (WebCore::SVGTextChunkLayoutInfo::closeTextChunk):
1004         (WebCore::SVGTextChunkLayoutInfo::buildTextChunks):
1005         (WebCore::SVGTextChunkLayoutInfo::recursiveBuildTextChunks):
1006         (WebCore::SVGTextChunkLayoutInfo::layoutTextChunks):
1007         * rendering/SVGTextChunkLayoutInfo.h: Add missing include, otherwhise compiling SVGTextChunkLayoutInfo.cpp will fail.
1008         * rendering/SVGTextQuery.cpp: Added.
1009         (WebCore::SVGTextQuery::Data::Data):
1010         (WebCore::flowBoxForRenderer):
1011         (WebCore::mapLengthThroughChunkTransformation):
1012         (WebCore::SVGTextQuery::SVGTextQuery):
1013         (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
1014         (WebCore::SVGTextQuery::executeQuery):
1015         (WebCore::SVGTextQuery::mapStartAndLengthIntoChunkPartCoordinates):
1016         (WebCore::SVGTextQuery::measureCharacterRange):
1017         (WebCore::NumberOfCharactersData::NumberOfCharactersData):
1018         (WebCore::SVGTextQuery::numberOfCharactersCallback):
1019         (WebCore::SVGTextQuery::numberOfCharacters):
1020         (WebCore::TextLengthData::TextLengthData):
1021         (WebCore::SVGTextQuery::textLengthCallback):
1022         (WebCore::SVGTextQuery::textLength):
1023         (WebCore::SubStringLengthData::SubStringLengthData):
1024         (WebCore::SVGTextQuery::subStringLengthCallback):
1025         (WebCore::SVGTextQuery::subStringLength):
1026         (WebCore::StartPositionOfCharacterData::StartPositionOfCharacterData):
1027         (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
1028         (WebCore::SVGTextQuery::startPositionOfCharacter):
1029         (WebCore::EndPositionOfCharacterData::EndPositionOfCharacterData):
1030         (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
1031         (WebCore::SVGTextQuery::endPositionOfCharacter):
1032         (WebCore::RotationOfCharacterData::RotationOfCharacterData):
1033         (WebCore::SVGTextQuery::rotationOfCharacterCallback):
1034         (WebCore::SVGTextQuery::rotationOfCharacter):
1035         (WebCore::ExtentOfCharacterData::ExtentOfCharacterData):
1036         (WebCore::SVGTextQuery::extentOfCharacterCallback):
1037         (WebCore::SVGTextQuery::extentOfCharacter):
1038         (WebCore::CharacterNumberAtPositionData::CharacterNumberAtPositionData):
1039         (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
1040         (WebCore::SVGTextQuery::characterNumberAtPosition):
1041         * rendering/SVGTextQuery.h: Added.
1042
1043 2010-06-16  Nikolas Zimmermann  <nzimmermann@rim.com>
1044
1045         Reviewed by Dirk Schulze.
1046
1047         Provide floating-point support for text selection framework
1048         https://bugs.webkit.org/show_bug.cgi?id=40665
1049
1050         This is the first chunk of the SVG Text rewrite patches.
1051         offsetForPosition() / selectionRectForText() should accept float/FloatPoint arguments instead
1052         of int/IntPoint. offsetForPosition() already worked with floats internally in Qt and Mac.
1053         selectionRectForText() was already returning a FloatRect, but the passed in origin was an integer.
1054         Fixing these problems in order to support sub-pixel positioning in the upcoming SVG Text rewrite patch.
1055
1056         Add a glyphScale parameter to TextRun, that will be used to support text selection
1057         in lengthAdjust/textLength scenarios in SVG text, soon.
1058
1059         Doesn't affect any testcases so far. HTML is not affected in any way,
1060         as it only ever passes integers to these functions.
1061
1062         * platform/graphics/Font.cpp:
1063         (WebCore::Font::selectionRectForText):
1064         (WebCore::Font::offsetForPosition):
1065         * platform/graphics/Font.h:
1066         * platform/graphics/FontFastPath.cpp:
1067         (WebCore::Font::selectionRectForSimpleText):
1068         (WebCore::Font::offsetForPositionForSimpleText):
1069         * platform/graphics/TextRun.h:
1070         (WebCore::TextRun::TextRun):
1071         (WebCore::TextRun::glyphScale):
1072         (WebCore::TextRun::setGlyphScale):
1073         (WebCore::TextRun::applyGlyphScaling):
1074         * platform/graphics/WidthIterator.cpp:
1075         (WebCore::WidthIterator::advance):
1076         * platform/graphics/chromium/FontChromiumWin.cpp:
1077         (WebCore::Font::selectionRectForComplexText):
1078         (WebCore::Font::offsetForPositionForComplexText):
1079         * platform/graphics/chromium/FontLinux.cpp:
1080         (WebCore::Font::offsetForPositionForComplexText):
1081         (WebCore::Font::selectionRectForComplexText):
1082         * platform/graphics/efl/FontEfl.cpp:
1083         (WebCore::Font::offsetForPositionForComplexText):
1084         (WebCore::Font::selectionRectForComplexText):
1085         * platform/graphics/gtk/FontGtk.cpp:
1086         (WebCore::Font::offsetForPositionForComplexText):
1087         (WebCore::Font::selectionRectForComplexText):
1088         * platform/graphics/haiku/FontHaiku.cpp:
1089         (WebCore::Font::selectionRectForComplexText):
1090         (WebCore::Font::offsetForPositionForComplexText):
1091         * platform/graphics/mac/ComplexTextController.cpp:
1092         (WebCore::ComplexTextController::offsetForPosition):
1093         * platform/graphics/mac/ComplexTextController.h:
1094         * platform/graphics/mac/FontComplexTextMac.cpp:
1095         (WebCore::Font::selectionRectForComplexText):
1096         (WebCore::Font::offsetForPositionForComplexText):
1097         * platform/graphics/qt/FontQt.cpp:
1098         (WebCore::Font::offsetForPositionForSimpleText):
1099         (WebCore::Font::offsetForPositionForComplexText):
1100         (WebCore::Font::selectionRectForSimpleText):
1101         (WebCore::Font::selectionRectForComplexText):
1102         * platform/graphics/win/FontWin.cpp:
1103         (WebCore::Font::selectionRectForComplexText):
1104         (WebCore::Font::offsetForPositionForComplexText):
1105         * platform/graphics/wince/FontWince.cpp:
1106         (WebCore::Font::offsetForPositionForComplexText):
1107         (WebCore::Font::selectionRectForComplexText):
1108         * platform/graphics/wx/FontWx.cpp:
1109         (WebCore::Font::selectionRectForComplexText):
1110         (WebCore::Font::offsetForPositionForComplexText):
1111         * svg/SVGFont.cpp:
1112         (WebCore::Font::selectionRectForTextUsingSVGFont):
1113         (WebCore::Font::offsetForPositionForTextUsingSVGFont):
1114
1115 2010-06-16  Anton Muhin  <antonm@chromium.org>
1116
1117         Reviewed by Nate Chapin.
1118
1119         [v8] Introduce single element caches for WebCore::String to v8::String conversions
1120         https://bugs.webkit.org/show_bug.cgi?id=40435
1121         Measurements show that for some web apps (GMail, Wave) and some scenarios
1122         (intensive reading and/or keeping a tab open for a long time),
1123         hit rate lies in 30--50% interval.
1124         Inlining fast case gives another minor performance win.
1125
1126         * bindings/v8/V8Binding.cpp:
1127         (WebCore::getStringCache):
1128         (WebCore::v8ExternalStringSlow):
1129         * bindings/v8/V8Binding.h:
1130         (WebCore::v8ExternalString):
1131
1132 2010-06-16  Antonio Gomes  <tonikitoo@webkit.org>
1133
1134         Reviewed by Kenneth Christiansen.
1135
1136         Spatial Navigation: using offset{Left,Top} is not enough to get the proper inner frames position
1137         https://bugs.webkit.org/show_bug.cgi?id=39439
1138
1139         As pointed out by Darin Adler in https://bugs.webkit.org/show_bug.cgi?id=18662#c20,
1140         "It's not correct to use the offsetLeft and offsetTop of the frame owner element's renderer because
1141         that's just the distance from the offsetParent, not the absolute position".
1142
1143         Patch fixes that behavior by now considering the offsetTop and offsetLeft the offsetParent recursively,
1144         starting from the HtmlFrameOwnerElement. Previously, only calling offsetTop and offsetLeft works
1145         because all tests were done in htmls where the {i}frame element was a directly a child of the body,
1146         e.g. <html>...<body><iframe src=xxx>....<body></html>.
1147
1148         Test: fast/events/spatial-navigation/snav-iframe-recursive-offset-parent.html
1149
1150         * page/SpatialNavigation.cpp:
1151         (WebCore::renderRectRelativeToRootDocument):
1152
1153 2010-06-16  Dan Bernstein  <mitz@apple.com>
1154
1155         Try to fix the Tiger build
1156
1157         * platform/graphics/mac/SimpleFontDataMac.mm:
1158         (WebCore::SimpleFontData::platformBoundsForGlyph):
1159
1160 2010-06-16  Dan Bernstein  <mitz@apple.com>
1161
1162         Try to fix the Tiger build
1163
1164         * platform/graphics/mac/SimpleFontDataMac.mm:
1165         (WebCore::SimpleFontData::platformBoundsForGlyph):
1166
1167 2010-06-16  Dan Bernstein  <mitz@apple.com>
1168
1169         Reviewed by Alexey Proskuryakov.
1170
1171         <rdar://problem/8077119> REGRESSION (r60247): Google Reader contains the tops of pieces of unidentifiable text under feed headlines.
1172         https://bugs.webkit.org/show_bug.cgi?id=40386
1173
1174         Test: platform/mac/fast/text/x-height.html
1175
1176         The result of platformBoundsForGlyph() is in flipped coordinates, whereas the result of
1177         -[NSFont boundingRectForGlyph:] was not. r60247 failed to account for this.
1178
1179         * platform/graphics/mac/SimpleFontDataMac.mm:
1180         (WebCore::SimpleFontData::platformInit): Measure the height of the x glyph above the baseline
1181         correctly.
1182         (WebCore::SimpleFontData::platformBoundsForGlyph): Return a rect in flipped coordinates on Tiger
1183         as well.
1184
1185 2010-06-16  Adam Barth  <abarth@webkit.org>
1186
1187         Reviewed by Eric Seidel.
1188
1189         Don't crash when a document ends with an entity
1190         https://bugs.webkit.org/show_bug.cgi?id=40658
1191
1192         When we SWITCH_TO a state, we're expecting our caller to have advanced
1193         the source.  Rather than have all the callers check for empty, we do
1194         that ourselves.
1195
1196         * html/HTML5Lexer.cpp:
1197
1198 2010-06-15  Adam Barth  <abarth@webkit.org>
1199
1200         Reviewed by Eric Seidel.
1201
1202         Enable HTML5 lexer
1203         https://bugs.webkit.org/show_bug.cgi?id=40650
1204
1205         * page/Settings.cpp:
1206         (WebCore::Settings::Settings):
1207
1208 2010-06-15  Mark Rowe  <mrowe@apple.com>
1209
1210         Rubber-stamped by David Harrison.
1211
1212         sqlite3_prepare16_v2 is not documented as always setting "tail" during error cases.
1213         Explicitly initialize it to null, just to be safe.
1214
1215         * platform/sql/SQLiteStatement.cpp:
1216         (WebCore::SQLiteStatement::prepare):
1217
1218 2010-06-15  Mark Rowe  <mrowe@apple.com>
1219
1220         Reviewed by Brady Eidson.
1221
1222         <rdar://problem/8091103> URLs not added to history when initial load happens via back/forward navigation
1223
1224         Back/forward navigation currently does not create or update items in the global history. This is usually
1225         desirable, except for in the event where the back/forward list was created programmatically and attached
1226         to the WebView and the initial load in that WebView is being performed as a result of a back/forward
1227         navigation. In that situation it is preferable to ensure that global history item is created or updated.
1228
1229         No test case is added because DumpRenderTree is not able to test the scenario where the initial
1230         load in a WebView occurs via a back/forward navigation.
1231
1232         * loader/FrameLoader.cpp:
1233         (WebCore::FrameLoader::transitionToCommitted): If we're committing the first load in this frame as a
1234         back/forward navigation then we should update the history as if it were a standard load, with the
1235         exception of updating the back/forward list.
1236         * loader/HistoryController.cpp:
1237         (WebCore::HistoryController::updateForStandardLoad): Add a parameter to allow callers to skip updating
1238         the back/forward list.
1239         * loader/HistoryController.h:
1240         (WebCore::HistoryController::):
1241
1242 2010-06-15  Kinuko Yasuda  <kinuko@chromium.org>
1243
1244         Reviewed by David Levin.
1245
1246         Fix compilation errors in BlobBuilder with FILE_WRITER enabled
1247         https://bugs.webkit.org/show_bug.cgi?id=40606
1248
1249         No functionality change so no new tests.
1250
1251         * html/BlobBuilder.cpp:
1252         * html/BlobBuilder.h:
1253
1254 2010-06-15  Jian Li  <jianli@chromium.org>
1255
1256         Reviewed by David Levin.
1257
1258         Move type attribute from File.idl to Blob.idl per latest File API spec.
1259         https://bugs.webkit.org/show_bug.cgi?id=40642
1260
1261         * html/Blob.idl:
1262         * html/File.idl:
1263
1264 2010-06-15  Darin Adler  <darin@apple.com>
1265
1266         Reviewed by Adam Barth.
1267
1268         Move functions out of Frame class that were marked "move to Chrome"
1269         https://bugs.webkit.org/show_bug.cgi?id=39636
1270
1271         Refactoring that does not require new tests.
1272
1273         * loader/FrameLoader.cpp:
1274         (WebCore::FrameLoader::didOpenURL): Call setStatus and setDefaultStatus
1275         on DOMWindow rather than going through Frame.
1276         (WebCore::FrameLoader::open): Ditto.
1277         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call
1278         shouldClose on this object instead of going through Frame.
1279
1280         * page/DOMWindow.cpp:
1281         (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Call
1282         shouldClose on FrameLoader instead of going through Frame.
1283         (WebCore::DOMWindow::focus): Moved the code from Frame::focusWindow
1284         in here.
1285         (WebCore::DOMWindow::blur): Moved the code from Frame::unfocusWindow
1286         in here.
1287         (WebCore::DOMWindow::close): Moved the code from Frame::scheduleClose
1288         in here.
1289         (WebCore::DOMWindow::setStatus): Moved the code from
1290         Frame::setJSStatusBarText in here.
1291         (WebCore::DOMWindow::setDefaultStatus): Moved the code from
1292         Frame::setJSDefaultStatusBarText in here.
1293
1294         * page/DOMWindow.h: Added m_status and m_defaultStatus members to
1295         store the status messages being set by the DOM.
1296
1297         * page/Frame.cpp: Removed all the functions that were marked
1298         "to be moved into Chrome".
1299         * page/Frame.h: Ditto.
1300
1301 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
1302
1303         Fix crashing tests; need to check for null documentElement().
1304
1305         * rendering/RenderView.cpp:
1306         (WebCore::RenderView::paintBoxDecorations):
1307
1308 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
1309
1310         Reviewed by Dave Hyatt.
1311
1312         Garbage shown outside HTML if HTML is absolutely positioned
1313         https://bugs.webkit.org/show_bug.cgi?id=36163
1314         
1315         Add a check that the root renderer (the document element's renderer) covers
1316         the entire viewport before deciding that we don't need the RenderView
1317         to paint its background. Fixes lack of painting with positioned, floated, and
1318         display: table html elements.
1319
1320         Test: fast/repaint/positioned-document-element.html
1321
1322         * rendering/RenderView.cpp:
1323         (WebCore::RenderView::paintBoxDecorations):
1324
1325 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
1326
1327         Reviewed by Dan Bernstein.
1328
1329         Safari 5 does not clear background with transformed html element
1330         https://bugs.webkit.org/show_bug.cgi?id=40498
1331         
1332         When the document element is composited, ensure that the FrameView
1333         paints the background, because the composited layer may be transparent,
1334         or might get moved via animation.
1335
1336         Test: compositing/repaint/composited-document-element.html
1337
1338         * rendering/RenderView.cpp:
1339         (WebCore::isComposited):
1340         (WebCore::rendererObscuresBackground):
1341
1342 2010-06-15  Xan Lopez  <xlopez@igalia.com>
1343
1344         Try to fix GTK+ build.
1345
1346         * platform/gtk/GtkVersioning.h:
1347
1348 2010-06-15  Darin Fisher  <darin@chromium.org>
1349
1350         Reviewed by Brady Eidson.
1351
1352         Introduce HistoryItem::itemSequenceNumber and use it to identify
1353         HistoryItems that are clones of one another.
1354
1355         Changes HistoryController::recursiveGoToItem to use itemSequenceNumber
1356         equality instead of isTargetItem as the pre-requisite for not calling
1357         FrameLoader::loadItem.
1358
1359         Changes FrameLoader::loadItem to require equivalent
1360         documentSequenceNumber before initiating a same document navigation.
1361         This alone would appear to fix the bug, but it does not go far enough
1362         since without the itemSequenceNumber equality check, we'd re-load more
1363         often than we should.
1364
1365         Moves documentSequenceNumber assignment into createItemTree as cleanup
1366         and to ensure that it gets called properly whenever we create a cloned
1367         HistoryItem.  (createItemTree's mission is to create clones up until
1368         or including the target frame depending on the value of the doClip
1369         parameter.)
1370
1371         Removes the now unused HistoryController::urlsMatchItem.
1372
1373         https://bugs.webkit.org/show_bug.cgi?id=40451
1374
1375         Test: fast/history/history-back-within-subframe.html
1376               http/tests/navigation/history-back-across-form-submission-to-fragment.html
1377
1378         * history/HistoryItem.cpp:
1379         (WebCore::generateSequenceNumber):
1380         (WebCore::HistoryItem::HistoryItem):
1381         * history/HistoryItem.h:
1382         (WebCore::HistoryItem::setItemSequenceNumber):
1383         (WebCore::HistoryItem::itemSequenceNumber):
1384         * loader/FrameLoader.cpp:
1385         (WebCore::FrameLoader::loadItem):
1386         * loader/HistoryController.cpp:
1387         (WebCore::HistoryController::updateBackForwardListForFragmentScroll):
1388         (WebCore::HistoryController::createItemTree):
1389         (WebCore::HistoryController::recursiveGoToItem):
1390         (WebCore::HistoryController::pushState):
1391         * loader/HistoryController.h:
1392
1393 2010-06-15  Xan Lopez  <xlopez@igalia.com>
1394
1395         Reviewed by Gustavo Noronha.
1396
1397         [GTK] Does not compile with -DGSEAL_ENABLE
1398         https://bugs.webkit.org/show_bug.cgi?id=37851
1399
1400         Fix compilation with GSEAL_ENABLE.
1401
1402         * platform/gtk/GtkVersioning.h:
1403         * platform/gtk/PlatformScreenGtk.cpp:
1404         (WebCore::screenDepth):
1405         (WebCore::screenDepthPerComponent):
1406         * platform/gtk/PopupMenuGtk.cpp:
1407         (WebCore::PopupMenu::show):
1408         * platform/gtk/ScrollbarGtk.cpp:
1409         (ScrollbarGtk::detachAdjustment):
1410         (ScrollbarGtk::updateThumbPosition):
1411         (ScrollbarGtk::updateThumbProportion):
1412         * plugins/gtk/PluginViewGtk.cpp:
1413         (WebCore::PluginView::paint):
1414         (WebCore::PluginView::initXEvent):
1415         (WebCore::PluginView::platformGetValue):
1416         (WebCore::PluginView::platformStart):
1417         * plugins/gtk/gtk2xtbin.c:
1418         (gtk_xtbin_realize):
1419         (gtk_xtbin_new):
1420         (gtk_xtbin_set_position):
1421         (gtk_xtbin_unrealize):
1422
1423 2010-06-15  Xan Lopez  <xlopez@igalia.com>
1424
1425         Unreviewed build fix.
1426
1427         Fix the build when WebSockets are disabled.
1428
1429         * bindings/js/JSWorkerContextCustom.cpp:
1430
1431 2010-06-15  Simon Fraser  <simon.fraser@apple.com>
1432
1433         Reviewed by Dan Bernstein.
1434
1435         YouTube thumbnail borders vanish during transition
1436         https://bugs.webkit.org/show_bug.cgi?id=40551
1437         
1438         Turn off the direct image optimization if the image has a clip style, so that is is
1439         correctly rendered with the clip.
1440
1441         Test: compositing/images/clip-on-directly-composited-image.html
1442
1443         * rendering/RenderLayerBacking.cpp:
1444         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
1445
1446 2010-06-15  Yury Semikhatsky  <yurys@chromium.org>
1447
1448         Reviewed by Pavel Feldman.
1449
1450         [v8] Web Inspector: make ui tests pass when ScriptDebugServer is used
1451         https://bugs.webkit.org/show_bug.cgi?id=40623
1452
1453         * bindings/v8/JavaScriptCallFrame.cpp:
1454         (WebCore::JavaScriptCallFrame::functionName): return empty string for anonymous functions instead of [anonymous].
1455         * bindings/v8/ScriptDebugServer.cpp:
1456         (WebCore::ScriptDebugServer::handleV8DebugEvent): autocontinue on syntax errors since there is no stack trace and
1457         not much to inspect.
1458
1459 2010-06-15  Adam Roben  <aroben@apple.com>
1460
1461         Make WebCore's and JavaScriptCore's DerivedSources available for debugging in production builds
1462
1463         Fixes <http://webkit.org/b/40626> <rdar://problem/8094205>.
1464
1465         Reviewed by Sam Weinig.
1466
1467         * WebCore.vcproj/WebCore.make: Copy the contents of WebCore's
1468         DerivedSources directory to AppleInternal/Sources/WebCore.
1469
1470 2010-06-15  Zhenyao Mo  <zmo@google.com>
1471
1472         Reviewed by Dimitri Glazkov.
1473
1474         Bring framebuffer functions to GLES2 conformance
1475         https://bugs.webkit.org/show_bug.cgi?id=40175
1476
1477         Test: fast/canvas/webgl/framebuffer-test.html
1478
1479         * html/canvas/WebGLRenderingContext.cpp:
1480         (WebCore::WebGLRenderingContext::checkFramebufferStatus): Check input parameters and deal with default framebuffer situation.
1481         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Check input parameters.
1482         (WebCore::WebGLRenderingContext::framebufferTexture2D): Ditto.
1483         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
1484         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Check input parameters.
1485         * html/canvas/WebGLRenderingContext.h: Add validateFramebufferFuncParameters.
1486
1487 2010-06-15  Patrick Gansterer  <paroga@paroga.com>
1488
1489         Reviewed by David Levin.
1490
1491         Buildfix for ResourceHandleWin after r24202 and r55542.
1492         https://bugs.webkit.org/show_bug.cgi?id=32963
1493
1494         * platform/network/win/ResourceHandleWin.cpp:
1495         (WebCore::ResourceHandle::onHandleCreated):
1496         (WebCore::ResourceHandle::onRequestComplete):
1497         (WebCore::transferJobStatusCallback):
1498         (WebCore::ResourceHandle::start):
1499
1500 2010-06-12  Pavel Feldman  <pfeldman@chromium.org>
1501
1502         Reviewed by Joe Pecoraro.
1503
1504         Web Inspector: Should not expose window.console._inspectorCommandLineAPI to the web.
1505
1506         https://bugs.webkit.org/show_bug.cgi?id=40500
1507
1508         * inspector/front-end/InjectedScript.js:
1509         (injectedScriptConstructor):
1510         (injectedScriptConstructor.):
1511
1512 2010-06-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1513
1514         Reviewed by Simon Hausmann.
1515
1516         [Qt] The qt_webkit_version.pri file gets overwritten on install
1517         https://bugs.webkit.org/show_bug.cgi?id=40487
1518
1519         Don't install qt_webkit_version.pri when building WebKit inside of Qt.
1520         The import of WebKit into Qt will take care of providing the file
1521         in mkspecs/modules and it'll be installed through projects.pro.
1522
1523         * WebCore.pro:
1524
1525 2010-06-15  Tony Chang  <tony@chromium.org>
1526
1527         Reviewed by Ojan Vafai.
1528
1529         resolve urls in text/html clipboard data
1530         https://bugs.webkit.org/show_bug.cgi?id=40044
1531
1532         Allow text/html data copied from a page to contain full URLs when
1533         dragging or copy/pasting.
1534
1535         Tests: editing/pasteboard/copy-resolves-urls.html
1536                http/tests/misc/copy-resolves-urls.html
1537
1538         * WebCore.base.exp:
1539         * editing/markup.cpp:
1540         (WebCore::appendStartMarkup):
1541         (WebCore::getStartMarkup):
1542         (WebCore::MarkupAccumulator::appendMarkup):
1543         (WebCore::createMarkup):
1544         * editing/markup.h:
1545         (WebCore::):
1546         * platform/chromium/ClipboardChromium.cpp:
1547         (WebCore::ClipboardChromium::writeRange):
1548         * platform/chromium/PasteboardChromium.cpp:
1549         (WebCore::Pasteboard::writeSelection):
1550         * platform/gtk/ClipboardGtk.cpp:
1551         (WebCore::ClipboardGtk::writeRange):
1552         * platform/gtk/DataObjectGtk.cpp:
1553         (WebCore::DataObjectGtk::markup):
1554         * platform/gtk/PasteboardGtk.cpp:
1555         (WebCore::Pasteboard::writeSelection):
1556         * platform/haiku/PasteboardHaiku.cpp:
1557         (WebCore::Pasteboard::writeSelection):
1558         * platform/qt/ClipboardQt.cpp:
1559         (WebCore::ClipboardQt::writeRange):
1560         * platform/qt/PasteboardQt.cpp:
1561         (WebCore::Pasteboard::writeSelection):
1562
1563 2010-06-14  Chris Fleizach  <cfleizach@apple.com>
1564
1565         No review. GTK build fix.
1566
1567         AX: need ListItemRole and PresentationalRole
1568         https://bugs.webkit.org/show_bug.cgi?id=40133
1569
1570         Mostly speculative fix to make GTK unit tests work.
1571
1572         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1573         (atkRole):
1574         (webkit_accessible_get_role):
1575
1576 2010-06-14  Eric Carlson  <eric.carlson@apple.com>
1577
1578         Reviewed by Dan Bernstein.
1579
1580         <rdar://problem/8090895> Update http streaming MIME types
1581
1582         * platform/MIMETypeRegistry.cpp:
1583         (WebCore::TypeExtensionPair::): Add http streaming MIME synonyms.
1584
1585 2010-06-14  Eric Carlson  <eric.carlson@apple.com>
1586
1587         Reviewed by Oliver Hunt.
1588
1589         audio/x-mp3 MIME type not recognized
1590         <rdar://problem/7875393>
1591         https://bugs.webkit.org/show_bug.cgi?id=40594
1592         
1593         Allow MIMETypeRegistry to have more than one MIME type for a
1594         media file extension, and have the QTKit media engine register
1595         all MIME types it can find for each file type QTKit supports.
1596
1597         Test: media/media-can-play-mp3.html
1598
1599         * platform/MIMETypeRegistry.cpp:
1600         (WebCore::mediaMIMETypeMap): Update for new HashMap format.
1601         (WebCore::TypeExtensionPair::): Store String+Vector<String>
1602         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Only consult
1603         mediaMIMETypeMap(), it has the canonical answer.
1604         (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): New, return
1605         a Vector of all MIME types for an extension.
1606         * platform/MIMETypeRegistry.h:
1607         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1608         (WebCore::addFileTypesToCache): Add all MIME types returned in the 
1609         getMediaMIMETypesForExtension Vector.
1610
1611 2010-06-14  Mark Rowe  <mrowe@apple.com>
1612
1613         Reviewed by Brady Eidson.
1614
1615         <rdar://problem/8071866> REGRESSION: Crash on launch on Tiger and Leopard with network home folder
1616
1617         * platform/sql/SQLiteStatement.cpp:
1618         (WebCore::SQLiteStatement::prepare): Don't assume that tail is always non-null, since that may
1619         not be the case with some versions of SQLite. Instead we must null-check before dereferencing.
1620
1621 2010-06-14  Anders Carlsson  <andersca@apple.com>
1622
1623         Fix Tiger build.
1624
1625         * plugins/mac/PluginDataMac.mm:
1626
1627 2010-06-14  Anders Carlsson  <andersca@apple.com>
1628
1629         Reviewed by Darin Adler.
1630
1631         Use an array for extensions in MimeClassInfo
1632         https://bugs.webkit.org/show_bug.cgi?id=40602
1633
1634         Get rid of MimeClassInfo::suffixes and replace it with an array of extensions.
1635
1636         * plugins/MimeType.cpp:
1637         (WebCore::MimeType::suffixes):
1638         Create a string of joined extensions.
1639
1640         * plugins/MimeType.h:
1641         * plugins/PluginData.h:
1642         (WebCore::operator==):
1643         * plugins/chromium/PluginDataChromium.cpp:
1644         (WebCore::getPluginMimeTypeFromExtension):
1645         * plugins/gtk/PluginDataGtk.cpp:
1646         (WebCore::PluginData::initPlugins):
1647         * plugins/mac/PluginDataMac.mm:
1648         (WebCore::PluginData::initPlugins):
1649         * plugins/qt/PluginDataQt.cpp:
1650         (WebCore::PluginData::initPlugins):
1651         * plugins/win/PluginDataWin.cpp:
1652         (WebCore::PluginData::initPlugins):
1653         * plugins/wx/PluginDataWx.cpp:
1654         (WebCore::PluginData::initPlugins):
1655
1656 2010-06-14  Adam Barth  <abarth@webkit.org>
1657
1658         Unreviewed.
1659
1660         Add an include to try to fix Chromium build.
1661
1662         * html/HTML5DocumentParser.cpp:
1663
1664 2010-06-14  Eric Seidel  <eric@webkit.org>
1665
1666         Reviewed by Adam Barth.
1667
1668         Safari beach-balls loading large pages with HTML5 parser
1669         https://bugs.webkit.org/show_bug.cgi?id=40596
1670
1671         Implement parser yielding, similar to how the old
1672         HTMLDocumentParser yields.
1673
1674         This implementation re-uses the tokenizerTimeDelay and
1675         tokenizerChunkSize settings even though they don't map exactly
1676         to the token loop that the HTML5 parser uses.
1677
1678         * dom/DocumentParser.h:
1679          - Add a FIXME for processingData() and clarify how the
1680            appendData flag is used by renaming it to isFromNetwork.
1681         * html/HTML5DocumentParser.cpp:
1682         (WebCore::parserTimeLimit):
1683          - Defaults accessor, probably belongs on Page.
1684         (WebCore::parserChunkSize):
1685          - Defaults accessor, probably belongs on Page.
1686         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
1687         (WebCore::HTML5DocumentParser::stopParsing):
1688          - Stop the continue-parsing timer if active.
1689         (WebCore::HTML5DocumentParser::processingData):
1690          - Implement this poorly understood accessor to match
1691            the old parser's behavior.  It's unclear what this does
1692            and it does not affect any layout tests to my knowledge
1693            but likely affects the WebKit API in some way.
1694         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
1695          - Pass SynchronousMode.
1696          - Do not ever pump if we've yielded to the timer.
1697         (WebCore::HTML5DocumentParser::PumpSession::PumpSession):
1698          - A struct for storing the yield counters.
1699         (WebCore::HTML5DocumentParser::shouldContinueParsing):
1700          - Mostly matches HTMLDocumentParser::shouldContinueParsing.
1701         (WebCore::HTML5DocumentParser::pumpLexer):
1702          - Respect SynchronousMode.
1703          - ASSERT that a timer is not scheduled if we're pumping.
1704         (WebCore::isLayoutTimerActive):
1705          - This belongs on Document.
1706         (WebCore::HTML5DocumentParser::continueNextChunkTimerFired):
1707         (WebCore::HTML5DocumentParser::write):
1708         (WebCore::HTML5DocumentParser::end):
1709          - We should never end() if a timer is still outstanding.
1710         (WebCore::HTML5DocumentParser::attemptToEnd):
1711         (WebCore::HTML5DocumentParser::endIfDelayed):
1712         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
1713         * html/HTML5DocumentParser.h:
1714         (WebCore::HTML5DocumentParser::):
1715         * html/HTMLDocumentParser.cpp:
1716          - Clarify the old TimeDelay and ChunkSize constants.
1717
1718 2010-06-14  Adam Barth  <abarth@webkit.org>
1719
1720         Reviewed by Eric Seidel.
1721
1722         Add a preload scanner for the HTML5 parser
1723         https://bugs.webkit.org/show_bug.cgi?id=40557
1724
1725         This patch adds a simple preload scanner for the HTML5 parser.  This
1726         preload scanner is not as awesome as the old one because it doesn't
1727         scan CSS, but it's much simpler.
1728
1729         * Android.mk:
1730         * CMakeLists.txt:
1731         * GNUmakefile.am:
1732         * WebCore.gypi:
1733         * WebCore.pro:
1734         * WebCore.vcproj/WebCore.vcproj:
1735         * WebCore.xcodeproj/project.pbxproj:
1736             - Build file torture.
1737         * html/HTML5DocumentParser.cpp:
1738         (WebCore::HTML5DocumentParser::write):
1739             - Call into the preload scanner when waiting for a script.
1740         * html/HTML5DocumentParser.h:
1741         * html/HTML5PreloadScanner.cpp: Copied from WebCore/html/PreloadScanner.cpp.
1742         (WebCore::HTML5PreloadScanner::HTML5PreloadScanner):
1743         (WebCore::HTML5PreloadScanner::scan):
1744             - A simple loop to pump the preload scanner's lexer.
1745         (WebCore::HTML5PreloadScanner::processToken):
1746             - Preload interesting resources.  Stolen from the old preload
1747               scanner.
1748         (WebCore::HTML5PreloadScanner::scanningBody):
1749         * html/HTML5PreloadScanner.h: Copied from WebCore/html/PreloadScanner.h.
1750
1751 2010-06-14  Adam Barth  <abarth@webkit.org>
1752
1753         Reviewed by Eric Seidel.
1754
1755         Constify some HTML5Token methods
1756         https://bugs.webkit.org/show_bug.cgi?id=40592
1757
1758         I keep wanting these methods to be const.  Eric wanted this in a
1759         separate patch.
1760
1761         * html/HTML5Lexer.h:
1762         (WebCore::HTML5Lexer::state):
1763         * html/HTML5Token.h:
1764         (WebCore::HTML5Token::attributes):
1765         (WebCore::HTML5Token::name):
1766         (WebCore::HTML5Token::characters):
1767         (WebCore::HTML5Token::comment):
1768         (WebCore::HTML5Token::publicIdentifier):
1769         (WebCore::HTML5Token::systemIdentifier):
1770         * html/HTML5TreeBuilder.cpp:
1771         (WebCore::convertToOldStyle):
1772         (WebCore::HTML5TreeBuilder::adjustedLexerState):
1773             - Technically, this might belong in the other patch, but I think
1774               it's fine here.
1775         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
1776         * html/HTML5TreeBuilder.h:
1777
1778 2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>
1779
1780         Unreviewed, build fix.
1781
1782         * WebCore.xcodeproj/project.pbxproj:
1783
1784 2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
1785
1786         Unreviewed, build fix.
1787
1788         Remove accidental specifying of the class name twice.
1789
1790         * html/HTMLFormElement.cpp:
1791         (WebCore::HTMLFormElement::prepareFormData): Removed my ghastly typo.
1792
1793 2010-06-14  Dumitru Daniliuc  <dumi@chromium.org>
1794
1795         Reviewed by Adam Barth.
1796
1797         Get DatabaseTracker ready for sync DBs.
1798         https://bugs.webkit.org/show_bug.cgi?id=39041
1799
1800         * storage/AbstractDatabase.cpp:
1801         (WebCore::AbstractDatabase::~AbstractDatabase):
1802         * storage/AbstractDatabase.h:
1803         * storage/Database.cpp:
1804         (WebCore::Database::closeImmediately):
1805         * storage/Database.h:
1806         (WebCore::Database::scriptExecutionContext):
1807         * storage/DatabaseTracker.cpp:
1808         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1809         (WebCore::DatabaseTracker::databaseChanged):
1810         (WebCore::DatabaseTracker::addOpenDatabase):
1811         (WebCore::DatabaseTracker::removeOpenDatabase):
1812         (WebCore::DatabaseTracker::getOpenDatabases):
1813         (WebCore::DatabaseTracker::deleteDatabaseFile):
1814         * storage/DatabaseTracker.h:
1815         * storage/OriginQuotaManager.cpp:
1816         (WebCore::OriginQuotaManager::markDatabase):
1817         * storage/OriginQuotaManager.h:
1818         * storage/chromium/DatabaseObserver.h:
1819         * storage/chromium/DatabaseTrackerChromium.cpp:
1820         (WebCore::DatabaseTracker::addOpenDatabase):
1821         (WebCore::TrackerRemoveOpenDatabaseTask::create):
1822         (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
1823         (WebCore::DatabaseTracker::removeOpenDatabase):
1824         (WebCore::DatabaseTracker::getOpenDatabases):
1825         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1826
1827 2010-06-14  Alexey Proskuryakov  <ap@apple.com>
1828
1829         Reviewed by Darin Adler.
1830
1831         https://bugs.webkit.org/show_bug.cgi?id=40529
1832         eventSender.keyDown("delete") incorrectly sends a backspace on some platforms
1833
1834         * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1835         Use virtual key code to force correct character code for clarity. Also, reworded comment,
1836         since saying that "backspace needs to always be 8" misleadingly implied that it could
1837         "sometimes" be such without this code.
1838
1839 2010-06-14  Dimitri Glazkov  <dglazkov@chromium.org>
1840
1841         Reviewed by Darin Adler.
1842
1843         Refactor form submission code in HTMLFormElement to add clarity.
1844         https://bugs.webkit.org/show_bug.cgi?id=39430
1845
1846         Covered by existing tests in fast/forms/mailto.
1847
1848         * html/HTMLFormElement.cpp:
1849         (WebCore::appendMailtoPostFormDataToURL): Renamed from transferMailtoPostFormDataToUrl,
1850             removed clearing out of the FormData and moved it to a new place (next to the call site).
1851         (WebCore::HTMLFormElement::prepareFormData): Renamed from createFormData, moved the logic of
1852             prepareing FormData here, including the use of appendMailtoPostFormDataToURL.
1853         (WebCore::HTMLFormElement::submit): Consolidated multiple invocations of submitForm().
1854         * html/HTMLFormElement.h: Renamed createFormData to prepareFormData.
1855
1856 2010-06-14  Chris Fleizach  <cfleizach@apple.com>
1857
1858         Reviewed by Darin Adler.
1859
1860         AX: need ListItemRole and PresentationalRole
1861         https://bugs.webkit.org/show_bug.cgi?id=40133
1862
1863         * accessibility/AccessibilityObject.cpp:
1864         (WebCore::createARIARoleMap):
1865         * accessibility/AccessibilityObject.h:
1866         (WebCore::AccessibilityObject::isListItem):
1867         * accessibility/AccessibilityRenderObject.cpp:
1868         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1869         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1870         * accessibility/mac/AccessibilityObjectWrapper.mm:
1871         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1872
1873 2010-06-14  Anders Carlsson  <andersca@apple.com>
1874
1875         Reviewed by Sam Weinig.
1876
1877         Remove pluginIndex from MimeClassInfo
1878         https://bugs.webkit.org/show_bug.cgi?id=40588
1879
1880         * plugins/PluginData.h:
1881         * plugins/gtk/PluginDataGtk.cpp:
1882         (WebCore::PluginData::initPlugins):
1883         * plugins/mac/PluginDataMac.mm:
1884         (WebCore::PluginData::initPlugins):
1885         * plugins/qt/PluginDataQt.cpp:
1886         (WebCore::PluginData::initPlugins):
1887         * plugins/win/PluginDataWin.cpp:
1888         (WebCore::PluginData::initPlugins):
1889         * plugins/wx/PluginDataWx.cpp:
1890         (WebCore::PluginData::initPlugins):
1891
1892 2010-06-14  Kinuko Yasuda  <kinuko@chromium.org>
1893
1894         Reviewed by Jian Li.
1895
1896         Implement BlobBuilder internal class for BlobBuilder support as defined in FileWriter
1897         https://bugs.webkit.org/show_bug.cgi?id=36903
1898
1899         No new tests; they will be added when we add jsc bindings.
1900
1901         * CMakeLists.txt:
1902         * GNUmakefile.am:
1903         * WebCore.gypi:
1904         * WebCore.pro:
1905         * WebCore.vcproj/WebCore.vcproj:
1906         * WebCore.xcodeproj/project.pbxproj:
1907         * html/BlobBuilder.cpp: Added.
1908         * html/BlobBuilder.h: Added.
1909         (WebCore::BlobBuilder::create):
1910         * platform/BlobItem.cpp:
1911         (WebCore::StringBlobItem::convertToCString): Added EndingNative support.
1912         * platform/BlobItem.h: Added EndingNative line-ending type.
1913         (WebCore::):
1914
1915 2010-06-14  Anders Carlsson  <andersca@apple.com>
1916
1917         Reviewed by Darin Adler.
1918
1919         Stop using MimeClassInfo::pluginIndex
1920         https://bugs.webkit.org/show_bug.cgi?id=40582
1921
1922         Add a pluginIndicies vector to PluginData and use it instead of MimeClassInfo::pluginIndex.
1923
1924         * plugins/MimeType.cpp:
1925         (WebCore::MimeType::enabledPlugin):
1926         Get the plug-in index from the mimePluginIndices vector.
1927         
1928         * plugins/Plugin.cpp:
1929         (WebCore::Plugin::item):
1930         Compare the mime plugin index as well.
1931         
1932         * plugins/PluginData.cpp:
1933         (WebCore::PluginData::PluginData):
1934         Populate the m_mimePluginIndices vector.
1935
1936         (WebCore::PluginData::pluginNameForMimeType):
1937         Get the plug-in index from the m_mimePluginIndices vector.
1938
1939         * plugins/PluginData.h:
1940         (WebCore::operator==):
1941         Don't check for pluginIndex.
1942
1943         (WebCore::PluginData::mimePluginIndices):
1944         Add getter for m_mimePluginIndices.
1945
1946 2010-06-14  Sam Weinig  <sam@webkit.org>
1947
1948         Better build fix.
1949
1950         * bindings/js/JSBindingsAllInOne.cpp:
1951
1952 2010-06-14  Sam Weinig  <sam@webkit.org>
1953
1954         Another windows build fix.
1955
1956         * bindings/js/JSBindingsAllInOne.cpp:
1957
1958 2010-06-14  Sam Weinig  <sam@webkit.org>
1959
1960         Another build fix.
1961
1962         * bindings/js/JSDOMWindowCustom.cpp:
1963
1964 2010-06-14  Sam Weinig  <sam@webkit.org>
1965
1966         Add missing comma to fix GTK build.
1967
1968         * xml/XSLTProcessor.idl:
1969
1970 2010-06-14  Sam Weinig  <sam@webkit.org>
1971
1972         Reviewed by Alexey Proskuryakov.
1973
1974         Fix for https://bugs.webkit.org/show_bug.cgi?id=40581
1975         Auto-generate most of the JS constructors
1976
1977         - Auto-generates all the JS constructors that don't have custom
1978           names (eg, Not Image(), Audio() or Option())
1979         - Fixes two typos.
1980             (new XSLTConstructor()).toString() [object XSLTProcessorConsructor] -> [object XSLTProcessorConstructor])
1981             (new EventSource()).toString() [object EventSourceContructor] -> [object EventSourceConstructor])
1982
1983         * Android.jscbindings.mk:
1984         * CMakeLists.txt:
1985         * GNUmakefile.am:
1986         * WebCore.gypi:
1987         * WebCore.pro:
1988         * WebCore.vcproj/WebCore.vcproj:
1989         * WebCore.xcodeproj/project.pbxproj:
1990         * bindings/js/JSArrayBufferConstructor.cpp: Removed.
1991         * bindings/js/JSArrayBufferConstructor.h: Removed.
1992         * bindings/js/JSArrayBufferCustom.cpp: Copied from WebCore/bindings/js/JSArrayBufferConstructor.cpp.
1993         (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
1994         * bindings/js/JSArrayBufferViewHelper.h:
1995         (WebCore::constructArrayBufferView):
1996         * bindings/js/JSBindingsAllInOne.cpp:
1997         * bindings/js/JSDOMWindowCustom.cpp:
1998         * bindings/js/JSEventSourceConstructor.cpp: Removed.
1999         * bindings/js/JSEventSourceConstructor.h: Removed.
2000         * bindings/js/JSEventSourceCustom.cpp: Copied from WebCore/bindings/js/JSEventSourceConstructor.cpp.
2001         (WebCore::JSEventSourceConstructor::constructJSEventSource):
2002         * bindings/js/JSFloat32ArrayConstructor.cpp: Removed.
2003         * bindings/js/JSFloat32ArrayConstructor.h: Removed.
2004         * bindings/js/JSFloat32ArrayCustom.cpp:
2005         (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
2006         * bindings/js/JSInt16ArrayConstructor.cpp: Removed.
2007         * bindings/js/JSInt16ArrayConstructor.h: Removed.
2008         * bindings/js/JSInt16ArrayCustom.cpp:
2009         (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
2010         * bindings/js/JSInt32ArrayConstructor.cpp: Removed.
2011         * bindings/js/JSInt32ArrayConstructor.h: Removed.
2012         * bindings/js/JSInt32ArrayCustom.cpp:
2013         (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
2014         * bindings/js/JSInt8ArrayConstructor.cpp: Removed.
2015         * bindings/js/JSInt8ArrayConstructor.h: Removed.
2016         * bindings/js/JSInt8ArrayCustom.cpp:
2017         (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
2018         * bindings/js/JSMessageChannelConstructor.cpp: Removed.
2019         * bindings/js/JSMessageChannelConstructor.h: Removed.
2020         * bindings/js/JSMessageChannelCustom.cpp:
2021         (WebCore::JSMessageChannelConstructor::constructJSMessageChannel):
2022         * bindings/js/JSSharedWorkerConstructor.cpp: Removed.
2023         * bindings/js/JSSharedWorkerConstructor.h: Removed.
2024         * bindings/js/JSSharedWorkerCustom.cpp:
2025         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
2026         * bindings/js/JSUint16ArrayConstructor.cpp: Removed.
2027         * bindings/js/JSUint16ArrayConstructor.h: Removed.
2028         * bindings/js/JSUint16ArrayCustom.cpp:
2029         (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
2030         * bindings/js/JSUint32ArrayConstructor.cpp: Removed.
2031         * bindings/js/JSUint32ArrayConstructor.h: Removed.
2032         * bindings/js/JSUint32ArrayCustom.cpp:
2033         (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
2034         * bindings/js/JSUint8ArrayConstructor.cpp: Removed.
2035         * bindings/js/JSUint8ArrayConstructor.h: Removed.
2036         * bindings/js/JSUint8ArrayCustom.cpp:
2037         (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
2038         * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Removed.
2039         * bindings/js/JSWebKitCSSMatrixConstructor.h: Removed.
2040         * bindings/js/JSWebKitCSSMatrixCustom.cpp: Copied from WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp.
2041         (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
2042         * bindings/js/JSWebKitPointConstructor.cpp: Removed.
2043         * bindings/js/JSWebKitPointConstructor.h: Removed.
2044         * bindings/js/JSWebKitPointCustom.cpp: Copied from WebCore/bindings/js/JSWebKitPointConstructor.cpp.
2045         (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
2046         * bindings/js/JSWebSocketConstructor.cpp: Removed.
2047         * bindings/js/JSWebSocketConstructor.h: Removed.
2048         * bindings/js/JSWebSocketCustom.cpp:
2049         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
2050         * bindings/js/JSWorkerConstructor.cpp: Removed.
2051         * bindings/js/JSWorkerConstructor.h: Removed.
2052         * bindings/js/JSWorkerContextCustom.cpp:
2053         * bindings/js/JSWorkerCustom.cpp:
2054         (WebCore::JSWorkerConstructor::constructJSWorker):
2055         * bindings/js/JSXSLTProcessorConstructor.cpp: Removed.
2056         * bindings/js/JSXSLTProcessorConstructor.h: Removed.
2057         * bindings/js/JSXSLTProcessorCustom.cpp:
2058         (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
2059         * bindings/scripts/CodeGeneratorJS.pm:
2060         * css/WebKitCSSMatrix.idl:
2061         * dom/MessageChannel.idl:
2062         * html/canvas/ArrayBuffer.idl:
2063         * html/canvas/Float32Array.idl:
2064         * html/canvas/Int16Array.idl:
2065         * html/canvas/Int32Array.idl:
2066         * html/canvas/Int8Array.idl:
2067         * html/canvas/Uint16Array.idl:
2068         * html/canvas/Uint32Array.idl:
2069         * html/canvas/Uint8Array.idl:
2070         * page/EventSource.idl:
2071         * page/WebKitPoint.idl:
2072         * websockets/WebSocket.idl:
2073         * workers/SharedWorker.idl:
2074         * workers/Worker.idl:
2075         * xml/XSLTProcessor.idl:
2076
2077 2010-05-16  Antonio Gomes  <tonikitoo@webkit.org>
2078
2079         Unreviewed naming fixes of local variables used in Spatial Navigation methods.
2080
2081         Summary:
2082             * "candidate" renamed to "node";
2083             * "currentFocusCandidate" renamed to "candidate"
2084             * "closestFocusCandidate" renamed to "closest"
2085
2086         That way naming is more consistent in the various Spatial Navigation methods.
2087
2088         * page/FocusController.cpp:
2089         (WebCore::FocusController::findFocusableNodeInDirection):
2090         (WebCore::FocusController::deepFindFocusableNodeInDirection):
2091
2092 2010-06-14  Antonio Gomes  <tonikitoo@webkit.org>
2093
2094         Reviewed by Simon Fraser and Kenneth Christiansen.
2095
2096         Spatial Navigation: make it work with focusable elements in overflow content
2097         https://bugs.webkit.org/show_bug.cgi?id=36463
2098
2099         This patch addresses the problem with Spatial Navigation. It currently does not
2100         properly traverse scrollable contents, including scrollable div's. For this to work,
2101         a new class member called scrollableEnclosingBox was introduced to FocusCandidate class which
2102         keeps track of the current scrollable box Node wrapping a FocusCandidate.
2103
2104         To make use of enclosingScrollableBox of FocusCandidate, the DOM traversal routine
2105         (FocusController::findNextFocusableInDirection) was changed as follows: when it
2106         encounters a scrollable Node, each focusable node which is 'inner' keeps track of
2107         the container reference. By the time a sibling of the scrollable Node is encountered,
2108         there is no need to track this reference any more and the traversal algorithm continues
2109         normally.
2110
2111         The common case is obviously that there is no scrollable container wrapping it.
2112
2113         updateFocusCandiditeIfCloser logic was also adapted to fit the need of the
2114         newly introduced enclosingScrollableBox class member, getting simpler and more
2115         easily maintainable.
2116
2117         Tests: fast/events/spatial-navigation/snav-div-scrollable-but-without-focusable-content.html
2118                fast/events/spatial-navigation/snav-clipped-overflow-content.html
2119
2120         * page/FocusController.cpp:
2121         (WebCore::updateFocusCandidateInSameContainer):
2122         (WebCore::updateFocusCandidateIfCloser):
2123         (WebCore::FocusController::findFocusableNodeInDirection):
2124         (WebCore::FocusController::deepFindFocusableNodeInDirection):
2125         * page/SpatialNavigation.cpp:
2126         (WebCore::isScrollableContainerNode):
2127         * page/SpatialNavigation.h:
2128         (WebCore::FocusCandidate::FocusCandidate):
2129         (WebCore::FocusCandidate::isInScrollableContainer):
2130
2131 2010-06-14  Jian Li  <jianli@chromium.org>
2132
2133         Unreviewed. Fix build break in GTK.
2134
2135         * bindings/scripts/CodeGeneratorGObject.pm:
2136         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2137         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2138         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2139         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
2140         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2141
2142 2010-06-14  Chris Fleizach  <cfleizach@apple.com>
2143
2144         Reviewed by Beth Dakin.
2145
2146         AX: AXUnknown objects are being returned
2147         https://bugs.webkit.org/show_bug.cgi?id=40574
2148
2149         Test: platform/mac/accessibility/no-unknown-objects-when-title-attribute-present.html
2150
2151         * accessibility/mac/AccessibilityObjectMac.mm:
2152         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2153
2154 2010-06-14  Jian Li  <jianli@chromium.org>
2155
2156         Reviewed by Darin Adler.
2157
2158         Fix code generators to better support Conditional attribute and add test
2159         coverage for it.
2160         https://bugs.webkit.org/show_bug.cgi?id=39512
2161
2162         * bindings/scripts/CodeGeneratorGObject.pm:
2163         * bindings/scripts/CodeGeneratorObjC.pm:
2164         * bindings/scripts/CodeGeneratorV8.pm:
2165         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2166         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2167         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2168         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2169         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2170         (webkit_dom_test_obj_get_conditional_attr1):
2171         (webkit_dom_test_obj_set_conditional_attr1):
2172         (webkit_dom_test_obj_get_conditional_attr2):
2173         (webkit_dom_test_obj_set_conditional_attr2):
2174         (webkit_dom_test_obj_get_conditional_attr3):
2175         (webkit_dom_test_obj_set_conditional_attr3):
2176         (webkit_dom_test_obj_set_property):
2177         (webkit_dom_test_obj_get_property):
2178         (webkit_dom_test_obj_class_init):
2179         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2180         * bindings/scripts/test/JS/JSTestInterface.cpp:
2181         * bindings/scripts/test/JS/JSTestInterface.h:
2182         * bindings/scripts/test/JS/JSTestObj.cpp:
2183         (WebCore::):
2184         (WebCore::jsTestObjConditionalAttr1):
2185         (WebCore::jsTestObjConditionalAttr2):
2186         (WebCore::jsTestObjConditionalAttr3):
2187         (WebCore::setJSTestObjConditionalAttr1):
2188         (WebCore::setJSTestObjConditionalAttr2):
2189         (WebCore::setJSTestObjConditionalAttr3):
2190         * bindings/scripts/test/JS/JSTestObj.h:
2191         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2192         * bindings/scripts/test/ObjC/DOMTestObj.h:
2193         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2194         (-[DOMTestObj conditionalAttr1]):
2195         (-[DOMTestObj setConditionalAttr1:]):
2196         (-[DOMTestObj conditionalAttr2]):
2197         (-[DOMTestObj setConditionalAttr2:]):
2198         (-[DOMTestObj conditionalAttr3]):
2199         (-[DOMTestObj setConditionalAttr3:]):
2200         * bindings/scripts/test/TestInterface.idl:
2201         * bindings/scripts/test/TestObj.idl:
2202         * bindings/scripts/test/V8/V8TestInterface.cpp:
2203         * bindings/scripts/test/V8/V8TestInterface.h:
2204         * bindings/scripts/test/V8/V8TestObj.cpp:
2205         (WebCore::TestObjInternal::conditionalAttr1AttrGetter):
2206         (WebCore::TestObjInternal::conditionalAttr1AttrSetter):
2207         (WebCore::TestObjInternal::conditionalAttr2AttrGetter):
2208         (WebCore::TestObjInternal::conditionalAttr2AttrSetter):
2209         (WebCore::TestObjInternal::conditionalAttr3AttrGetter):
2210         (WebCore::TestObjInternal::conditionalAttr3AttrSetter):
2211         (WebCore::):
2212
2213 2010-06-14  Chang Shu  <chang.shu@nokia.com>
2214
2215         Reviewed by Kenneth Rohde Christiansen.
2216
2217         Change the type of ShadowSize from IntSize to FloatSize in GraphicsContext.
2218         Using IntSize loses precision and fails the test.
2219         Note: This code change fixes Qt port but Mac is still failing due to
2220         platform issue.
2221
2222         https://bugs.webkit.org/show_bug.cgi?id=40434
2223
2224         * html/canvas/CanvasRenderingContext2D.cpp:
2225         (WebCore::CanvasRenderingContext2D::applyShadow):
2226         * platform/graphics/GraphicsContext.cpp:
2227         (WebCore::GraphicsContext::setShadow):
2228         (WebCore::GraphicsContext::getShadow):
2229         * platform/graphics/GraphicsContext.h:
2230         * platform/graphics/GraphicsContextPrivate.h:
2231         * platform/graphics/cairo/FontCairo.cpp:
2232         (WebCore::Font::drawGlyphs):
2233         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2234         (WebCore::GraphicsContext::calculateShadowBufferDimensions):
2235         (WebCore::drawPathShadow):
2236         (WebCore::drawBorderlessRectShadow):
2237         (WebCore::GraphicsContext::setPlatformShadow):
2238         * platform/graphics/cairo/ImageCairo.cpp:
2239         (WebCore::BitmapImage::draw):
2240         * platform/graphics/cg/GraphicsContextCG.cpp:
2241         (WebCore::GraphicsContext::setPlatformShadow):
2242         * platform/graphics/chromium/FontChromiumWin.cpp:
2243         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2244         (WebCore::Font::drawComplexText):
2245         * platform/graphics/gtk/FontGtk.cpp:
2246         (WebCore::Font::drawComplexText):
2247         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2248         (WebCore::GraphicsContext::setPlatformShadow):
2249         * platform/graphics/mac/FontMac.mm:
2250         (WebCore::Font::drawGlyphs):
2251         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2252         (WebCore::GraphicsContext::setPlatformShadow):
2253         * platform/graphics/qt/FontQt.cpp:
2254         (WebCore::drawTextCommon):
2255         * platform/graphics/qt/GraphicsContextQt.cpp:
2256         (WebCore::GraphicsContext::drawRect):
2257         (WebCore::GraphicsContext::drawLine):
2258         (WebCore::GraphicsContext::strokeArc):
2259         (WebCore::GraphicsContext::drawConvexPolygon):
2260         (WebCore::drawFilledShadowPath):
2261         (WebCore::GraphicsContext::strokePath):
2262         (WebCore::drawBorderlessRectShadow):
2263         (WebCore::GraphicsContext::setPlatformShadow):
2264         * platform/graphics/qt/ImageQt.cpp:
2265         (WebCore::BitmapImage::draw):
2266         * platform/graphics/skia/GraphicsContextSkia.cpp:
2267         (WebCore::GraphicsContext::setPlatformShadow):
2268         * platform/graphics/skia/SkiaFontWin.cpp:
2269         (WebCore::windowsCanHandleDrawTextShadow):
2270         * platform/graphics/win/FontCGWin.cpp:
2271         (WebCore::drawGDIGlyphs):
2272         (WebCore::Font::drawGlyphs):
2273         * platform/graphics/wince/GraphicsContextWince.cpp:
2274         (WebCore::GraphicsContext::fillRoundedRect):
2275         (WebCore::GraphicsContext::setPlatformShadow):
2276         (WebCore::GraphicsContext::drawText):
2277         * platform/graphics/wx/GraphicsContextWx.cpp:
2278         (WebCore::GraphicsContext::setPlatformShadow):
2279
2280 2010-06-14  Dan Bernstein  <mitz@apple.com>
2281
2282         Reviewed by Simon Fraser.
2283
2284         <rdar://problem/7752961> Unevenly distributed space in justified text
2285         https://bugs.webkit.org/show_bug.cgi?id=36105
2286
2287         Test: fast/text/justify-padding-distribution.html
2288
2289         * platform/graphics/WidthIterator.cpp:
2290         (WebCore::WidthIterator::WidthIterator): Initialize m_padPerSpace to the quotient of the total
2291         padding and the number of spaces rather than truncating it.
2292         (WebCore::WidthIterator::advance): Subtract m_padPerSpace from m_padding and add the difference
2293         between its old and new values, when rounded, to the advance.
2294         * platform/graphics/mac/ComplexTextController.cpp:
2295         (WebCore::ComplexTextController::ComplexTextController):
2296         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2297         * platform/graphics/win/UniscribeController.cpp:
2298         (WebCore::UniscribeController::UniscribeController):
2299         (WebCore::UniscribeController::shapeAndPlaceItem):
2300         * platform/graphics/win/UniscribeController.h:
2301
2302 2010-06-14  Andreas Kling  <andreas.kling@nokia.com>
2303
2304         Reviewed by Tor Arne Vestbø.
2305
2306         [Qt] Stack overflow when converting navigator object to QVariant
2307         https://bugs.webkit.org/show_bug.cgi?id=40572
2308
2309         Protect against infinite recursion in JSValue->QVariant conversion.
2310         This fixes a crash when trying to convert MimeType objects (they
2311         recurse infinitely and on-the-fly via the enabledPlugin property.)
2312
2313         * bridge/qt/qt_runtime.cpp:
2314         (JSC::Bindings::convertValueToQVariant):
2315
2316 2010-06-14  Yong Li  <yoli@rim.com>
2317
2318         Test cases created by: Robin Cao <robin.cao@torchmobile.com.cn>
2319
2320         Reviewed by Darin Adler.
2321
2322         https://bugs.webkit.org/show_bug.cgi?id=38910
2323
2324         Suspend Document::m_executeScriptSoonTimer objects when the page is deferred.
2325         There's no reason why we suspend all active DOM timers on the page but not suspend
2326         this one. Document::m_executeScriptSoonTimer can run JS and schedule more DOM Timers.
2327
2328         It can only be tested manually.
2329         * manual-tests/load-deferrer-script-element.html: Added.
2330         * manual-tests/resources/load-deferrer-script-element.js: Added.
2331
2332         * dom/Document.cpp:
2333         (WebCore::Document::executeScriptSoon):
2334         (WebCore::Document::suspendExecuteScriptSoonTimer): Added.
2335         (WebCore::Document::resumeExecuteScriptSoonTimer): Added.
2336         * dom/Document.h:
2337         * page/PageGroupLoadDeferrer.cpp:
2338         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2339         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2340
2341 2010-06-13  Yael Aharon  <yael.aharon@nokia.com>
2342
2343         Reviewed by Kenneth Rohde Christiansen.
2344
2345         [Qt] Platform plugin support for Notifications UI
2346         https://bugs.webkit.org/show_bug.cgi?id=40005
2347
2348         To avoid race condition when GC is run during shutdown,
2349         disconnect the Notification from the NotificationPresenter
2350         when the presenter deletes itself.
2351         This cannot be tested by a layout test, the race condition happens only
2352         when GC is run during shutdown. It can be tested manually by loading
2353         manually any notification test and closing the browser.
2354
2355         * notifications/Notification.cpp:
2356         (WebCore::Notification::~Notification):
2357         * notifications/Notification.h:
2358         (WebCore::Notification::detachPresenter):
2359
2360 2010-06-08  Marcus Bulach  <bulach@chromium.org>
2361
2362         Reviewed by Jeremy Orlow.
2363
2364         Adds IndexedDB's KeyRange.
2365         https://bugs.webkit.org/show_bug.cgi?id=40250
2366
2367         Test: storage/indexeddb/idb-keyrange.html
2368
2369         * Android.derived.jscbindings.mk:
2370         * Android.derived.v8bindings.mk:
2371         * Android.mk:
2372         * CMakeLists.txt:
2373         * DerivedSources.cpp:
2374         * DerivedSources.make:
2375         * GNUmakefile.am:
2376         * WebCore.gypi:
2377         * WebCore.pri:
2378         * WebCore.pro:
2379         * WebCore.vcproj/WebCore.vcproj:
2380         * WebCore.xcodeproj/project.pbxproj:
2381         * storage/IDBKeyRange.cpp: Added.
2382         (WebCore::IDBKeyRange::IDBKeyRange):
2383         * storage/IDBKeyRange.h: Added.
2384         (WebCore::IDBKeyRange::):
2385         (WebCore::IDBKeyRange::create):
2386         (WebCore::IDBKeyRange::~IDBKeyRange):
2387         (WebCore::IDBKeyRange::left):
2388         (WebCore::IDBKeyRange::right):
2389         (WebCore::IDBKeyRange::flags):
2390         * storage/IDBKeyRange.idl: Added.
2391         * storage/IndexedDatabaseRequest.cpp:
2392         (WebCore::IndexedDatabaseRequest::makeSingleKeyRange):
2393         (WebCore::IndexedDatabaseRequest::makeLeftBoundKeyRange):
2394         (WebCore::IndexedDatabaseRequest::makeRightBoundKeyRange):
2395         (WebCore::IndexedDatabaseRequest::makeBoundKeyRange):
2396         * storage/IndexedDatabaseRequest.h:
2397         * storage/IndexedDatabaseRequest.idl:
2398
2399 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
2400
2401         And another.
2402
2403         * storage/IndexedDatabaseRequest.h:
2404
2405 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
2406
2407         More build fixes.
2408
2409         * storage/IndexedDatabaseRequest.h:
2410
2411 2010-06-14  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2412
2413         Reviewed by Laszlo Gombos.
2414
2415         [Qt] navigator.geolocation support for Qt port
2416         https://bugs.webkit.org/show_bug.cgi?id=39724
2417
2418         Implemetion for Qt port of navigator.gelocation. Using qtmobility location service.
2419
2420         * WebCore.pri:
2421         * WebCore.pro:
2422         * platform/qt/GeolocationServiceQt.cpp: Added.
2423         (WebCore::GeolocationServiceQt::create):
2424         (WebCore::GeolocationServiceQt::GeolocationServiceQt):
2425         (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
2426         (WebCore::GeolocationServiceQt::positionUpdated):
2427         (WebCore::GeolocationServiceQt::startUpdating):
2428         (WebCore::GeolocationServiceQt::stopUpdating):
2429         * platform/qt/GeolocationServiceQt.h: Added.
2430         (WebCore::GeolocationServiceQt::lastPosition):
2431         (WebCore::GeolocationServiceQt::lastError):
2432
2433 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
2434
2435         2 more build fixes.
2436
2437         * storage/IDBDatabaseImpl.h:
2438         * storage/IndexedDatabaseRequest.h:
2439
2440 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
2441
2442         Unreviewed build fix for my last.
2443
2444         * workers/WorkerScriptLoaderClient.h:
2445
2446 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
2447
2448         Reviewed by Darin Fisher.
2449
2450         [V8] Clean up SerializedScriptValue
2451         https://bugs.webkit.org/show_bug.cgi?id=40482
2452
2453         SerializedScriptValue doesn't follow WebKit's style guidelines very well
2454         and needlessly inlines quite a bit within the .h file. This change cleans
2455         things up. No funcitonal changes.
2456
2457         No change in behavior.
2458
2459         * bindings/v8/SerializedScriptValue.cpp:
2460         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
2461         (WebCore::SerializedScriptValue::create):
2462         (WebCore::SerializedScriptValue::createFromWire):
2463         (WebCore::SerializedScriptValue::release):
2464         (WebCore::SerializedScriptValue::SerializedScriptValue):
2465         * bindings/v8/SerializedScriptValue.h:
2466
2467 2010-06-14  Ilya Tikhonovsky  <loislo@chromium.org>
2468
2469         Reviewed by Pavel Feldman.
2470
2471         WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
2472         data from inspected page to WebInspector as JSON string via http. The native
2473         serialization to JSON string is supported by InspectorValue's classes. This patch
2474         has the implementation of sendMessageToFrontend function. WebKit version of it still
2475         uses ScriptFunctionCall and will be switched to another transport a little bit later.
2476         https://bugs.webkit.org/show_bug.cgi?id=40134
2477
2478         * inspector/InspectorClient.h:
2479         * inspector/InspectorController.cpp:
2480         (WebCore::InspectorController::connectFrontend):
2481         (WebCore::InspectorController::disconnectFrontend):
2482         * inspector/InspectorController.h:
2483         * inspector/InspectorFrontend.cpp:
2484         (WebCore::InspectorFrontend::InspectorFrontend):
2485         * inspector/InspectorFrontend.h:
2486         * inspector/InspectorFrontendClientLocal.cpp:
2487         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
2488         * inspector/InspectorValues.cpp:
2489         (WebCore::InspectorObject::writeJSON):
2490         * inspector/front-end/inspector.js:
2491         (WebInspector.dispatchMessageToFrontend):
2492         * loader/EmptyClients.h:
2493         (WebCore::EmptyInspectorClient::sendMessageToFrontend):
2494
2495 2010-06-14  Jeremy Orlow  <jorlow@chromium.org>
2496
2497         Reviewed by Darin Adler.
2498
2499         Reenable IDBDatabaseRequest's description attribute
2500         https://bugs.webkit.org/show_bug.cgi?id=39826
2501
2502         On the 26th, Beth commented out the description attribute in
2503         IDBDatabaseRequest because it was causing problems with the
2504         objective c bindings.  Turns out that this is the same bug as
2505         in http://trac.webkit.org/changeset/19486.  (Thanks for the
2506         pointer, Mark!)
2507  
2508         The solution is to change the objective C bindings generator
2509         to change the name in the generated code.  id and hash both
2510         just appended "Name" to them in the past.  I couldn't think
2511         of anything else particularly better to append, so I just
2512         went with name as well.
2513
2514         Test: building the world works on the first try.  Layout
2515               test verifies description works again.
2516
2517         * bindings/scripts/CodeGeneratorObjC.pm:
2518         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2519         (webkit_dom_test_obj_get_description):
2520         (webkit_dom_test_obj_get_id):
2521         (webkit_dom_test_obj_set_id):
2522         (webkit_dom_test_obj_get_hash):
2523         (webkit_dom_test_obj_set_property):
2524         (webkit_dom_test_obj_get_property):
2525         (webkit_dom_test_obj_class_init):
2526         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2527         * bindings/scripts/test/JS/JSTestObj.cpp:
2528         (WebCore::):
2529         (WebCore::jsTestObjDescription):
2530         (WebCore::jsTestObjId):
2531         (WebCore::jsTestObjHash):
2532         (WebCore::setJSTestObjId):
2533         * bindings/scripts/test/JS/JSTestObj.h:
2534         * bindings/scripts/test/ObjC/DOMTestObj.h:
2535         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2536         (-[DOMTestObj descriptionName]):
2537         (-[DOMTestObj idName]):
2538         (-[DOMTestObj setIdName:]):
2539         (-[DOMTestObj hashName]):
2540         * bindings/scripts/test/TestObj.idl:
2541         * bindings/scripts/test/V8/V8TestObj.cpp:
2542         (WebCore::TestObjInternal::descriptionAttrGetter):
2543         (WebCore::TestObjInternal::idAttrGetter):
2544         (WebCore::TestObjInternal::idAttrSetter):
2545         (WebCore::TestObjInternal::hashAttrGetter):
2546         (WebCore::):
2547         * storage/IDBDatabaseRequest.idl:
2548
2549 2010-06-13  Anders Bakken  <agbakken@gmail.com>
2550
2551         Reviewed by Eric Seidel.
2552
2553         [Qt] ScreenQt.cpp has coding-style errors
2554         https://bugs.webkit.org/show_bug.cgi?id=39766
2555
2556         * platform/qt/ScreenQt.cpp:
2557
2558 2010-06-13  Eric Seidel  <eric@webkit.org>
2559
2560         Reviewed by Adam Barth.
2561
2562         Rename HTMLParser to LegacyHTMLTreeConstructor
2563         https://bugs.webkit.org/show_bug.cgi?id=40554
2564
2565         This makes our old HTML parsing system closer match the
2566         HTML5 spec, and thus easier to compare to the new HTML5
2567         parsing system.
2568
2569         This rename was entirely automatic.  Done by do-webcore-rename.
2570
2571         * Android.mk:
2572         * CMakeLists.txt:
2573         * GNUmakefile.am:
2574         * WebCore.gypi:
2575         * WebCore.pro:
2576         * WebCore.vcproj/WebCore.vcproj:
2577         * WebCore.xcodeproj/project.pbxproj:
2578         * dom/Document.cpp:
2579         * dom/DocumentParser.h:
2580         (WebCore::DocumentParser::htmlTreeConstructor):
2581         * html/HTML5DocumentParser.cpp:
2582         (WebCore::HTML5DocumentParser::htmlTreeConstructor):
2583         * html/HTML5DocumentParser.h:
2584         * html/HTML5TreeBuilder.cpp:
2585         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
2586         * html/HTML5TreeBuilder.h:
2587         (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
2588         * html/HTMLDocumentParser.cpp:
2589         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2590         * html/HTMLDocumentParser.h:
2591         (WebCore::HTMLDocumentParser::htmlTreeConstructor):
2592         * html/HTMLFormControlElement.cpp:
2593         (WebCore::HTMLFormControlElement::removedFromTree):
2594         * html/HTMLInputElement.cpp:
2595         * html/HTMLMeterElement.cpp:
2596         * html/HTMLProgressElement.cpp:
2597         * html/LegacyHTMLTreeConstructor.cpp: Renamed from WebCore/html/HTMLParser.cpp.
2598         (WebCore::addTags):
2599         (WebCore::HTMLStackElem::HTMLStackElem):
2600         (WebCore::HTMLStackElem::derefNode):
2601         (WebCore::LegacyHTMLTreeConstructor::LegacyHTMLTreeConstructor):
2602         (WebCore::LegacyHTMLTreeConstructor::~LegacyHTMLTreeConstructor):
2603         (WebCore::LegacyHTMLTreeConstructor::reset):
2604         (WebCore::LegacyHTMLTreeConstructor::setCurrent):
2605         (WebCore::tagPriorityOfNode):
2606         (WebCore::LegacyHTMLTreeConstructor::limitDepth):
2607         (WebCore::LegacyHTMLTreeConstructor::insertNodeAfterLimitDepth):
2608         (WebCore::LegacyHTMLTreeConstructor::parseToken):
2609         (WebCore::LegacyHTMLTreeConstructor::parseDoctypeToken):
2610         (WebCore::isTableSection):
2611         (WebCore::isTablePart):
2612         (WebCore::isTableRelated):
2613         (WebCore::isScopingTag):
2614         (WebCore::LegacyHTMLTreeConstructor::insertNode):
2615         (WebCore::LegacyHTMLTreeConstructor::handleError):
2616         (WebCore::LegacyHTMLTreeConstructor::textCreateErrorCheck):
2617         (WebCore::LegacyHTMLTreeConstructor::commentCreateErrorCheck):
2618         (WebCore::LegacyHTMLTreeConstructor::headCreateErrorCheck):
2619         (WebCore::LegacyHTMLTreeConstructor::bodyCreateErrorCheck):
2620         (WebCore::LegacyHTMLTreeConstructor::framesetCreateErrorCheck):
2621         (WebCore::LegacyHTMLTreeConstructor::formCreateErrorCheck):
2622         (WebCore::LegacyHTMLTreeConstructor::isindexCreateErrorCheck):
2623         (WebCore::LegacyHTMLTreeConstructor::selectCreateErrorCheck):
2624         (WebCore::LegacyHTMLTreeConstructor::ddCreateErrorCheck):
2625         (WebCore::LegacyHTMLTreeConstructor::dtCreateErrorCheck):
2626         (WebCore::LegacyHTMLTreeConstructor::rpCreateErrorCheck):
2627         (WebCore::LegacyHTMLTreeConstructor::rtCreateErrorCheck):
2628         (WebCore::LegacyHTMLTreeConstructor::nestedCreateErrorCheck):
2629         (WebCore::LegacyHTMLTreeConstructor::nestedPCloserCreateErrorCheck):
2630         (WebCore::LegacyHTMLTreeConstructor::nestedStyleCreateErrorCheck):
2631         (WebCore::LegacyHTMLTreeConstructor::tableCellCreateErrorCheck):
2632         (WebCore::LegacyHTMLTreeConstructor::tableSectionCreateErrorCheck):
2633         (WebCore::LegacyHTMLTreeConstructor::noembedCreateErrorCheck):
2634         (WebCore::LegacyHTMLTreeConstructor::noframesCreateErrorCheck):
2635         (WebCore::LegacyHTMLTreeConstructor::noscriptCreateErrorCheck):
2636         (WebCore::LegacyHTMLTreeConstructor::pCloserCreateErrorCheck):
2637         (WebCore::LegacyHTMLTreeConstructor::pCloserStrictCreateErrorCheck):
2638         (WebCore::LegacyHTMLTreeConstructor::mapCreateErrorCheck):
2639         (WebCore::mapTagToFunc):
2640         (WebCore::mapTagsToFunc):
2641         (WebCore::LegacyHTMLTreeConstructor::getNode):
2642         (WebCore::LegacyHTMLTreeConstructor::allowNestedRedundantTag):
2643         (WebCore::LegacyHTMLTreeConstructor::processCloseTag):
2644         (WebCore::LegacyHTMLTreeConstructor::isHeadingTag):
2645         (WebCore::LegacyHTMLTreeConstructor::isInline):
2646         (WebCore::LegacyHTMLTreeConstructor::isResidualStyleTag):
2647         (WebCore::LegacyHTMLTreeConstructor::isAffectedByResidualStyle):
2648         (WebCore::LegacyHTMLTreeConstructor::handleResidualStyleCloseTagAcrossBlocks):
2649         (WebCore::LegacyHTMLTreeConstructor::reopenResidualStyleTags):
2650         (WebCore::LegacyHTMLTreeConstructor::pushBlock):
2651         (WebCore::LegacyHTMLTreeConstructor::popBlock):
2652         (WebCore::LegacyHTMLTreeConstructor::popOneBlockCommon):
2653         (WebCore::LegacyHTMLTreeConstructor::popOneBlock):
2654         (WebCore::LegacyHTMLTreeConstructor::moveOneBlockToStack):
2655         (WebCore::LegacyHTMLTreeConstructor::checkIfHasPElementInScope):
2656         (WebCore::LegacyHTMLTreeConstructor::popInlineBlocks):
2657         (WebCore::LegacyHTMLTreeConstructor::freeBlock):
2658         (WebCore::LegacyHTMLTreeConstructor::createHead):
2659         (WebCore::LegacyHTMLTreeConstructor::handleIsindex):
2660         (WebCore::LegacyHTMLTreeConstructor::startBody):
2661         (WebCore::LegacyHTMLTreeConstructor::finished):
2662         (WebCore::LegacyHTMLTreeConstructor::reportErrorToConsole):
2663         (WebCore::shouldCreateImplicitHead):
2664         (WebCore::serializeForNumberType):
2665         (WebCore::parseToDoubleForNumberType):
2666         * html/LegacyHTMLTreeConstructor.h: Renamed from WebCore/html/HTMLParser.h.
2667         (WebCore::LegacyHTMLTreeConstructor::skipMode):
2668         (WebCore::LegacyHTMLTreeConstructor::isHandlingResidualStyleAcrossBlocks):
2669         (WebCore::LegacyHTMLTreeConstructor::setSkipMode):
2670         (WebCore::LegacyHTMLTreeConstructor::popBlock):
2671         (WebCore::LegacyHTMLTreeConstructor::hasPElementInScope):
2672         (WebCore::LegacyHTMLTreeConstructor::reportError):
2673         (WebCore::LegacyHTMLTreeConstructor::):
2674         (WebCore::shouldCreateImplicitHead):
2675         * html/StepRange.cpp:
2676         * html/ValidityState.cpp:
2677         * rendering/RenderSlider.cpp:
2678
2679 2010-06-13  Eric Seidel  <eric@webkit.org>
2680
2681         Reviewed by Darin Adler.
2682
2683         Rename m_parser, htmlParser() to m_treeConstructor, htmlTreeConstructor() in preparation for renaming HTMLParser
2684         https://bugs.webkit.org/show_bug.cgi?id=40514
2685
2686         This rename was done by hand.  I realize now I should have
2687         renamed HTMLParser to HTMLTreeConstructor before renaming HTMLTokenizer.
2688
2689         No functional changes, thus no tests.
2690
2691         * dom/DocumentParser.h:
2692         (WebCore::DocumentParser::htmlTreeConstructor):
2693         * html/HTML5DocumentParser.cpp:
2694         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
2695         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
2696         (WebCore::HTML5DocumentParser::pumpLexer):
2697         (WebCore::HTML5DocumentParser::end):
2698         (WebCore::HTML5DocumentParser::htmlTreeConstructor):
2699         (WebCore::HTML5DocumentParser::isWaitingForScripts):
2700         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
2701         (WebCore::HTML5DocumentParser::notifyFinished):
2702         (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
2703         * html/HTML5DocumentParser.h:
2704         * html/HTML5TreeBuilder.cpp:
2705         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
2706         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2707         (WebCore::HTML5TreeBuilder::finished):
2708         * html/HTML5TreeBuilder.h:
2709         (WebCore::HTML5TreeBuilder::legacyTreeConstructor):
2710         * html/HTMLDocumentParser.cpp:
2711         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2712         (WebCore::HTMLDocumentParser::scriptHandler):
2713         (WebCore::HTMLDocumentParser::parseTag):
2714         (WebCore::HTMLDocumentParser::end):
2715         (WebCore::HTMLDocumentParser::processToken):
2716         (WebCore::HTMLDocumentParser::processDoctypeToken):
2717         * html/HTMLDocumentParser.h:
2718         (WebCore::HTMLDocumentParser::htmlTreeConstructor):
2719         * html/HTMLFormControlElement.cpp:
2720         (WebCore::HTMLFormControlElement::removedFromTree):
2721
2722 2010-06-13  Eric Seidel  <eric@webkit.org>
2723
2724         Reviewed by Darin Adler.
2725
2726         Rename tok, asHTMLTokenizer to parser, asHTMLDocumentParser
2727         https://bugs.webkit.org/show_bug.cgi?id=40513
2728
2729         Last set of Tokenizer related renames, also done via do-webcore-rename:
2730         asHTMLTokenizer => asHTMLDocumentParser
2731         tok => parser
2732
2733         No functional changes, thus no tests.
2734
2735         * dom/Document.cpp:
2736         (WebCore::Document::write):
2737         * dom/DocumentParser.h:
2738         (WebCore::DocumentParser::asHTMLDocumentParser):
2739         * html/HTMLDocumentParser.cpp:
2740         (WebCore::parseHTMLDocumentFragment):
2741         * html/HTMLDocumentParser.h:
2742         (WebCore::HTMLDocumentParser::asHTMLDocumentParser):
2743         * loader/DocumentLoader.cpp:
2744         (WebCore::DocumentLoader::isLoadingInAPISense):
2745
2746 2010-06-13  Eric Seidel  <eric@webkit.org>
2747
2748         Reviewed by Darin Adler.
2749
2750         Fix the rest of the references to the old Tokenizer class (now DocumentParser)
2751         https://bugs.webkit.org/show_bug.cgi?id=40512
2752
2753         No functional changes, thus no new tests.
2754         This was mostly done by do-webcore-rename:
2755         tokenizer => parser
2756         m_tokenizer => m_parser
2757         createTextTokenizer => createTextDocumentParser
2758         createTokenizer => createParser
2759         getTokenizer => getParser
2760
2761         However had to be careful to avoid renaming things related to
2762         css/tokenizer.flex (which we should later rename to CSSTokenizer.flex)
2763
2764         Still a couple references with "tok" and "asHTMLTokenizer" which I'll
2765         get in the next patch.
2766
2767         * accessibility/AccessibilityRenderObject.cpp:
2768         (WebCore::AccessibilityRenderObject::isLoaded):
2769         * bindings/v8/ScriptEventListener.cpp:
2770         (WebCore::createAttributeEventListener):
2771         * dom/Document.cpp:
2772         (WebCore::Document::removedLastRef):
2773         (WebCore::Document::~Document):
2774         (WebCore::Document::createParser):
2775         (WebCore::Document::open):
2776         (WebCore::Document::cancelParsing):
2777         (WebCore::Document::implicitOpen):
2778         (WebCore::Document::implicitClose):
2779         (WebCore::Document::write):
2780         (WebCore::Document::finishParsing):
2781         (WebCore::Document::removePendingSheet):
2782         * dom/Document.h:
2783         (WebCore::Document::parser):
2784         * dom/DocumentParser.h:
2785         * dom/ViewportArguments.cpp:
2786         (WebCore::reportViewportWarning):
2787         * dom/XMLDocumentParserLibxml2.cpp:
2788         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
2789         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
2790         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
2791         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
2792         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
2793         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
2794         (WebCore::PendingCallbacks::PendingCommentCallback::call):
2795         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
2796         (WebCore::PendingCallbacks::):
2797         (WebCore::getParser):
2798         (WebCore::startElementNsHandler):
2799         (WebCore::endElementNsHandler):
2800         (WebCore::charactersHandler):
2801         (WebCore::processingInstructionHandler):
2802         (WebCore::cdataBlockHandler):
2803         (WebCore::commentHandler):
2804         (WebCore::warningHandler):
2805         (WebCore::fatalErrorHandler):
2806         (WebCore::normalErrorHandler):
2807         (WebCore::getEntityHandler):
2808         (WebCore::startDocumentHandler):
2809         (WebCore::endDocumentHandler):
2810         (WebCore::internalSubsetHandler):
2811         (WebCore::externalSubsetHandler):
2812         (WebCore::parseXMLDocumentFragment):
2813         * dom/XMLDocumentParserQt.cpp:
2814         (WebCore::parseXMLDocumentFragment):
2815         * html/HTML5EntityParser.cpp:
2816         * html/HTMLDocument.cpp:
2817         (WebCore::HTMLDocument::createParser):
2818         * html/HTMLDocument.h:
2819         * html/HTMLDocumentParser.cpp:
2820         (WebCore::HTMLDocumentParser::write):
2821         (WebCore::HTMLDocumentParser::stopParsing):
2822         * html/HTMLFormControlElement.cpp:
2823         (WebCore::HTMLFormControlElement::removedFromTree):
2824         * html/HTMLParser.cpp:
2825         (WebCore::HTMLParser::finished):
2826         (WebCore::HTMLParser::reportErrorToConsole):
2827         * html/HTMLViewSourceDocument.cpp:
2828         (WebCore::HTMLViewSourceDocument::createParser):
2829         (WebCore::HTMLViewSourceDocument::addLine):
2830         * html/HTMLViewSourceDocument.h:
2831         * loader/DocumentLoader.cpp:
2832         (WebCore::DocumentLoader::isLoadingInAPISense):
2833         * loader/DocumentWriter.cpp:
2834         (WebCore::DocumentWriter::begin):
2835         (WebCore::DocumentWriter::addData):
2836         * loader/FTPDirectoryDocument.cpp:
2837         (WebCore::FTPDirectoryDocument::createParser):
2838         * loader/FTPDirectoryDocument.h:
2839         * loader/FrameLoader.cpp:
2840         (WebCore::FrameLoader::stopLoading):
2841         (WebCore::FrameLoader::stop):
2842         * loader/ImageDocument.cpp:
2843         (WebCore::ImageDocument::createParser):
2844         * loader/ImageDocument.h:
2845         * loader/MediaDocument.cpp:
2846         (WebCore::MediaDocument::createParser):
2847         * loader/MediaDocument.h:
2848         * loader/PluginDocument.cpp:
2849         (WebCore::PluginDocument::createParser):
2850         * loader/PluginDocument.h:
2851         * loader/SinkDocument.cpp:
2852         (WebCore::SinkDocument::createParser):
2853         * loader/SinkDocument.h:
2854         * loader/TextDocument.cpp:
2855         (WebCore::TextDocument::createParser):
2856         (WebCore::createTextDocumentParser):
2857         * loader/TextDocument.h:
2858         * svg/SVGDocumentExtensions.cpp:
2859         (WebCore::SVGDocumentExtensions::reportWarning):
2860         (WebCore::SVGDocumentExtensions::reportError):
2861         * wml/WMLDocument.cpp:
2862         (WebCore::WMLDocument::finishedParsing):
2863         * wml/WMLErrorHandling.cpp:
2864         (WebCore::reportWMLError):
2865         * wml/WMLTemplateElement.cpp:
2866         (WebCore::WMLTemplateElement::registerTemplatesInDocument):
2867
2868 2010-06-13  Chris Fleizach  <cfleizach@apple.com>
2869
2870         Reviewed by Darin Adler.
2871
2872         AX: link won't return linked element if URL contains #
2873         https://bugs.webkit.org/show_bug.cgi?id=40192
2874
2875         Test: platform/mac/accessibility/internal-link-when-document-has-fragment.html
2876
2877         * accessibility/AccessibilityRenderObject.cpp:
2878         (WebCore::AccessibilityRenderObject::internalLinkElement):
2879
2880 2010-06-13  Sam Weinig  <sam@webkit.org>
2881
2882         Try and fix the chrome build.
2883
2884         * bindings/scripts/CodeGeneratorV8.pm:
2885         * xml/XMLHttpRequest.idl:
2886
2887 2010-06-13  Sam Weinig  <sam@webkit.org>
2888
2889         Reviewed by Anders Carlsson.
2890
2891         Fix for https://bugs.webkit.org/show_bug.cgi?id=40550
2892         XMLHttpRequest constructor object should expose the constants from the IDL.
2893
2894         Test: fast/dom/XMLHttpRequest-constants.html
2895
2896         * Android.jscbindings.mk:
2897         * CMakeLists.txt:
2898         * GNUmakefile.am:
2899         * WebCore.gypi:
2900         * WebCore.pro:
2901         * WebCore.vcproj/WebCore.vcproj:
2902         * WebCore.xcodeproj/project.pbxproj:
2903         * bindings/js/JSBindingsAllInOne.cpp:
2904         * bindings/js/JSDOMWindowCustom.cpp:
2905         * bindings/js/JSWorkerContextCustom.cpp:
2906         * bindings/js/JSXMLHttpRequestConstructor.cpp: Removed.
2907         * bindings/js/JSXMLHttpRequestConstructor.h: Removed.
2908         * bindings/js/JSXMLHttpRequestCustom.cpp:
2909         (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
2910         * bindings/scripts/CodeGeneratorJS.pm:
2911         * xml/XMLHttpRequest.idl:
2912
2913 2010-06-13  Simon Fraser  <simon.fraser@apple.com>
2914
2915         Reviewed by Dan Bernstein.
2916
2917         -webkit-transition font-size and font-family
2918         https://bugs.webkit.org/show_bug.cgi?id=33429
2919         
2920         When animating font-size, update the font with a saved
2921         version of the font selector to ensure that we don't clobber
2922         the font family.        
2923
2924         Test: transitions/font-family-during-transition.html
2925
2926         * rendering/style/RenderStyle.cpp:
2927         (WebCore::RenderStyle::setBlendedFontSize):
2928
2929 2010-06-13  Tony Chang  <tony@chromium.org>
2930
2931         Build fix, not reviewed.
2932
2933         fix chromium compile after r61094 (id attribute refactor)
2934         https://bugs.webkit.org/show_bug.cgi?id=40553
2935
2936         * bindings/v8/custom/V8NamedNodesCollection.cpp:
2937         (WebCore::V8NamedNodesCollection::itemWithName):
2938
2939 2010-06-13  Darin Adler  <darin@apple.com>
2940
2941         Reviewed by Alexey Proskuryakov.
2942
2943         Partly done support for alternate ID attributes should be removed
2944         https://bugs.webkit.org/show_bug.cgi?id=39692
2945
2946         Removed the include of "HTMLNames.h" from "Element.h". This prevents
2947         near-world-rebuilds every time you change HTMLTagNames.in.
2948
2949         Renamed the getIDAttribute function in the Element class to
2950         idForStyleResolution, since it returns a value of the id attribute
2951         that has been lowercased as appropriate for style matching, not the
2952         actual value of the attribute. With the old name it was easy to
2953         misuse it in non-style contexts.
2954
2955         Got rid of the idAttributeName function on Element, since it is
2956         easy to use it wrong. Replace it with isIdAttributeName, getIdAttribute,
2957         and setIdAttribute functions, which are a good fit for the needs of
2958         most call sites that were dealing with the id attribute.
2959
2960         Added an idAttributeName function to Document. This is for a future
2961         where a document can have a custom id attribute name specified in its
2962         doctype. It's possible this will be insufficient because the same
2963         document might have XHTML or SVG elements in it, and it's possible
2964         that on those elements we will want the attribute named "id" with
2965         no namespace to still work. We can deal with that when we implement
2966         the actual feature, though. For now, it seems OK to fetch the name
2967         of the id attribute from the document.
2968
2969         * dom/DynamicNodeList.cpp:
2970         (WebCore::DynamicNodeList::itemWithName):
2971         * dom/StaticNodeList.cpp:
2972         (WebCore::StaticNodeList::itemWithName):
2973         * rendering/RenderSVGResourceContainer.h:
2974         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
2975         (WebCore::RenderSVGResourceContainer::idChanged):
2976         * svg/SVGUseElement.cpp:
2977         (WebCore::SVGUseElement::handleDeepUseReferencing):
2978         * svg/animation/SMILTimeContainer.cpp:
2979         (WebCore::SMILTimeContainer::updateAnimations):
2980         Use the new idForStyleResolution function, which is the new name of
2981         the getIDAttribute function. There's a good chance these call sites are
2982         incorrect, which is something we should investigate later, so there's
2983         a FIXME at each call site.
2984
2985         * dom/Document.cpp:
2986         (WebCore::Document::Document): Initialize m_idAttributeName to the
2987         standard id attribute from HTML.
2988         (WebCore::Document::getElementById): Use Element::getIdAttribute.
2989         * dom/Document.h: Added Document::idAttributeName.
2990
2991         * dom/Element.cpp:
2992         (WebCore::Element::setAttribute): Use Document::idAttributeName.
2993         (WebCore::Element::setAttributeMap): Use Element::isIdAttributeName.
2994         (WebCore::Element::insertedIntoDocument): Use Document::idAttributeName.
2995         (WebCore::Element::removedFromDocument): Ditto.
2996         (WebCore::Element::formatForDebugger): Use Element::getIdAttribute.
2997         * dom/Element.h: Added isIdAttributeName, getIdAttribute, setIdAttribute,
2998         idForStyleResolution. Removed rareIDAttributeName.
2999
3000         * dom/ElementRareData.h: Removed m_idAttributeName.
3001
3002         * dom/NamedNodeMap.cpp:
3003         (WebCore::NamedNodeMap::setAttributes): Use Document::idAttributeName.
3004         * dom/NamedNodeMap.h: Renamed id, setID, and m_id to idForStyleResolution,
3005         setIdForStyleResolution, and m_idForStyleResolution since this is not the
3006         value of the id attribute because it gets lowercased for compatibility-mode
3007         documents.
3008
3009         * rendering/RenderIFrame.cpp:
3010         * rendering/RenderLayerCompositor.cpp:
3011         * rendering/RenderProgress.cpp:
3012         Added include of HTMLNames.h now that Element.h no longer includes it.
3013
3014         * editing/SetNodeAttributeCommand.h:
3015         * editing/markup.cpp:
3016         * html/HTMLParser.cpp:
3017         Removed unneeded includes.
3018
3019         * html/HTMLParser.h: Sorted includes.
3020
3021         * css/CSSStyleSelector.cpp:
3022         (WebCore::CSSStyleSelector::matchRules): Use idForStyleResolution.
3023         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Use idForStyleResolution.
3024         * dom/Attr.cpp:
3025         (WebCore::Attr::isId): Use Document::idAttributeName.
3026         * dom/StyledElement.cpp:
3027         (WebCore::StyledElement::parseMappedAttribute): Use isIdAttributeName,
3028         and setIdForStyleResolution.
3029         * editing/DeleteButtonController.cpp:
3030         (WebCore::DeleteButtonController::createDeletionUI): Use setIdAttribute.
3031         * editing/EditorCommand.cpp:
3032         (WebCore::executeInsertHorizontalRule): Ditto.
3033         * html/HTMLAppletElement.cpp:
3034         (WebCore::HTMLAppletElement::parseMappedAttribute): Use isIdAttributeName.
3035         (WebCore::HTMLAppletElement::createRenderer): Use getIdAttribute.
3036         * html/HTMLCollection.cpp:
3037         (WebCore::HTMLCollection::checkForNameMatch): Use getIdAttribute.
3038         (WebCore::HTMLCollection::updateNameCache): Use getIdAttribute.
3039         * html/HTMLDataGridColElement.cpp:
3040         (WebCore::HTMLDataGridColElement::ensureColumn): Use getIdAttribute.
3041         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Use isIdAttributeName.
3042         * html/HTMLElement.cpp:
3043         (WebCore::HTMLElement::parseMappedAttribute): Use isIdAttributeName.
3044         * html/HTMLFormCollection.cpp:
3045         (WebCore::HTMLFormCollection::nextNamedItem): Added missing braces.
3046         (WebCore::HTMLFormCollection::updateNameCache): Use getIdAttribute.
3047         * html/HTMLFrameElementBase.cpp:
3048         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Use isIdAttributeName.
3049         (WebCore::HTMLFrameElementBase::setName): Use getIdAttribute.
3050         * html/HTMLImageElement.cpp:
3051         (WebCore::HTMLImageElement::parseMappedAttribute): Use isIdAttributeName.
3052         * html/HTMLMapElement.cpp:
3053         (WebCore::HTMLMapElement::parseMappedAttribute): Use isIdAttributeName.
3054         Also restructured the function a bit to make its structure clearer and added
3055         a comment pointing out that it can't be quite right.
3056         * html/HTMLNameCollection.cpp:
3057         (WebCore::HTMLNameCollection::itemAfter): Use getIdAttribute.
3058         * html/HTMLObjectElement.cpp:
3059         (WebCore::HTMLObjectElement::parseMappedAttribute): Use isIdAttributeName.
3060         * html/HTMLParamElement.cpp:
3061         (WebCore::HTMLParamElement::parseMappedAttribute): Use isIdAttributeName.
3062         * loader/CachedFont.cpp:
3063         (WebCore::CachedFont::getSVGFontById): Use getIdAttribute.
3064         * rendering/RenderLayerBacking.cpp:
3065         (WebCore::RenderLayerBacking::nameForLayer): Use getIdAttribute.
3066         * rendering/SVGRenderTreeAsText.cpp:
3067         (WebCore::writeSVGPaintingResource): Use getIdAttribute.
3068         (WebCore::writeSVGResourceContainer): Ditto.
3069         * svg/SVGElement.cpp:
3070         (WebCore::SVGElement::insertedIntoDocument): Use getIdAttribute.
3071         * svg/SVGStyledElement.cpp:
3072         (WebCore::SVGStyledElement::isKnownAttribute): Use isIdAttributeName.
3073         (WebCore::SVGStyledElement::svgAttributeChanged): Use isIdAttributeName.
3074         * wml/WMLElement.cpp:
3075         (WebCore::WMLElement::parseMappedAttribute): Use isIdAttributeName.
3076
3077 2010-06-13  Dan Bernstein  <mitz@apple.com>
3078
3079         Reviewed by Darin Adler.
3080
3081         <rdar://problem/8087385> REGRESSION (r60974): Continuous wheel scrolling is too fast in list boxes and in Safari Reader
3082         https://bugs.webkit.org/show_bug.cgi?id=40537
3083
3084         * platform/mac/WheelEventMac.mm:
3085         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Only multiply by pixelsPerLineStep() if the
3086         event is not continuous, as was before r56012.
3087
3088 2010-06-13  Andras Becsi  <abecsi@webkit.org>
3089
3090         Reviewed by Darin Adler.
3091
3092         Centralize the gperf code generation commands into make-hash-tools.pl
3093         to avoid redundancy across multiple build systems.
3094         Do this in preparation of refactoring the usage of these generated
3095         sources to fix the debug linking error on Linux with gcc >= 4.4.0.
3096
3097         webkit.org/b/29244
3098
3099         No functionality change, so no new tests needed.
3100
3101         * DerivedSources.make:
3102         * GNUmakefile.am:
3103         * WebCore.gyp/WebCore.gyp:
3104         * WebCore.gyp/scripts/rule_gperf.py: Removed.
3105         * WebCore.pri:
3106         * WebCore.xcodeproj/project.pbxproj:
3107         * css/CSSParser.cpp:
3108         (WebCore::cssPropertyID):
3109         (WebCore::cssValueKeywordID):
3110         * css/makeprop.pl:
3111         * css/makevalues.pl:
3112         * html/DocTypeStrings.gperf:
3113         * html/HTML5EntityParser.cpp:
3114         * html/HTMLDocumentParser.cpp:
3115         * html/HTMLEntityNames.gperf:
3116         * html/PreloadScanner.cpp:
3117         * make-hash-tools.pl: Added.
3118         * platform/ColorData.gperf:
3119         * platform/graphics/Color.cpp:
3120
3121 2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
3122
3123         Reviewed by Kenneth Rohde Christiansen.
3124
3125         [Qt] tests/hybridPixmap fails
3126         https://bugs.webkit.org/show_bug.cgi?id=37316
3127
3128         The problem was that JSC::Instance::createRuntimeObject was never called.
3129         This is fixed by overloading newRuntimeObject and calling Instance::createRuntimeObject
3130         in between, instead of creating the runtime object directly inside the static function
3131         QtPixmapInstance::createRuntimeObject, which had to be renamed as to not overshadow the virtual function.
3132
3133         This fixes an existing test, tests/hybridPixmap
3134
3135         * bridge/qt/qt_pixmapruntime.cpp:
3136         (JSC::Bindings::QtPixmapInstance::newRuntimeObject):
3137         (JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):
3138         * bridge/qt/qt_pixmapruntime.h:
3139         * bridge/qt/qt_runtime.cpp:
3140         (JSC::Bindings::convertQVariantToValue):
3141
3142 2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
3143
3144         Reviewed by Darin Adler.
3145
3146         GraphicsContext3D.h in the Qt port includes too many unnecessary files
3147         https://bugs.webkit.org/show_bug.cgi?id=40536
3148
3149         Removed unncessary includes.
3150
3151         No new tests; Compilation improvement.
3152
3153         * platform/graphics/GraphicsContext3D.h:
3154         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3155
3156 2010-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
3157
3158         Reviewed by Eric Seidel.
3159
3160         [Qt] GraphicsLayer: recaching images creates an unnecessary deep copy
3161         https://bugs.webkit.org/show_bug.cgi?id=40535
3162
3163         Made sure the painter ends its operation before copying the pixmap.
3164
3165         No new tests: this is an optimization.
3166
3167         * platform/graphics/qt/GraphicsLayerQt.cpp:
3168         (WebCore::GraphicsLayerQtImpl::recache):
3169
3170 2010-06-13  Clemmitt Sigler  <cmsigler@gmail.com>
3171
3172         Reviewed by Eric Seidel.
3173
3174         Patch to fix missing references to RenderMathMLRoot,
3175         RenderMathMLSquareRoot when building GtkLauncher.
3176         https://bugs.webkit.org/show_bug.cgi?id=40326
3177
3178         No change in functionality so no new tests.
3179
3180         * GNUmakefile.am:
3181
3182 2010-06-12  Brian Weinstein  <bweinstein@apple.com>
3183
3184         Reviewed by Dan Bernstein.
3185         
3186         https://bugs.webkit.org/show_bug.cgi?id=40538
3187         
3188         Some machines have started to see the return of the dreaded: WebCore.lib : fatal error LNK1106: invalid 
3189         file or disk full. Since we don't have the hotfix for VS2005, work around this in the meantime
3190         by creating an EditingAllInOne file, that includes all of the cpp files in the editing subdirectory.
3191         
3192         * WebCore.vcproj/WebCore.vcproj: Prevnt the editing cpp from building, so we only compile EditingAllInOne.
3193         * editing/EditingAllInOne.cpp: Added. Includes all of the editing cpp files.
3194
3195 2010-06-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3196
3197         Unreviewed, rolling out r61031.
3198         http://trac.webkit.org/changeset/61031
3199         https://bugs.webkit.org/show_bug.cgi?id=40539
3200
3201         Crashes Dromaeo jslib test in Release Chromium (Requested by
3202         dimich_ on #webkit).
3203
3204         * bindings/v8/V8Binding.cpp:
3205         (WebCore::v8ExternalString):
3206         * bindings/v8/V8Binding.h:
3207
3208 2010-06-12  Eric Seidel  <eric@webkit.org>
3209
3210         Reviewed by Adam Barth.
3211
3212         Rename the last few *Tokenizer classes (which don't have their own files) to *DocumentParser
3213         https://bugs.webkit.org/show_bug.cgi?id=40508
3214
3215         This was a very simple do-webcore-rename-generated patch.
3216
3217         PluginTokenizer => PluginDocumentParser
3218         TextTokenizer => TextDocumentParser
3219         SinkTokenizer => SinkDocumentParser
3220         MediaTokenizer => MediaDocumentParser
3221         FTPDirectoryTokenizer => FTPDirectoryDocumentParser
3222
3223         No functional changes, thus no tests.
3224
3225         * html/HTMLViewSourceDocument.cpp:
3226         (WebCore::HTMLViewSourceDocument::createTokenizer):
3227         * html/HTMLViewSourceDocument.h:
3228         * loader/FTPDirectoryDocument.cpp:
3229         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
3230         (WebCore::FTPDirectoryDocumentParser::appendEntry):
3231         (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
3232         (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
3233         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
3234         (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
3235         (WebCore::FTPDirectoryDocumentParser::write):
3236         (WebCore::FTPDirectoryDocumentParser::finish):
3237         (WebCore::FTPDirectoryDocument::createTokenizer):
3238         * loader/MediaDocument.cpp:
3239         (WebCore::MediaDocumentParser::MediaDocumentParser):
3240         (WebCore::MediaDocumentParser::write):
3241         (WebCore::MediaDocumentParser::createDocumentStructure):
3242         (WebCore::MediaDocumentParser::writeRawData):
3243         (WebCore::MediaDocumentParser::finish):
3244         (WebCore::MediaDocumentParser::isWaitingForScripts):
3245         (WebCore::MediaDocument::createTokenizer):
3246         * loader/PluginDocument.cpp:
3247         (WebCore::PluginDocumentParser::PluginDocumentParser):
3248         (WebCore::PluginDocumentParser::pluginWidgetFromDocument):
3249         (WebCore::PluginDocumentParser::write):
3250         (WebCore::PluginDocumentParser::createDocumentStructure):
3251         (WebCore::PluginDocumentParser::writeRawData):
3252         (WebCore::PluginDocumentParser::finish):
3253         (WebCore::PluginDocumentParser::isWaitingForScripts):
3254         (WebCore::PluginDocument::createTokenizer):
3255         (WebCore::PluginDocument::pluginWidget):
3256         * loader/SinkDocument.cpp:
3257         (WebCore::SinkDocumentParser::SinkDocumentParser):
3258         (WebCore::SinkDocumentParser::finish):
3259         (WebCore::SinkDocument::createTokenizer):
3260         * loader/TextDocument.cpp:
3261         (WebCore::TextDocumentParser::TextDocumentParser):
3262         (WebCore::TextDocumentParser::~TextDocumentParser):
3263         (WebCore::TextDocumentParser::write):
3264         (WebCore::TextDocumentParser::finish):
3265         (WebCore::TextDocumentParser::isWaitingForScripts):
3266         (WebCore::TextDocument::createTokenizer):
3267         (WebCore::createTextTokenizer):
3268
3269 2010-06-12  Anders Bakken  <agbakken@gmail.com>
3270
3271         Reviewed by Eric Seidel.
3272
3273         [Qt] EventHandlerQt.cpp has coding-style errors
3274         https://bugs.webkit.org/show_bug.cgi?id=40259
3275
3276         Coding style change only.
3277
3278         * page/qt/EventHandlerQt.cpp:
3279         (WebCore::EventHandler::eventActivatedView):
3280
3281 2010-06-12  Kwang Yul Seo  <skyul@company100.net>
3282
3283         Reviewed by Darin Adler.
3284
3285         Unify fileSystemRepresentation and filenameFromString
3286         https://bugs.webkit.org/show_bug.cgi?id=40201
3287
3288         Remove filenameFromString and use fileSystemRepresentation instead
3289         as they do the same job.
3290
3291         * platform/FileSystem.cpp: Removed.
3292         * platform/FileSystem.h:
3293         * platform/efl/FileSystemEfl.cpp:
3294         (WebCore::fileSystemRepresentation):
3295         * platform/gtk/FileChooserGtk.cpp:
3296         (WebCore::FileChooser::basenameForWidth):
3297         * platform/gtk/FileSystemGtk.cpp:
3298         (WebCore::fileSystemRepresentation):
3299         (WebCore::filenameForDisplay):
3300         (WebCore::fileExists):
3301         (WebCore::deleteFile):
3302         (WebCore::deleteEmptyDirectory):
3303         (WebCore::getFileSize):
3304         (WebCore::getFileModificationTime):
3305         (WebCore::makeAllDirectories):
3306         (WebCore::pathGetFileName):
3307         (WebCore::directoryName):
3308         (WebCore::listDirectory):
3309         * platform/gtk/SharedBufferGtk.cpp:
3310         (WebCore::SharedBuffer::createWithContentsOfFile):
3311         * platform/network/soup/ResourceHandleSoup.cpp:
3312         (WebCore::startHttp):
3313         * platform/posix/SharedBufferPOSIX.cpp:
3314         (WebCore::SharedBuffer::createWithContentsOfFile):
3315
3316 2010-06-12  Patrick Gansterer  <paroga@paroga.com>
3317
3318         Reviewed by Eric Seidel.
3319
3320         [Haiku] Cleanup SharedBuffer::createWithContentsOfFile
3321         https://bugs.webkit.org/show_bug.cgi?id=39003
3322
3323         * platform/haiku/SharedBufferHaiku.cpp:
3324         (WebCore::SharedBuffer::createWithContentsOfFile):
3325
3326 2010-06-12  Anders Bakken  <agbakken@gmail.com>
3327
3328         Reviewed by Eric Seidel.
3329
3330         [Qt] WheelEventQt.cpp has coding-style errors
3331         https://bugs.webkit.org/show_bug.cgi?id=39760
3332
3333         * platform/qt/WheelEventQt.cpp:
3334         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3335
3336 2010-06-12  Kwang Yul Seo  <skyul@company100.net>
3337
3338         Reviewed by Kent Tamura.
3339
3340         [BREWMP] Don't include POSIX headers in WebCorePrefix.h
3341         https://bugs.webkit.org/show_bug.cgi?id=39411
3342
3343         When building for BREW MP, don't include POSIX headers:
3344         <fcntl.h>, <pthread.h> and <sys/types.h>.
3345
3346         * WebCorePrefix.h:
3347
3348 2010-06-11  Eric Seidel  <eric@webkit.org>
3349
3350         Reviewed by Adam Barth.
3351
3352         Rename the rest of the *Tokenizer classes to *DocumentParser
3353         https://bugs.webkit.org/show_bug.cgi?id=40507
3354
3355         This search/replace was done by do-webcore-rename.
3356         Just looking for a rubber stamp.
3357         
3358         XMLTokenizer => XMLDocumentParser
3359         XMLTokenizerLibxml2 => XMLDocumentParserLibxml2
3360         XMLTokenizerQt => XMLDocumentParserQt
3361         XMLTokenizerScope => XMLDocumentParserScope
3362         HTML5Tokenizer => HTML5DocumentParser
3363         HTMLTokenizer => HTMLDocumentParser
3364
3365         No functional change, thus no tests.
3366
3367         * Android.mk:
3368         * CMakeLists.txt:
3369         * GNUmakefile.am:
3370         * WebCore.gypi:
3371         * WebCore.pro:
3372         * WebCore.vcproj/WebCore.vcproj:
3373         * WebCore.xcodeproj/project.pbxproj:
3374         * css/CSSStyleSheet.cpp:
3375         (WebCore::CSSStyleSheet::checkLoaded):
3376         * dom/Document.cpp:
3377         (WebCore::Document::createTokenizer):
3378         (WebCore::Document::write):
3379         * dom/Document.h:
3380         (WebCore::Document::setXMLEncoding):
3381         * dom/DocumentParser.h:
3382         (WebCore::DocumentParser::asHTMLTokenizer):
3383         * dom/Element.cpp:
3384         * dom/ProcessingInstruction.cpp:
3385         * dom/XMLDocumentParser.cpp: Added.
3386         (WebCore::XMLDocumentParser::isWMLDocument):
3387         (WebCore::XMLDocumentParser::pushCurrentNode):
3388         (WebCore::XMLDocumentParser::popCurrentNode):
3389         (WebCore::XMLDocumentParser::clearCurrentNodeStack):
3390         (WebCore::XMLDocumentParser::write):
3391         (WebCore::XMLDocumentParser::handleError):
3392         (WebCore::XMLDocumentParser::enterText):
3393         (WebCore::toString):
3394         (WebCore::XMLDocumentParser::exitText):
3395         (WebCore::XMLDocumentParser::end):
3396         (WebCore::XMLDocumentParser::finish):
3397         (WebCore::createXHTMLParserErrorHeader):
3398         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
3399         (WebCore::XMLDocumentParser::notifyFinished):
3400         (WebCore::XMLDocumentParser::isWaitingForScripts):
3401         (WebCore::XMLDocumentParser::pauseParsing):
3402         * dom/XMLDocumentParser.h: Added.
3403         (WebCore::XMLParserContext::context):
3404         (WebCore::XMLParserContext::XMLParserContext):
3405         (WebCore::XMLDocumentParser::):
3406         (WebCore::XMLDocumentParser::setIsXHTMLDocument):
3407         (WebCore::XMLDocumentParser::isXHTMLDocument):
3408         (WebCore::XMLDocumentParser::setIsXHTMLMPDocument):
3409         (WebCore::XMLDocumentParser::isXHTMLMPDocument):
3410         (WebCore::XMLDocumentParser::wellFormed):
3411         (WebCore::XMLDocumentParser::context):
3412         * dom/XMLDocumentParserLibxml2.cpp: Added.
3413         (WebCore::PendingCallbacks::~PendingCallbacks):
3414         (WebCore::PendingCallbacks::appendStartElementNSCallback):
3415         (WebCore::PendingCallbacks::appendEndElementNSCallback):
3416         (WebCore::PendingCallbacks::appendCharactersCallback):
3417         (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
3418         (WebCore::PendingCallbacks::appendCDATABlockCallback):
3419         (WebCore::PendingCallbacks::appendCommentCallback):
3420         (WebCore::PendingCallbacks::appendInternalSubsetCallback):
3421         (WebCore::PendingCallbacks::appendErrorCallback):
3422         (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
3423         (WebCore::PendingCallbacks::isEmpty):
3424         (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
3425         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
3426         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
3427         (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
3428         (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
3429         (WebCore::PendingCallbacks::PendingCharactersCallback::call):
3430         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
3431         (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
3432         (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
3433         (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
3434         (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
3435         (WebCore::PendingCallbacks::PendingCommentCallback::call):
3436         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
3437         (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
3438         (WebCore::PendingCallbacks::):
3439         (WebCore::matchFunc):
3440         (WebCore::OffsetBuffer::OffsetBuffer):
3441         (WebCore::OffsetBuffer::readOutBytes):
3442         (WebCore::shouldAllowExternalLoad):
3443         (WebCore::openFunc):
3444         (WebCore::readFunc):
3445         (WebCore::writeFunc):
3446         (WebCore::closeFunc):
3447         (WebCore::errorFunc):
3448         (WebCore::XMLParserContext::createStringParser):
3449         (WebCore::XMLParserContext::createMemoryParser):
3450         (WebCore::XMLDocumentParser::XMLDocumentParser):
3451         (WebCore::XMLParserContext::~XMLParserContext):
3452         (WebCore::XMLDocumentParser::~XMLDocumentParser):
3453         (WebCore::XMLDocumentParser::doWrite):
3454         (WebCore::toString):
3455         (WebCore::handleElementNamespaces):
3456         (WebCore::handleElementAttributes):
3457         (WebCore::XMLDocumentParser::startElementNs):
3458         (WebCore::XMLDocumentParser::endElementNs):
3459         (WebCore::XMLDocumentParser::characters):
3460         (WebCore::XMLDocumentParser::error):
3461         (WebCore::XMLDocumentParser::processingInstruction):
3462         (WebCore::XMLDocumentParser::cdataBlock):
3463         (WebCore::XMLDocumentParser::comment):
3464         (WebCore::XMLDocumentParser::startDocument):
3465         (WebCore::XMLDocumentParser::endDocument):
3466         (WebCore::XMLDocumentParser::internalSubset):
3467         (WebCore::getTokenizer):
3468         (WebCore::hackAroundLibXMLEntityBug):
3469         (WebCore::startElementNsHandler):
3470         (WebCore::endElementNsHandler):
3471         (WebCore::charactersHandler):
3472         (WebCore::processingInstructionHandler):
3473         (WebCore::cdataBlockHandler):
3474         (WebCore::commentHandler):
3475         (WebCore::warningHandler):
3476         (WebCore::fatalErrorHandler):
3477         (WebCore::normalErrorHandler):
3478         (WebCore::):
3479         (WebCore::sharedXHTMLEntity):
3480         (WebCore::getXHTMLEntity):
3481         (WebCore::getEntityHandler):
3482         (WebCore::startDocumentHandler):
3483         (WebCore::endDocumentHandler):
3484         (WebCore::internalSubsetHandler):
3485         (WebCore::externalSubsetHandler):
3486         (WebCore::ignorableWhitespaceHandler):
3487         (WebCore::XMLDocumentParser::initializeParserContext):
3488         (WebCore::XMLDocumentParser::doEnd):
3489         (WebCore::xmlDocPtrForString):
3490         (WebCore::XMLDocumentParser::lineNumber):
3491         (WebCore::XMLDocumentParser::columnNumber):
3492         (WebCore::XMLDocumentParser::stopParsing):
3493         (WebCore::XMLDocumentParser::resumeParsing):
3494         (WebCore::parseXMLDocumentFragment):
3495         (WebCore::attributesStartElementNsHandler):
3496         (WebCore::parseAttributes):
3497         * dom/XMLDocumentParserQt.cpp: Added.
3498         (WebCore::EntityResolver::resolveUndeclaredEntity):
3499         (WebCore::XMLDocumentParser::XMLDocumentParser):
3500         (WebCore::XMLDocumentParser::~XMLDocumentParser):
3501         (WebCore::XMLDocumentParser::doWrite):
3502         (WebCore::XMLDocumentParser::initializeParserContext):
3503         (WebCore::XMLDocumentParser::doEnd):
3504         (WebCore::XMLDocumentParser::lineNumber):
3505         (WebCore::XMLDocumentParser::columnNumber):
3506         (WebCore::XMLDocumentParser::stopParsing):
3507         (WebCore::XMLDocumentParser::resumeParsing):
3508         (WebCore::parseXMLDocumentFragment):
3509         (WebCore::attributesStartElementNsHandler):
3510         (WebCore::parseAttributes):
3511         (WebCore::prefixFromQName):
3512         (WebCore::handleElementNamespaces):
3513         (WebCore::handleElementAttributes):
3514         (WebCore::XMLDocumentParser::parse):
3515         (WebCore::XMLDocumentParser::startDocument):
3516         (WebCore::XMLDocumentParser::parseStartElement):
3517         (WebCore::XMLDocumentParser::parseEndElement):
3518         (WebCore::XMLDocumentParser::parseCharacters):
3519         (WebCore::XMLDocumentParser::parseProcessingInstruction):
3520         (WebCore::XMLDocumentParser::parseCdata):
3521         (WebCore::XMLDocumentParser::parseComment):
3522         (WebCore::XMLDocumentParser::endDocument):
3523         (WebCore::XMLDocumentParser::hasError):
3524         (WebCore::XMLDocumentParser::parseDtd):
3525         * dom/XMLDocumentParserScope.cpp: Added.
3526         (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
3527         (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
3528         * dom/XMLDocumentParserScope.h: Added.
3529         * dom/XMLTokenizer.cpp: Removed.
3530         * dom/XMLTokenizer.h: Removed.
3531         * dom/XMLTokenizerLibxml2.cpp: Removed.
3532         * dom/XMLTokenizerQt.cpp: Removed.
3533         * dom/XMLTokenizerScope.cpp: Removed.
3534         * dom/XMLTokenizerScope.h: Removed.
3535         * html/HTML5DocumentParser.cpp: Added.
3536         (WebCore::):
3537         (WebCore::HTML5DocumentParser::HTML5DocumentParser):
3538         (WebCore::HTML5DocumentParser::~HTML5DocumentParser):
3539         (WebCore::HTML5DocumentParser::begin):
3540         (WebCore::HTML5DocumentParser::pumpLexerIfPossible):
3541         (WebCore::HTML5DocumentParser::pumpLexer):
3542         (WebCore::HTML5DocumentParser::write):
3543         (WebCore::HTML5DocumentParser::end):
3544         (WebCore::HTML5DocumentParser::attemptToEnd):
3545         (WebCore::HTML5DocumentParser::endIfDelayed):
3546         (WebCore::HTML5DocumentParser::finish):
3547         (WebCore::HTML5DocumentParser::executingScript):
3548         (WebCore::HTML5DocumentParser::lineNumber):
3549         (WebCore::HTML5DocumentParser::columnNumber):
3550         (WebCore::HTML5DocumentParser::htmlParser):
3551         (WebCore::HTML5DocumentParser::isWaitingForScripts):
3552         (WebCore::HTML5DocumentParser::resumeParsingAfterScriptExecution):
3553         (WebCore::HTML5DocumentParser::watchForLoad):
3554         (WebCore::HTML5DocumentParser::stopWatchingForLoad):
3555         (WebCore::HTML5DocumentParser::shouldLoadExternalScriptFromSrc):
3556         (WebCore::HTML5DocumentParser::executeScript):
3557         (WebCore::HTML5DocumentParser::notifyFinished):
3558         (WebCore::HTML5DocumentParser::executeScriptsWaitingForStylesheets):
3559         (WebCore::HTML5DocumentParser::script):
3560         * html/HTML5DocumentParser.h: Added.
3561         (WebCore::HTML5DocumentParser::InputStream::InputStream):
3562         (WebCore::HTML5DocumentParser::InputStream::appendToEnd):
3563         (WebCore::HTML5DocumentParser::InputStream::insertAtCurrentInsertionPoint):
3564         (WebCore::HTML5DocumentParser::InputStream::close):
3565         (WebCore::HTML5DocumentParser::InputStream::current):
3566         (WebCore::HTML5DocumentParser::InputStream::splitInto):
3567         (WebCore::HTML5DocumentParser::InputStream::mergeFrom):
3568         (WebCore::HTML5DocumentParser::InsertionPointRecord::InsertionPointRecord):
3569         (WebCore::HTML5DocumentParser::InsertionPointRecord::~InsertionPointRecord):
3570         (WebCore::HTML5DocumentParser::inWrite):
3571         * html/HTML5Lexer.h:
3572         (WebCore::HTML5Lexer::columnNumber):
3573         * html/HTML5Tokenizer.cpp: Removed.
3574         * html/HTML5Tokenizer.h: Removed.
3575         * html/HTML5TreeBuilder.cpp:
3576         * html/HTMLDocument.cpp:
3577         (WebCore::HTMLDocument::createTokenizer):
3578         * html/HTMLDocumentPa