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