2010-07-09 Eric Seidel <eric@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-07-09  Eric Seidel  <eric@webkit.org>
2
3         Reviewed by Adam Barth.
4
5         Add new popUntilPopped functions to clean up code
6         https://bugs.webkit.org/show_bug.cgi?id=41936
7
8         Pretty self explanatory.  Much awesome code reduction.
9
10         No functional changes, thus no tests.
11
12         * html/HTMLElementStack.cpp:
13         (WebCore::HTMLElementStack::popUntilPopped):
14         * html/HTMLElementStack.h:
15         * html/HTMLTreeBuilder.cpp:
16         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
17         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
18         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
19         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
20         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
21         (WebCore::HTMLTreeBuilder::processEndTag):
22
23 2010-07-09  Eric Seidel  <eric@webkit.org>
24
25         Unreviewed.  Just renaming (discussed with Adam Barth).
26
27         Rename createElement* to createHTMLElement* to better reflect
28         behavior.  This is in preparation for adding foreign content support.
29
30         * html/HTMLConstructionSite.cpp:
31         (WebCore::HTMLConstructionSite::createHTMLElementAndAttachToCurrent):
32         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
33         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
34         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
35         (WebCore::HTMLConstructionSite::insertHTMLElement):
36         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
37         (WebCore::HTMLConstructionSite::createHTMLElement):
38         * html/HTMLConstructionSite.h:
39         * html/HTMLTreeBuilder.cpp:
40         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
41
42 2010-07-09  Eric Seidel  <eric@webkit.org>
43
44         Unreviewed.  Just renaming (discussed with Adam Barth).
45
46         Rename insertElement to insertHTMLElement and
47         insertSelfClosingElement to insertSelfClosingHTMLElement
48         to better reflect what they actually do.  This is in preparation
49         for adding foreign content support.
50
51         * html/HTMLConstructionSite.cpp:
52         (WebCore::HTMLConstructionSite::insertHTMLElement):
53         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
54         (WebCore::HTMLConstructionSite::insertFormattingElement):
55         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
56         (WebCore::HTMLConstructionSite::fosterParent):
57         * html/HTMLConstructionSite.h:
58         * html/HTMLTreeBuilder.cpp:
59         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
60         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
61         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
62         (WebCore::HTMLTreeBuilder::processStartTag):
63         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
64         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
65         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
66         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
67
68 2010-07-08  Rob Buis  <rwlbuis@gmail.com>
69
70         Reviewed by Eric Seidel.
71
72         Implement SVGSVGElement.getElementById
73         https://bugs.webkit.org/show_bug.cgi?id=41655
74
75         Implement getElementById for SVGSVGElement by trying to
76         reuse Document.getElementById. If that fails to find an
77         SVG element in the document fragent do a subtree search.
78
79         Test: svg/custom/svg-getelementid.xhtml
80
81         * svg/SVGSVGElement.cpp:
82         (WebCore::SVGSVGElement::getElementById):
83         * svg/SVGSVGElement.h:
84         * svg/SVGSVGElement.idl:
85
86 2010-07-08  Eric Seidel  <eric@webkit.org>
87
88         Reviewed by Adam Barth.
89
90         Unwrap a few || blocks for easier readability
91         https://bugs.webkit.org/show_bug.cgi?id=41838
92
93         No functional change, thus no tests.
94
95         * html/HTMLTreeBuilder.cpp:
96         (WebCore::HTMLTreeBuilder::adjustedLexerState):
97         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
98         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
99         (WebCore::HTMLTreeBuilder::processStartTag):
100         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
101         (WebCore::HTMLTreeBuilder::processEndTag):
102         (WebCore::HTMLTreeBuilder::processComment):
103         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
104
105 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
106
107         Reviewed by Simon Hausmann.
108
109         [Qt] for debugging purposes nice I'm contributing back my FPS
110         counter in the AnimationQtBase
111         https://bugs.webkit.org/show_bug.cgi?id=40381
112
113         Simply start a timer and count frames in the AnimationQtBase and
114         spit out the FPS count at the end of a single animation.
115
116         No new tests: this is a simple debugging aid.
117
118         * platform/graphics/qt/GraphicsLayerQt.cpp:
119         (WebCore::AnimationQt::updateState):
120         (WebCore::AnimationQt::updateCurrentTime):
121         (WebCore::TransformAnimationQt::updateState):
122         (WebCore::OpacityAnimationQt::updateState):
123
124 2010-07-08  Sam Magnuson  <smagnuson@netflix.com>
125
126         Reviewed by Simon Hausmann.
127
128         [Qt] instance objects created for QObjects are somtimes GC'd
129         https://bugs.webkit.org/show_bug.cgi?id=40352
130
131         In markAggregate loop over all the current fields and for any that
132         still have a dynamic property or a child, mark them as
133         well. Otherwise the proxy instance will go away and the JS that
134         was bound to it will be lost.
135
136         * bridge/qt/qt_instance.cpp:
137         (JSC::Bindings::QtInstance::getQtInstance):
138         (JSC::Bindings::QtInstance::removeCachedMethod):
139         (JSC::Bindings::QtInstance::markAggregate):
140         (JSC::Bindings::QtInstance::getPropertyNames):
141
142 2010-07-08  Ilya Tikhonovsky  <loislo@chromium.org>
143
144         Reviewed by Pavel Feldman.
145
146         WebInspector: migrate InspectorDOMAgent to the generated version of
147         InspectorFrontend interface. This is the next step on the way to
148         Remote Debugging.
149
150         * bindings/js/ScriptEventListener.cpp:
151         (WebCore::eventListenerHandlerBody):
152         (WebCore::eventListenerHandlerLocation):
153         * bindings/js/ScriptEventListener.h:
154         * bindings/v8/ScriptEventListener.cpp:
155         (WebCore::eventListenerHandlerBody):
156         (WebCore::eventListenerHandlerLocation):
157         * bindings/v8/ScriptEventListener.h:
158         * inspector/CodeGeneratorInspector.pm:
159         * inspector/InspectorCSSStore.cpp:
160         (WebCore::InspectorCSSStore::inspectorStyleSheet):
161         * inspector/InspectorController.cpp:
162         (WebCore::InspectorController::connectFrontend):
163         * inspector/InspectorController.h:
164         (WebCore::InspectorController::inspectorFrontend2):
165         * inspector/InspectorDOMAgent.cpp:
166         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
167         (WebCore::InspectorDOMAgent::setDocument):
168         (WebCore::InspectorDOMAgent::handleEvent):
169         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
170         (WebCore::InspectorDOMAgent::getEventListenersForNode):
171         (WebCore::InspectorDOMAgent::buildObjectForNode):
172         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
173         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
174         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
175         (WebCore::InspectorDOMAgent::didInsertDOMNode):
176         (WebCore::InspectorDOMAgent::getStyles):
177         (WebCore::InspectorDOMAgent::getAllStyles):
178         (WebCore::InspectorDOMAgent::getStyleSheet):
179         (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
180         (WebCore::InspectorDOMAgent::getInlineStyle):
181         (WebCore::InspectorDOMAgent::getComputedStyle):
182         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
183         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
184         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
185         (WebCore::InspectorDOMAgent::applyStyleText):
186         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
187         (WebCore::InspectorDOMAgent::setRuleSelector):
188         (WebCore::InspectorDOMAgent::addRule):
189         (WebCore::InspectorDOMAgent::buildObjectForStyle):
190         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
191         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
192         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
193         (WebCore::InspectorDOMAgent::buildObjectForRule):
194         (WebCore::InspectorDOMAgent::toArray):
195         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
196         * inspector/InspectorDOMAgent.h:
197         (WebCore::InspectorDOMAgent::create):
198         * inspector/InspectorFrontend.cpp:
199         * inspector/InspectorFrontend.h:
200         * inspector/InspectorFrontend2.idl:
201         * inspector/front-end/inspector.js:
202         (WebInspector.dispatchMessageFromBackend):
203
204 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
205
206         Reviewed by Darin Adler.
207
208         compositing/iframes/iframe-resize.html displays incorrectly after the resize
209         https://bugs.webkit.org/show_bug.cgi?id=41794
210         
211         The clip and scroll layers of a composited iframe's RenderLayerCompositor are updated from
212         from updateGraphicsLayerGeometry(), but this is too early to get the correct layoutWidth and
213         layoutHeight from the FrameView which happen later in layout. So when a widget size changes,
214         call updateAfterWidgetResize() directly on the RenderLayerBacking (if any).
215
216         * rendering/RenderLayerBacking.cpp:
217         (WebCore::RenderLayerBacking::updateAfterWidgetResize): New method that updates the clip
218         and scroll layers of the iframe's content RenderLayerCompositor.
219         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call updateAfterWidgetResize()
220         * rendering/RenderLayerBacking.h: Add updateAfterWidgetResize().
221         * rendering/RenderWidget.cpp:
222         (WebCore::RenderWidget::setWidgetGeometry): Call updateAfterWidgetResize().
223
224 2010-07-08  Simon Fraser  <simon.fraser@apple.com>
225
226         Reviewed by Dan Bernstein.
227
228         Calling layoutTestController.layerTreeAsText() should update layout
229         https://bugs.webkit.org/show_bug.cgi?id=41818
230
231         Call updateLayout() on the document before obtaining the layer tree.
232         This will update compositing layers.
233         
234         * page/Frame.cpp:
235         (WebCore::Frame::layerTreeAsText):
236
237 2010-07-08  Adam Barth  <abarth@webkit.org>
238
239         Reviewed by Eric Seidel.
240
241         Get my head wrapped around processCharacter
242         https://bugs.webkit.org/show_bug.cgi?id=41812
243
244         The bulk of the patch is just stubbing out functions to document what
245         the spec tells us to do.  I'll implement these functions in subsequent
246         patches.
247
248         * html/HTMLConstructionSite.h:
249         (WebCore::HTMLConstructionSite::insertLeadingWhitespace):
250         (WebCore::HTMLConstructionSite::insertLeadingWhitespaceWithActiveFormattingElements):
251         * html/HTMLTreeBuilder.cpp:
252         (WebCore::HTMLTreeBuilder::processCharacter):
253         * html/HTMLTreeBuilder.h:
254         (WebCore::HTMLTreeBuilder::skipLeadingWhitespace):
255
256 2010-07-08  Tony Chang  <tony@chromium.org>
257
258         Reviewed by Ojan Vafai.
259
260         WebCore::InsertLineBreakCommand::shouldUseBreakElement ReadAV@NULL
261         https://bugs.webkit.org/show_bug.cgi?id=30116
262         Fixing the crash causes text insertions on hidden elements to get ignored
263         (not a new bug).  This is https://bugs.webkit.org/show_bug.cgi?id=40342
264
265         Test: editing/inserting/return-key-in-hidden-textarea.html
266
267         * editing/InsertLineBreakCommand.cpp:
268         (WebCore::InsertLineBreakCommand::doApply):
269         * editing/InsertParagraphSeparatorCommand.cpp:
270         (WebCore::InsertParagraphSeparatorCommand::doApply):
271
272 2010-07-08  Sam Weinig  <sam@webkit.org>
273
274         Reviewed by Oliver Hunt.
275
276         Fix for https://bugs.webkit.org/show_bug.cgi?id=41923
277         TimeRanges should expose a JS constructor
278
279         * html/TimeRanges.idl: Remove [OmitConstructor].
280         * page/DOMWindow.idl: Add constructor.
281
282 2010-07-08  Erik Arvidsson  <arv@chromium.org>
283
284         Reviewed by Ojan Vafai.
285
286         Add missing padding-end and margin-end CSS properties.
287         https://bugs.webkit.org/show_bug.cgi?id=25761
288
289         Tests: fast/css/margin-start-end.html
290                fast/css/padding-start-end.html
291
292         * css/CSSComputedStyleDeclaration.cpp:
293         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
294         * css/CSSParser.cpp:
295         (WebCore::CSSParser::parseValue):
296         * css/CSSPropertyNames.in:
297         * css/CSSStyleSelector.cpp:
298         (WebCore::CSSStyleSelector::applyProperty):
299         * inspector/front-end/SourceCSSTokenizer.js:
300         (WebInspector.SourceCSSTokenizer):
301
302 2010-07-08  Aaron Boodman  <aa@chromium.org>
303
304         Reviewed by Timothy Hatcher.
305
306         Add the ability for user scripts and user styles to affect just the top frame.
307
308         https://bugs.webkit.org/show_bug.cgi?id=41529
309
310         Tests: userscripts/user-script-all-frames.html
311                userscripts/user-script-top-frame-only.html
312                userscripts/user-style-all-frames.html
313                userscripts/user-style-top-frame-only.html
314
315         * WebCore.base.exp: Update PageGroup method signatures.
316         * dom/Document.cpp:
317         (WebCore::Document::pageGroupUserSheets): Check allFrames before injecting.
318         * page/Frame.cpp:
319         (WebCore::Frame::injectUserScriptsForWorld): Ditto.
320         * page/PageGroup.cpp:
321         (WebCore::PageGroup::addUserScriptToWorld):
322         (WebCore::PageGroup::addUserStyleSheetToWorld):
323         * page/PageGroup.h:
324         * page/UserScript.h:
325         (WebCore::UserScript::UserScript):
326         (WebCore::UserScript::injectedFrames):
327         * page/UserScriptTypes.h:
328         (WebCore::):
329         * page/UserStyleSheet.h:
330         (WebCore::UserStyleSheet::UserStyleSheet):
331         (WebCore::UserStyleSheet::injectedFrames):
332
333 2010-07-08  Adele Peterson  <adele@apple.com>
334
335         Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
336
337         Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
338         <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
339
340         Test: plugins/clicking-missing-plugin-fires-delegate.html
341
342         * html/HTMLPlugInElement.cpp:
343         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize m_isCapturingMouseEvents.
344         (WebCore::HTMLPlugInElement::detach): If we're still capturing when getting detached, clear the capturing node on the EventHandler.
345         (WebCore::HTMLPlugInElement::defaultEventHandler): Call handleMissingPluginIndicatorEvent when the missing plugin indicator is showing.
346         * html/HTMLPlugInElement.h:
347         (WebCore::HTMLPlugInElement::isCapturingMouseEvents):
348         (WebCore::HTMLPlugInElement::setIsCapturingMouseEvents):
349         * page/ChromeClient.h:
350         (WebCore::ChromeClient::shouldMissingPluginMessageBeButton): Added default implementation.
351         * rendering/RenderEmbeddedObject.cpp:
352         (WebCore::replacementTextRoundedRectPressedColor):
353         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
354         (WebCore::RenderEmbeddedObject::setMissingPluginIndicatorIsPressed): Added.  Causes a repaint when the state changes.
355         (WebCore::RenderEmbeddedObject::paintReplaced): Call getReplacementTextGeometry.
356         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): Factored this out so it can be used in paintReplaced and in isInMissingPluginIndicator.
357         (WebCore::RenderEmbeddedObject::isInMissingPluginIndicator): Hit test to see if the mouse event is in the missing plugin indicator.
358         (WebCore::RenderEmbeddedObject::handleMissingPluginIndicatorEvent): Capture mouse events as needed and track the pressed appearance.
359         * rendering/RenderEmbeddedObject.h:
360
361 2010-07-08  James Robinson  <jamesr@google.com>
362
363         Reviewed by Darin Fisher.
364
365         Allow resizing and getting the texture id from an offscreen GLES2Context
366         https://bugs.webkit.org/show_bug.cgi?id=41828
367
368         When using an offscreen GLES2Context the caller needs to be able to resize the backing store
369         managed by the embedder and get access to a texture id to pass to the compositor.  WebGL
370         does these actions in an indirect way, it will be refactored to use this path.
371
372         * platform/chromium/GLES2Context.h:
373
374 2010-07-02  Ojan Vafai  <ojan@chromium.org>
375
376         Reviewed by Adam Barth.
377
378         Crash in RenderObject::containingBlock when clearing selection in a display:none node.
379         https://bugs.webkit.org/show_bug.cgi?id=41523
380
381         updateStyleIfNeeded before clearing the selection in the RenderView. Otherwise,
382         m_selectionStart and m_selectionEnd in RenderView point to garbage object.
383         This fixes the crash because updateStyleIfNeeded clears the selection before
384         clobbering nodes that contain the selection.
385
386         Test: editing/selection/crash-on-clear-selection.html
387
388         * editing/SelectionController.cpp:
389         (WebCore::SelectionController::updateAppearance):
390
391 2010-07-08  Brent Fulgham  <bfulgham@webkit.org>
392
393         Reviewed by Xan Lopez.
394
395         Correct a mistake in calculating squiggle extents.  The entire
396         quantity was being divided by two, rather than just the unitWidth.
397         This error caused the squiggle to be about half the expected length.
398
399         * platform/graphics/cairo/DrawErrorUnderline.h:
400         (drawErrorUnderline):
401
402 2010-07-08  John Abd-El-Malek  <jam@chromium.org>
403
404         Reviewed by Darin Fisher.
405
406         [V8] Navigation policy doesn't play nicely with pepper plugins
407         https://bugs.webkit.org/show_bug.cgi?id=41864
408
409         * bindings/v8/V8Utilities.cpp:
410         (WebCore::callingOrEnteredFrame):
411         (WebCore::shouldAllowNavigation):
412         (WebCore::navigateIfAllowed):
413
414 2010-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
415
416         Missing plug-ins may cause an assertion failure.
417         https://bugs.webkit.org/show_bug.cgi?id=41900
418
419         Reviewed by Adele Peterson.
420
421         Test: plugins/missing-plugin.html
422
423         * plugins/PluginView.cpp:
424         (WebCore::PluginView::~PluginView):
425         Check whether m_instance is null before trying to remove it from the
426         map. Trying to remove a null instance results in an assertion failure.
427         (WebCore::PluginView::PluginView):
428         Initialize m_instance to 0, because there is an early return that may
429         skip its being assigned its proper value.
430
431 2010-07-08  Darin Adler  <darin@apple.com>
432
433         Reviewed by Oliver Hunt.
434
435         Fix a test failure seen only on the Leopard bot.
436
437         * bindings/js/JSSharedWorkerCustom.cpp:
438         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
439         If SharedWorker::create returns an exception, don't try to create a wrapper
440         for its return value, which can be 0.
441
442 2010-07-08  Albert J. Wong  <ajwong@chromium.org>
443
444         Not reviewed, build break fix for chromium.
445
446         A new MediaControlElementType enum was added which caused a warning in
447         the Chromium build.
448
449         * rendering/RenderMediaControlsChromium.cpp:
450         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
451             Add MediaVolumeSliderMuteButton enumartion entry.
452
453 2010-07-08  Dmitry Titov  <dimich@chromium.org>
454
455         Reviewed by David Levin.
456
457         Remove IDL declarations and stubs for navigator.registerProtocolHandler and navigator.registerContentHandler.
458         https://bugs.webkit.org/show_bug.cgi?id=41878
459
460         This is practically a rollback of http://trac.webkit.org/changeset/50477.
461
462         * page/Chrome.cpp:
463         * page/Chrome.h:
464         * page/ChromeClient.h:
465         * page/Navigator.cpp:
466         * page/Navigator.h:
467         * page/Navigator.idl:
468
469 2010-07-08  Xan Lopez  <xlopez@igalia.com>
470
471         Reviewed by Darin Adler.
472
473         Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
474         https://bugs.webkit.org/show_bug.cgi?id=41823
475
476         Create the ResourceHandle manually for now instead of calling
477         ::create, since that methods does a few extra checks that make us
478         fail a couple of HTTP tests.
479
480         * platform/network/soup/ResourceHandleSoup.cpp:
481         (WebCore::):
482
483 2010-07-08  Alexey Proskuryakov  <ap@apple.com>
484
485         Reviewed by David Levin.
486
487         https://bugs.webkit.org/show_bug.cgi?id=41886
488         Shorten access control failure explanation messages
489
490         * loader/CrossOriginAccessControl.cpp:
491         (WebCore::passesAccessControlCheck):
492         * loader/CrossOriginPreflightResultCache.cpp:
493         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
494         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
495         Removed "response header field" parts from error text - it's long, but doesn't add much
496         to header field name.
497
498         * platform/network/ResourceErrorBase.cpp:
499         * platform/network/ResourceErrorBase.h:
500         * xml/XMLHttpRequest.cpp:
501         (WebCore::XMLHttpRequest::didFail):
502         * loader/DocumentThreadableLoader.cpp:
503         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
504         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
505         (WebCore::DocumentThreadableLoader::didReceiveResponse):
506         (WebCore::DocumentThreadableLoader::preflightFailure):
507         Renamed the constant for domain. WebCore shouldn't be creating errors observable by WebKit
508         clients, because it can't create a platform error, and cannot load a localized string.
509         We don't treat cross origin access check failures as true loading failures, so we don't tell
510         clients about these.
511
512 2010-07-08  Eric Carlson  <eric.carlson@apple.com>
513
514         Reviewed by Dan Bernstein.
515
516         Mac OS X media controls should have a way to adjust volume incrementally
517         https://bugs.webkit.org/show_bug.cgi?id=41718
518         <rdar://problem/5679472>
519
520         * css/CSSPrimitiveValueMappings.h:
521         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Handle MediaVolumeSliderMuteButtonPart.
522
523         * css/CSSSelector.cpp: 
524         (WebCore::CSSSelector::pseudoId): Handle PseudoMediaControlsVolumeSliderMuteButton.
525         (WebCore::nameToPseudoTypeMap): Define mediaControlsVolumeSliderMuteButton.
526         (WebCore::CSSSelector::extractPseudoType): Handle PseudoMediaControlsVolumeSliderMuteButton.
527
528         * css/CSSSelector.h:
529         (WebCore::CSSSelector::): Define PseudoMediaControlsVolumeSliderMuteButton.
530
531         * css/CSSValueKeywords.in: Define media-volume-slider-mute-button.
532
533         * css/mediaControls.css: 
534         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): New.
535
536         * css/mediaControlsQuickTime.css:
537         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Add "overflow: visible" 
538         so volume slider pop-up will be visible.
539
540         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Make 
541         mute button 14x12 instead of 15x14 so it matches the size in the volume slider.
542
543         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
544         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
545         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 
546         New.
547
548         * platform/ThemeTypes.h: Define MediaVolumeSliderMuteButtonPart.
549
550         * rendering/MediaControlElements.cpp:
551         (WebCore::MediaControlInputElement::MediaControlInputElement): Handle MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
552         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Add ButtonLocation 
553         parameter both mute buttons can be created.
554         (WebCore::MediaControlMuteButtonElement::create): Ditto.
555
556         * rendering/MediaControlElements.h: Define MediaVolumeSliderMuteButton and ButtonLocation.
557
558         * rendering/RenderMedia.cpp: 
559         (WebCore::RenderMedia::styleDidChange): Update volume slider mute button.
560         (WebCore::RenderMedia::createMuteButton): Pass ButtonLocation parameter to MediaControlMuteButtonElement::create.
561         (WebCore::RenderMedia::createVolumeSliderMuteButton): New.
562         (WebCore::RenderMedia::updateControls): Deal with volume slider mute button.
563         (WebCore::RenderMedia::updateVolumeSliderContainer): Don't assume all ports want to position
564         the volume slider in the same place, call new volumeSliderOffsetFromMuteButton theme function.
565         (WebCore::RenderMedia::forwardEvent): Handle volume slider mute button.
566         * rendering/RenderMedia.h:
567
568         * rendering/RenderTheme.cpp: 
569         (WebCore::RenderTheme::paint): Handle MediaVolumeSliderMuteButtonPart.
570         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): New, return location previously hard
571         coded in RenderMedia::updateVolumeSliderContainer.
572         * rendering/RenderTheme.h:
573
574         * rendering/RenderThemeMac.h:
575         * rendering/RenderThemeMac.mm:
576         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Deal with the volume slider thumb.
577         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer): New, call the WKSI paint function 
578         for this button.
579         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack): Ditto.
580         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb): Ditto.
581         (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Draw the volume slider parts when
582         using the new controller UI for a movie that has audio.
583         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): New, position the volume slider 
584         directly above the mute button.
585
586         * rendering/style/RenderStyleConstants.h: Define MEDIA_CONTROLS_VOLUME_SLIDER_MUTE_BUTTON.
587
588 2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
589
590         Unreviewed complementary fix for r62815
591
592         One last time change made me blind to a "!" in a if statment.
593
594         * editing/EditorCommand.cpp:
595         (WebCore::executeToggleStyle):
596
597 2010-07-07  Ojan Vafai  <ojan@chromium.org>
598
599         Reviewed by Darin Adler.
600
601         Regression: Selection anchor + focus swap when arrow keys after setBaseAndExtent
602         https://bugs.webkit.org/show_bug.cgi?id=32605
603
604         Only have selections be non-directional when they are set via the mouse.
605         Otherwise, all selections are directional.
606
607         Test: editing/selection/extend-forward-after-set-base-and-extent.html
608
609         * WebCore.base.exp:
610         * editing/SelectionController.cpp:
611         (WebCore::SelectionController::setSelection):
612         * editing/SelectionController.h:
613         (WebCore::SelectionController::setSelection):
614         * page/EventHandler.cpp:
615         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
616         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
617         (WebCore::EventHandler::handleMousePressEventTripleClick):
618         (WebCore::EventHandler::handleMousePressEventSingleClick):
619         (WebCore::EventHandler::updateSelectionForMouseDrag):
620
621 2010-07-08  Antonio Gomes  <tonikitoo@webkit.org>
622
623         Reviewed by Ojan Vafai.
624
625         Refactor platform dependent editing behavior code out of Settings (part II)
626         https://bugs.webkit.org/show_bug.cgi?id=39854
627
628         Mac port is currently the only port relying on a style to be present on the start
629         of a selection to consider the style as applied or not. All other ports
630         have to have the style present in all text node of the selection for such.
631
632         Patch makes situations that depend on this check like this to be controlled by
633         the EditingBehavior class.
634
635         Refactoring, so no new tests needed.
636
637         * editing/EditingBehavior.h:
638         (WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
639         * editing/EditorCommand.cpp:
640         (WebCore::executeToggleStyle):
641
642 2010-07-08  Anders Carlsson  <andersca@apple.com>
643
644         Reviewed by Sam Weinig.
645
646         Add stubbed out PluginView class
647         https://bugs.webkit.org/show_bug.cgi?id=41879
648
649         Export functions needed by WebKit2.
650
651         * WebCore.exp.in:
652
653 2010-07-08  Ben Murdoch  <benm@google.com>
654
655         Reviewed by Pavel Feldman.
656
657         Fix build break in V8ConsoleCustom.cpp
658         https://bugs.webkit.org/show_bug.cgi?id=40825
659
660         No new tests as just fixing a build break.
661
662         * bindings/v8/custom/V8ConsoleCustom.cpp: Guard profilesAccessorGetter
663             appropriately.
664
665 2010-07-08  Sam Weinig  <sam@webkit.org>
666
667         Reviewed by Anders Carlsson.
668
669         Pass Page to BackForwardControllerClient::createBackForwardList since it
670         may be called before implementations of BackForwardControllerClient have
671         access to a Page.
672
673         * history/BackForwardController.cpp:
674         (WebCore::BackForwardController::BackForwardController):
675         * history/BackForwardControllerClient.h:
676
677 2010-07-08  Sheriff Bot  <webkit.review.bot@gmail.com>
678
679         Unreviewed, rolling out r62778.
680         http://trac.webkit.org/changeset/62778
681         https://bugs.webkit.org/show_bug.cgi?id=41866
682
683         Broke svg/W3C-SVG-1.1/text-intro-05-t.svg in debug (Requested
684         by pfeldman on #webkit).
685
686         * platform/graphics/chromium/FontLinux.cpp:
687         (WebCore::TextRunWalker::TextRunWalker):
688         (WebCore::TextRunWalker::~TextRunWalker):
689
690 2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
691
692         Reviewed by Pavel Feldman.
693
694         Fix adoptRef usage violation in IDBObjectStoreRequest
695         https://bugs.webkit.org/show_bug.cgi?id=41869
696
697         * storage/IDBObjectStoreRequest.cpp:
698         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
699
700 2010-07-08  Sam Weinig  <sam@webkit.org>
701
702         Another chromium build fix.
703
704         * history/BackForwardListChromium.cpp:
705         (WebCore::BackForwardListImpl::goBack):
706         (WebCore::BackForwardListImpl::goForward):
707         (WebCore::BackForwardListImpl::backListWithLimit):
708         (WebCore::BackForwardListImpl::forwardListWithLimit):
709         (WebCore::BackForwardListImpl::containsItem):
710         (WebCore::BackForwardListImpl::removeItem):
711
712 2010-07-08  Sam Weinig  <sam@webkit.org>
713
714         Fix Chromium build.
715
716         * WebCore.gyp/WebCore.gyp:
717
718 2010-07-08  Sam Weinig  <sam@webkit.org>
719
720         Reviewed by Anders Carlsson.
721
722         Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
723         Convert BackForwardList to an abstract base class and add BackForwardListImpl
724         as the concrete implementation of it.
725
726         * CMakeLists.txt:
727         * GNUmakefile.am:
728         * WebCore.exp.in:
729         * WebCore.gypi:
730         * WebCore.pro:
731         * WebCore.vcproj/WebCore.vcproj:
732         * WebCore.xcodeproj/project.pbxproj:
733         * history/BackForwardController.cpp:
734         (WebCore::BackForwardController::BackForwardController):
735         * history/BackForwardController.h:
736         * history/BackForwardList.cpp: Removed.
737         * history/BackForwardList.h:
738         (WebCore::BackForwardList::~BackForwardList):
739         (WebCore::BackForwardList::isBackForwardListImpl):
740         (WebCore::BackForwardList::BackForwardList):
741         * history/BackForwardListChromium.cpp:
742         * history/BackForwardListImpl.cpp: Copied from WebCore/history/BackForwardList.cpp.
743         * history/BackForwardListImpl.h: Copied from WebCore/history/BackForwardList.h.
744         (WebCore::BackForwardListImpl::isBackForwardListImpl):
745
746 2010-07-08  Vitaly Repeshko  <vitalyr@chromium.org>
747
748         Reviewed by Pavel Feldman.
749
750         Fix adoptRef usage violations (mostly in chromium)
751         https://bugs.webkit.org/show_bug.cgi?id=41863
752
753         * bindings/v8/V8DOMWrapper.cpp:
754         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
755         * bindings/v8/V8NodeFilterCondition.h:
756         (WebCore::V8NodeFilterCondition::create):
757         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
758         (WebCore::getNamedItems):
759         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
760         (WebCore::getNamedItems):
761         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
762         (WebCore::V8HTMLFormElement::namedPropertyGetter):
763         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
764         (WebCore::V8HTMLSelectElement::namedPropertyGetter):
765         * bindings/v8/custom/V8NamedNodesCollection.h:
766         (WebCore::V8NamedNodesCollection::create):
767         (WebCore::V8NamedNodesCollection::V8NamedNodesCollection):
768         * storage/IDBDatabaseRequest.cpp:
769         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
770         * storage/IndexedDatabaseRequest.cpp:
771         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
772
773 2010-07-08  Xan Lopez  <xlopez@igalia.com>
774
775         Reviewed by Gustavo Noronha.
776
777         Silence a few noisy build rules.
778
779         * GNUmakefile.am:
780
781 2010-07-08  Andreas Kling  <andreas.kling@nokia.com>
782
783         Reviewed by Simon Hausmann.
784
785         [Qt] Canvas putImageData() resets painter state
786         https://bugs.webkit.org/show_bug.cgi?id=41827
787
788         Use drawImage() to copy pixels in putImageData() instead of QPixmap::operator=
789
790         Test: fast/canvas/canvas-state-intact-after-putImageData.html
791
792         * platform/graphics/qt/ImageBufferQt.cpp:
793         (WebCore::putImageData):
794
795 2010-07-08  Andrey Kosyakov  <caseq@chromium.org>
796
797         Reviewed by Pavel Feldman.
798
799         Web Inspector: Do not invoke shortcuts popup upon bare '?' if it's typed
800         into an input field.
801         https://bugs.webkit.org/show_bug.cgi?id=41760
802
803         * inspector/front-end/inspector.js:
804         (WebInspector.documentKeyDown):
805
806 2010-07-08  Patrick Gansterer  <paroga@paroga.com>
807
808         Reviewed by Kent Tamura.
809
810         [WINCE] Buildfix for EventHandler
811         https://bugs.webkit.org/show_bug.cgi?id=41829
812
813         SM_MENUDROPALIGNMENT isn't supported on WinCE.
814
815         * page/EventHandler.cpp:
816         (WebCore::EventHandler::sendContextMenuEventForKey):
817
818 2010-07-08  Xiaomei Ji  <xji@chromium.org>
819
820         Reviewed by David Levin.
821
822         Fix characters with unicode-bidi-mirror property are not correctly
823         mirrored in Linux.
824         https://bugs.webkit.org/show_bug.cgi?id=41305
825
826         Since harfbuzz does not do mirroring, chromium should iterate each
827         character in the string and mirror it if needed before passing the
828         string to harfbuzz for shaping.
829
830         Test: fast/text/international/bidi-mirror-he-ar.html
831
832         * platform/graphics/chromium/FontLinux.cpp:
833         (WebCore::TextRunWalker::TextRunWalker):
834         (WebCore::TextRunWalker::~TextRunWalker):
835
836 2010-07-08  Nikolas Zimmermann  <nzimmermann@rim.com>
837
838         Reviewed by Rob Buis & Dirk Schulze.
839
840         SVG text transformed incorrectly when a transform and gradient applied
841         https://bugs.webkit.org/show_bug.cgi?id=41563
842
843         When rendering filled/stroked text with a gradient, RenderSVGResourceGradient creates a mask image,
844         renders the text into the image, and then clips the current context against that image buffer,
845         and filling a rect afterwards. This happened in the wrong coordinate space so far. Don't actually
846         try to compute the right transformation matrix (which failed), but extract it directly from the
847         GraphicsContext and apply this transformation to the mask image context.
848
849         Fixes pixellation in svg/batik/text/textEffect3.svg and makes the new test svg/custom/text-rotated-gradient.svg pass.
850         Only affects CoreGraphics platforms.
851
852         Test: svg/custom/text-rotated-gradient.svg
853
854         * rendering/RenderSVGResourceGradient.cpp:
855         (WebCore::absoluteTransformFromContext):
856         (WebCore::createMaskAndSwapContextForTextGradient):
857         (WebCore::clipToTextMask):
858
859 2010-07-07  Alexander Pavlov  <apavlov@chromium.org>
860
861         Reviewed by Darin Fisher.
862
863         [Chromium] Crash when re-entering message loop
864         https://bugs.webkit.org/show_bug.cgi?id=41697
865
866         A Chromium-specific test case will be submitted into Chromium shortly.
867
868         * page/PageGroupLoadDeferrer.cpp:
869         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
870         * page/PageGroupLoadDeferrer.h:
871         (WebCore::PageGroupLoadDeferrer::nextDeferrer):
872
873 2010-07-07  Yury Semikhatsky  <yurys@chromium.org>
874
875         Reviewed by Pavel Feldman.
876
877         Web Inspector: skip breakpoints when script is already paused
878         https://bugs.webkit.org/show_bug.cgi?id=41768
879
880         Test: inspector/debugger-no-nested-pause.html
881
882         * bindings/v8/ScriptDebugServer.cpp:
883         (WebCore::ScriptDebugServer::handleV8DebugEvent):
884
885 2010-07-08  Eric Seidel  <eric@webkit.org>
886
887         Reviewed by Adam Barth.
888
889         WebCore/benchmarks/parser/html-parser.html spends a lot of time in deprecatedParseURL
890         https://bugs.webkit.org/show_bug.cgi?id=41807
891
892         Wow.  This was an awful bug.  We were always taking the slow case
893         every time we parsed a URL.  This is about a 10% speedup on our
894         parsing benchmark, and might cause as much as a 1% speedup for Apple's
895         PLT (even though I can't run that).
896
897         We still spend a lot of time in deprecatedParseURL.  We might consider
898         inlining it if its being kept around much longer.
899
900         No behavioral change, just fixing a broken optimization.
901
902         * css/CSSHelper.cpp:
903         (WebCore::deprecatedParseURL):
904          - We only need to strip characters <= '\r', not >.
905
906 2010-07-08  Yury Semikhatsky  <yurys@chromium.org>
907
908         Reviewed by Pavel Feldman.
909
910         Web Inspector: factor out common part of debugger tests
911         https://bugs.webkit.org/show_bug.cgi?id=41836
912
913         * bindings/js/ScriptDebugServer.cpp:
914         (WebCore::ScriptDebugServer::recompileAllJSFunctions): postpone script recompilation if JS stack is not empty.
915
916 2010-07-08  Patrick Gansterer  <paroga@paroga.com>
917
918         Reviewed by Kent Tamura.
919
920         Buildfix for !ENABLE(SVG_ANIMATION) after r51567.
921         https://bugs.webkit.org/show_bug.cgi?id=41803
922
923         * svg/SVGDocumentExtensions.cpp:
924         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
925
926 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
927
928         Reviewed by Nate Chapin.
929
930         [V8] Fix document wrapper memory leak in bindings.
931         https://bugs.webkit.org/show_bug.cgi?id=41771
932
933         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
934         (WebCore::V8HTMLDocument::WrapInShadowObject): Do not create static persistent handle
935         to shadowConstructor because it keeps the first context alive forever.
936
937 2010-07-07  Andreas Kling  <andreas.kling@nokia.com>
938
939         Reviewed by Tor Arne Vestbø.
940
941         [Qt] Enable smooth pixmap transforms by default
942         https://bugs.webkit.org/show_bug.cgi?id=41774
943
944         * platform/graphics/qt/GraphicsContextQt.cpp:
945         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
946         (WebCore::GraphicsContext::setImageInterpolationQuality):
947
948 2010-07-07  Jesus Sanchez-Palencia  <jesus@webkit.org>
949
950         Reviewed by Antti Koivisto.
951
952         [Qt] Missing include to build QtWebKit with WebKit2 in MediaPlayerPrivatePhonon.cpp
953         https://bugs.webkit.org/show_bug.cgi?id=41767
954
955         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add Logging.h include
956
957 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
958
959         Reviewed by Yury Semikhatsky.
960
961         Web Inspector: Move v8-related script offset conversion to DebuggerScript.js
962         https://bugs.webkit.org/show_bug.cgi?id=41755
963
964         * bindings/v8/ScriptDebugServer.cpp:
965         (WebCore::ScriptDebugServer::dispatchDidParseSource):
966
967 2010-07-07  Nicolas Weber  <thakis@chromium.org>
968
969         Reviewed by Dimitri Glazkov.
970         https://bugs.webkit.org/show_bug.cgi?id=41580
971
972         Fix rendering of radial gradients in skia if both points of the
973         gradient are the same and r0 > 0.
974
975         Test: fast/gradients/radial-centered.html
976
977         * platform/graphics/skia/GradientSkia.cpp:
978         (WebCore::Gradient::platformGradient):
979
980 2010-06-18  MORITA Hajime  <morrita@google.com>
981
982         Reviewed by Ojan Vafai.
983
984         https://bugs.webkit.org/show_bug.cgi?id=26526
985         Add support for input events (oninput) to contentEditable elements
986         
987         Made a default event handler on the Node to dispatch an input event when
988         webkitEditableContentChanged arrived.
989         
990         Test: fast/events/event-input-contentEditable.html
991
992         * dom/Node.cpp:
993         (WebCore::Node::defaultEventHandler):
994
995 2010-07-07  Darin Adler  <darin@apple.com>
996
997         Reviewed by Anders Carlsson.
998
999         Fix adoptRef assertion failures caused by stack-allocated ResourceHandle objects
1000         https://bugs.webkit.org/show_bug.cgi?id=41823
1001
1002         * platform/network/android/ResourceHandleAndroid.cpp:
1003         (WebCore::ResourceHandle::loadResourceSynchronously): Use adoptRef and new instead
1004         of allocating an object on the stack.
1005         * platform/network/curl/ResourceHandleCurl.cpp:
1006         (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
1007         * platform/network/qt/ResourceHandleQt.cpp:
1008         (WebCore::ResourceHandle::loadResourceSynchronously): Ditto.
1009
1010         * platform/network/soup/ResourceHandleSoup.cpp:
1011         (WebCore::ResourceHandle::loadResourceSynchronously): Use create instead of
1012         allocating an object on the stack.
1013
1014 2010-07-07  Joseph Pecoraro  <joepeck@webkit.org>
1015
1016         Rubber-stamped by Pavel Feldman.
1017
1018         Web Inspector: All RefPtr arguments and return values should be changed to PassRefPtr according to common practice.
1019         https://bugs.webkit.org/show_bug.cgi?id=41759
1020
1021         * inspector/CodeGeneratorInspector.pm:
1022
1023 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
1024
1025         Reviewed by Darin Adler.
1026
1027         AX: TextArea should return AXSelectedTextRange of 0,0 if the cursor is not in the text area
1028         https://bugs.webkit.org/show_bug.cgi?id=41810
1029
1030         Test: platform/mac/accessibility/selected-text-range-for-empty-textarea.html
1031
1032         * accessibility/mac/AccessibilityObjectWrapper.mm:
1033         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1034
1035 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
1036
1037         Reviewed by Beth Dakin.
1038
1039         AX: Data table heuristics: assume data table if at least one row or column of TH cells exist
1040         https://bugs.webkit.org/show_bug.cgi?id=41806
1041
1042         Test: platform/mac/accessibility/table-with-row-col-of-headers.html
1043
1044         * accessibility/AccessibilityTable.cpp:
1045         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
1046
1047 2010-07-07  Mark Rowe  <mrowe@apple.com>
1048
1049         Fix the build.
1050
1051         Xcode decided to change the reference type from "Relative to Build Product" to "Relative to Group"
1052         when I moved the file between folders. That's incredibly confusing so I'll file a bug against Xcode.
1053
1054         * WebCore.xcodeproj/project.pbxproj:
1055
1056 2010-07-07  Mark Rowe  <mrowe@apple.com>
1057
1058         Fix the MathML build.
1059
1060         * html/HTMLTreeBuilder.cpp:
1061         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): Fix a typo in a variable name.
1062
1063 2010-07-07  James Hawkins  <jhawkins@chromium.org>
1064
1065         Reviewed by Dimitri Glazkov.
1066
1067         Move setSuggestedValue() and suggestedValue() back to public as it's
1068         now used by WebInputElement.
1069         https://bugs.webkit.org/show_bug.cgi?id=41785
1070
1071         No new tests, as the method is only being used by Chromium's WebKit
1072         API.
1073
1074         * html/HTMLInputElement.h:
1075
1076 2010-07-07  Mark Rowe  <mrowe@apple.com>
1077
1078         Rubber-stamped by Sam Weinig.
1079
1080         Clean up the project file slightly.
1081
1082         Remove obsolete .exp files, add the new .exp.in file, and move ExportFileGenerator.cpp in to the Exports collection.
1083
1084         * WebCore.xcodeproj/project.pbxproj:
1085
1086 2010-07-07  James Robinson  <jamesr@chromium.org> and Vincent Scheib <schieb@chromium.org>
1087
1088         Reviewed by Dimitri Glazkov.
1089
1090         WebCore::GLES2Context should allow creating onscreen and offscreen contexts
1091         https://bugs.webkit.org/show_bug.cgi?id=41492
1092
1093         You should be able to create a GLES2Context for rendering both on screen
1094         and off screen (to a texture).  Chromium's layer renderer (used for compositing)
1095         does the former.  Currently WebGL does the latter by side stepping the
1096         WebCore::GLES2Context API completely.  Longer term it should move over to using this.
1097
1098         * platform/chromium/GLES2Context.h:
1099         * platform/graphics/chromium/LayerRendererChromium.cpp:
1100         (WebCore::LayerRendererChromium::initGL):
1101
1102 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
1103
1104         Reviewed by Dan Bernstein.
1105
1106         Document::ownerElement() should return an HTMLFrameOwnerElement
1107         https://bugs.webkit.org/show_bug.cgi?id=41789
1108
1109         Change return type of RenderLayerCompositor::enclosingIFrameElement() to
1110         HTMLFrameOwnerElement*. No behavioral changes.
1111
1112         * rendering/RenderLayerCompositor.cpp:
1113         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
1114         (WebCore::RenderLayerCompositor::enclosingIFrameElement):
1115         * rendering/RenderLayerCompositor.h:
1116
1117 2010-07-07  Adam Barth  <abarth@webkit.org>
1118
1119         Reviewed by Sam Weinig.
1120
1121         Add reverseFind to Vector and deploy in HTML5 parser
1122         https://bugs.webkit.org/show_bug.cgi?id=41778
1123
1124         This patch moves reverseFind from begin an
1125         HTMLFormattingElementList-specific concept to begin a general Vector
1126         concept.  Also, instead of using Entry as the type for operator==, we
1127         now use elements directly.  The old code compiled because the Entry
1128         constructor wasn't explicit, which means we were churning refs on every
1129         comparison!
1130
1131         * html/HTMLFormattingElementList.cpp:
1132         (WebCore::HTMLFormattingElementList::find):
1133         (WebCore::HTMLFormattingElementList::bookmarkFor):
1134         (WebCore::HTMLFormattingElementList::insertAt):
1135         (WebCore::HTMLFormattingElementList::remove):
1136         * html/HTMLFormattingElementList.h:
1137         (WebCore::HTMLFormattingElementList::Entry::operator==):
1138         (WebCore::HTMLFormattingElementList::Entry::operator!=):
1139
1140 2010-07-07  Darin Adler  <darin@apple.com>
1141
1142         Reviewed by Adam Barth.
1143
1144         Turn on adoptRef assertion for RefCounted
1145         https://bugs.webkit.org/show_bug.cgi?id=41547
1146
1147         The WebCore part of this fixes all the assertions I saw in testing.
1148
1149         * html/FileReader.cpp:
1150         (WebCore::FileReader::readAsBinaryString): Added null checks.
1151         Callers from JavaScript can pass the wrong type, which becomes null.
1152         (WebCore::FileReader::readAsText): Ditto.
1153         (WebCore::FileReader::readAsDataURL): Ditto.
1154
1155         * html/FileStreamClient.h: Removed unneeded include.
1156
1157         * html/FileStreamProxy.cpp:
1158         (WebCore::FileStreamProxy::FileStreamProxy): Made inline and moved
1159         some of the code, including the ref, into the create function.
1160         (WebCore::FileStreamProxy::create): Moved some of the code from
1161         the constructor here. It's safe to ref once the object has been
1162         created and adopted.
1163
1164         * html/FileStreamProxy.h: Changed create function to no longer be
1165         inlined. Also removed an unneeded include.
1166
1167         * page/EventSource.cpp:
1168         (WebCore::EventSource::EventSource): Made inline, changed arguments
1169         and moved code that involves the need to ref this object into the
1170         create function. Also moved failure handling out there since it's
1171         cleaner to have a function that fails than a constructor. For
1172         example, the function can return 0.
1173         (WebCore::EventSource::create): Moved some of the code from the
1174         constructor here.
1175
1176         * page/EventSource.h: Removed unneeded includes. Made the
1177         creation function non-inline. Changed the arguments to the constructor.
1178
1179         * storage/StorageAreaSync.cpp:
1180         (WebCore::StorageAreaSync::StorageAreaSync): Made inline. Moved
1181         code that requires ref'ing this object out to the create function.
1182         (WebCore::StorageAreaSync::create): Moved some of the code from the
1183         constructor here.
1184
1185         * storage/StorageAreaSync.h: Removed unneeded includes. Changed
1186         the type of one of the constructor arguments from String to
1187         const String&.
1188
1189         * workers/SharedWorker.cpp:
1190         (WebCore::SharedWorker::SharedWorker): Made inline. Moved most of
1191         the setup code out of here into the create function.
1192         (WebCore::SharedWorker::create): Moved the code here.
1193
1194         * workers/SharedWorker.h: Removed unneeded includes. Made the
1195         create function non-inline. Marked the toSharedWorker override private
1196         to catch people doing an unnecessary virtual function call if they
1197         already have a SharedWorker*.
1198
1199         * workers/Worker.cpp:
1200         (WebCore::Worker::Worker): Made inline. Moved most of the setup code
1201         out of here into the create function.
1202         (WebCore::Worker::create): Moved the code here.
1203
1204         * workers/Worker.h: Made the create function non-inline. Changed
1205         the arguments to the constructor.
1206
1207 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
1208
1209         Reviewed by Beth Dakin.
1210
1211         AX: when a node's role changes, the AX tree might need to be updated
1212         https://bugs.webkit.org/show_bug.cgi?id=41784
1213
1214         Test: platform/mac/accessibility/update-children-when-aria-role-changes.html
1215
1216         * accessibility/AccessibilityRenderObject.cpp:
1217         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1218         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1219
1220 2010-07-07  Chris Fleizach  <cfleizach@apple.com>
1221
1222         Reviewed by Beth Dakin.
1223
1224         AX: when an element uses role="text" but no aria-label, it should default to textUnderElement()
1225         https://bugs.webkit.org/show_bug.cgi?id=41780
1226
1227         Test: platform/mac/accessibility/static-text-role-uses-text-under-element.html
1228
1229         * accessibility/AccessibilityRenderObject.cpp:
1230         (WebCore::AccessibilityRenderObject::stringValue):
1231            Fallback to textUnderElement() if text() does not return any explicitly set text.
1232         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 
1233            Remove erroneous check to ignore text elements that didn't have a explicit text value.
1234
1235 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
1236
1237         Reviewed by Darin Adler.
1238
1239         Document::ownerElement() should return an HTMLFrameOwnerElement
1240         https://bugs.webkit.org/show_bug.cgi?id=41789
1241
1242         Change the return type of Document::ownerElement() to an HTMLFrameOwnerElement, for better
1243         type checking. No behavioral changes.
1244
1245         * accessibility/mac/AccessibilityObjectWrapper.mm:
1246         * dom/Document.cpp:
1247         (WebCore::Document::ownerElement):
1248         * dom/Document.h:
1249         * editing/SelectionController.cpp:
1250         * rendering/RenderBoxModelObject.cpp:
1251         * rendering/RenderLayer.cpp:
1252         * rendering/RenderView.cpp:
1253
1254 2010-07-07  Simon Fraser  <simon.fraser@apple.com>
1255
1256         Reviewed by Dan Bernstein.
1257
1258         REGRESSION: GMail becomes blank after closing other tabs
1259         https://bugs.webkit.org/show_bug.cgi?id=40421
1260
1261         RenderLayerCompositor's attach/detachRootPlatformLayer methods use
1262         setNeedsStyleRecalc() in order to trigger acclerated compositing layers
1263         to be hooked together across iframe boundaries. However, it was possible
1264         for these to get called while inside of Document::recalcStyle(), which
1265         is bad because it can cause the recalc to fail to get processed.
1266         
1267         Fix this by using the existing queuePostAttachCallback() functionality
1268         to delay the call to setNeedsStyleRecalc() if post-attach callbacks 
1269         are suspended (indicating that we're inside recalcStyle()).
1270         
1271         No new tests because I wasn't able to make a test that shows the problem.
1272
1273         * dom/ContainerNode.h: Make queuePostAttachCallback() public.
1274         * dom/ContainerNode.cpp:
1275         (WebCore::ContainerNode::postAttachCallbacksAreSuspended): Added; returns
1276         whether s_attachDepth is non-zero.
1277
1278         * rendering/RenderLayerCompositor.cpp:
1279         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call scheduleNeedsStyleRecalc()
1280         instead of setNeedsStyleRecalc().
1281         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto.
1282         (WebCore::needsStyleRecalcCallback): Here we call setNeedsStyleRecalc().
1283         (WebCore::RenderLayerCompositor::scheduleNeedsStyleRecalc):
1284         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
1285         * rendering/RenderLayerCompositor.h: Add scheduleNeedsStyleRecalc().
1286
1287 2010-07-06  Simon Fraser  <simon.fraser@apple.com>
1288
1289         Reviewed by Dan Bernstein.
1290
1291         Incorrect compositing order with negative z-index
1292         https://bugs.webkit.org/show_bug.cgi?id=38959
1293         
1294         When painting the contents of compositing layers whose phase is "GraphicsLayerPaintBackground"
1295         (indicating that they are used for the background of elements with negative z-index children),
1296         we need to paint the non-composited negative-z-order descendants at the end of the background phase, so
1297         they appear behind composited negative-z-order descendants.
1298
1299         Test: compositing/z-order/negative-z-index.html
1300
1301         * rendering/RenderLayerBacking.cpp:
1302         (WebCore::RenderLayerBacking::paintIntoLayer):
1303
1304 2010-07-06  Simon Fraser  <simon.fraser@apple.com>
1305
1306         Reviewed by Dan Bernstein.
1307
1308         Incorrect compositing order with negative z-index
1309         https://bugs.webkit.org/show_bug.cgi?id=38959
1310
1311         Prerequisite: adopt new paintList() method that was added when painting compositing layer contents.
1312         No behavioral changes.
1313
1314         * rendering/RenderLayerBacking.cpp:
1315         (WebCore::RenderLayerBacking::paintIntoLayer):
1316
1317 2010-07-07  Adam Barth  <abarth@webkit.org>
1318
1319         Unreviewed.
1320
1321         Fix ASSERT in Eric's previous patch.  I think he tested his patch in
1322         Release and not Debug.
1323
1324         * html/HTMLFormattingElementList.h:
1325         (WebCore::HTMLFormattingElementList::Entry::Entry):
1326         (WebCore::HTMLFormattingElementList::findIndex):
1327
1328 2010-07-07  Eric Seidel  <eric@webkit.org>
1329
1330         Reviewed by Adam Barth.
1331
1332         Grease the TreeBuilder's lightning
1333         https://bugs.webkit.org/show_bug.cgi?id=41756
1334
1335         Brings the new TreeBuilder from 7s to 3s on the parser benchmark.
1336         This makes performance comparable to the old parser.
1337
1338         We have not begun to fight!  There is so much fat left on these bones.
1339
1340         * html/HTMLFormattingElementList.cpp:
1341         (WebCore::HTMLFormattingElementList::find):
1342         (WebCore::HTMLFormattingElementList::bookmarkFor):
1343         (WebCore::HTMLFormattingElementList::insertAt):
1344         (WebCore::HTMLFormattingElementList::remove):
1345         * html/HTMLFormattingElementList.h:
1346         (WebCore::HTMLFormattingElementList::findIndex):
1347
1348 2010-07-07  Eric Seidel  <eric@webkit.org>
1349
1350         Reviewed by Adam Barth.
1351
1352         HTMLTreeBuilder is way too slow
1353         https://bugs.webkit.org/show_bug.cgi?id=41754
1354
1355         This takes us from 14s to 7s on our parsing benchmark.
1356         That's still much slower than the old tree builder, but there
1357         is a huge amount of fat left to trim.
1358
1359         Vector<T> wasn't able to inline all the Entry functions when
1360         they were buried in the cpp.  Turns out the active formatting elements
1361         list is very hot.
1362
1363         I'm not sure Vector<T> is going to be the right data structure for us
1364         in the end, but it has done alright for bring-up.
1365
1366         * html/HTMLFormattingElementList.cpp:
1367         * html/HTMLFormattingElementList.h:
1368         (WebCore::HTMLFormattingElementList::Entry::Entry):
1369         (WebCore::HTMLFormattingElementList::Entry::~Entry):
1370         (WebCore::HTMLFormattingElementList::Entry::isMarker):
1371         (WebCore::HTMLFormattingElementList::Entry::element):
1372         (WebCore::HTMLFormattingElementList::Entry::replaceElement):
1373         (WebCore::HTMLFormattingElementList::Entry::operator==):
1374         (WebCore::HTMLFormattingElementList::Entry::operator!=):
1375
1376 2010-07-06  Darin Adler  <darin@apple.com>
1377
1378         Reviewed by Adam Barth.
1379
1380         More OwnPtr work, including making clear set the pointer to 0 before deletion
1381         https://bugs.webkit.org/show_bug.cgi?id=41727
1382
1383         * WebCore.exp.in: Updated.
1384
1385         * css/CSSSelector.h:
1386         (WebCore::CSSSelector::RareData::RareData): Use adoptPtr.
1387         (WebCore::CSSSelector::createRareData): Ditto.
1388         * dom/SpaceSplitString.h:
1389         (WebCore::SpaceSplitString::SpaceSplitString): Ditto.
1390         (WebCore::SpaceSplitString::set): Ditto.
1391         * history/CachedFrame.cpp:
1392         (WebCore::CachedFrame::CachedFrame): Ditto.
1393         (WebCore::CachedFrame::setCachedFramePlatformData): Ditto.
1394
1395         * history/CachedFrame.h: Use PassOwnPtr.
1396
1397         * loader/appcache/ApplicationCacheGroup.cpp:
1398         (WebCore::CallCacheListenerTask::create): Use adoptPtr.
1399         * loader/appcache/ApplicationCacheStorage.cpp:
1400         (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
1401         * platform/PurgeableBuffer.h:
1402         (WebCore::PurgeableBuffer::create): Ditto.
1403         * platform/graphics/GlyphMetricsMap.h:
1404         (WebCore::::locatePageSlowCase): Ditto.
1405         * platform/graphics/GraphicsLayer.h:
1406         (WebCore::AnimationValue::AnimationValue): Ditto.
1407         (WebCore::TransformAnimationValue::TransformAnimationValue): Ditto.
1408         * platform/graphics/MediaPlayer.h:
1409         (WebCore::MediaPlayer::create): Ditto.
1410         * platform/graphics/SimpleFontData.h:
1411         (WebCore::SimpleFontData::boundsForGlyph): Ditto.
1412         * platform/mac/PurgeableBufferMac.cpp:
1413         (WebCore::PurgeableBuffer::create): Ditto.
1414         * rendering/InlineFlowBox.h:
1415         (WebCore::InlineFlowBox::setHorizontalOverflowPositions): Ditto.
1416         (WebCore::InlineFlowBox::setVerticalOverflowPositions): Ditto.
1417         * rendering/RootInlineBox.h:
1418         (WebCore::RootInlineBox::floats): Ditto.
1419         * rendering/style/RenderStyle.h:
1420         (WebCore::InheritedFlags::inheritAnimations): Ditto.
1421         (WebCore::InheritedFlags::inheritTransitions): Ditto.
1422
1423         * rendering/style/SVGRenderStyleDefs.h: Use PassOwnPtr.
1424
1425 2010-07-07  Sam Weinig  <sam@webkit.org>
1426
1427         Reviewed by Anders Carlsson.
1428
1429         Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
1430         Add basic piping for BackForwardControllerClient.
1431
1432         * WebCore.exp.in:
1433         * WebCore.xcodeproj/project.pbxproj:
1434         * history/BackForwardController.cpp:
1435         (WebCore::BackForwardController::BackForwardController):
1436         * history/BackForwardControllerClient.h:
1437         * page/Page.cpp:
1438         (WebCore::Page::Page):
1439         * page/Page.h:
1440         * svg/graphics/SVGImage.cpp:
1441         (WebCore::SVGImage::dataChanged):
1442
1443 2010-07-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1444
1445         Unreviewed build fix after r62577.
1446
1447         [EFL] build fix after r62577
1448         https://bugs.webkit.org/show_bug.cgi?id=41764
1449
1450         No new functionality so no new tests.
1451
1452 2010-07-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1453
1454         Reviewed by Xan Lopez.
1455
1456         [GTK] Scrollbars sometimes go dead and stop scrolling the view
1457         https://bugs.webkit.org/show_bug.cgi?id=41711
1458
1459         Rework the setGtkAdjustment function slightly, make it have an
1460         early return, and be more readable.
1461
1462         * platform/gtk/ScrollViewGtk.cpp:
1463         (WebCore::ScrollView::setGtkAdjustments):
1464
1465 2010-07-07  Kristian Monsen  <kristianm@google.com>
1466
1467         Reviewed by Steve Block.
1468
1469         Updating Android to use the UserGestureIndicator class instead of Android specific code.
1470         The rest of the changes are in parts of the Android port which are yet to be upstreamed.
1471
1472         No change in behavior, so no new test.
1473
1474         * platform/network/android/ResourceRequest.h:
1475         (WebCore::ResourceRequest::ResourceRequest):
1476         (WebCore::ResourceRequest::doUpdateResourceRequest):
1477
1478 2010-07-07  Andy Estes  <aestes@apple.com>
1479
1480         Reviewed by Adam Barth.
1481
1482         Allow a beforeload listener to prevent loading of images in <object> tags.
1483         https://bugs.webkit.org/show_bug.cgi?id=41027
1484         <rdar://problem/8120596>
1485
1486         Tests: fast/dom/beforeload/image-object-before-load-innerHTML.html
1487                fast/dom/beforeload/image-object-before-load.html
1488
1489         * html/HTMLObjectElement.cpp:
1490         (WebCore::HTMLObjectElement::attach): Do not call
1491         RenderImage::setCachedImage() at the end of attach(). Instead, allow
1492         this to happen conditionally after beforeload is dispatched.
1493         * loader/ImageLoader.cpp:
1494         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): Render fallback
1495         content if an object's load was cancelled.
1496
1497 2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
1498
1499         Reviewed by Dirk Schulze.
1500
1501         <use> on <font-face> causes crashes, if SVGUseElement gets detached
1502         https://bugs.webkit.org/show_bug.cgi?id=41621
1503
1504         Do not call removeFromMappedElementSheet() from the SVGFontFaceElement destructor,
1505         as that can potentially cause the element to be reattached while destructing.
1506
1507         In order to fix the crash in the testcase, the order of calling the base-class detach
1508         method in SVGUseElement and the instance/shadow tree destruction has to be reversed,
1509         matching the order in removedFromDocument().
1510
1511         Test: svg/custom/use-font-face-crash.svg
1512
1513         * svg/SVGFontFaceElement.cpp:
1514         (WebCore::SVGFontFaceElement::~SVGFontFaceElement): Remove removeFromMappedElementSheet() call.
1515         * svg/SVGUseElement.cpp:
1516         (WebCore::SVGUseElement::detach): Reverse order of calling base-class detach method and instance/shadow tree destruction.
1517
1518 2010-07-07  Steve Block  <steveblock@google.com>
1519
1520         Reviewed by Adam Barth.
1521
1522         document.createEvent() should support DeviceOrientationEvent
1523         https://bugs.webkit.org/show_bug.cgi?id=41618
1524
1525         Tests: fast/dom/DeviceOrientation/create-event.html
1526
1527         * dom/Document.cpp:
1528         (WebCore::Document::createEvent):
1529
1530 2010-07-07  Yury Semikhatsky  <yurys@chromium.org>
1531
1532         Reviewed by Pavel Feldman.
1533
1534         Web Inspector: show functions from internal browser scripts on the call stack if they
1535         are there.
1536         https://bugs.webkit.org/show_bug.cgi?id=41762
1537
1538         * English.lproj/localizedStrings.js:
1539         * inspector/front-end/CallStackSidebarPane.js:
1540         (WebInspector.CallStackSidebarPane.prototype.update):
1541
1542 2010-07-07  Ilya Tikhonovsky  <loislo@chromium.org>
1543
1544         Reviewed by Pavel Feldman.
1545
1546         Web Inspector: All RefPtr arguments and return values should be
1547         changed to PassRefPtr whenever it is possible according to common practice.
1548         https://bugs.webkit.org/show_bug.cgi?id=41759
1549
1550         * inspector/CodeGeneratorInspector.pm:
1551         * inspector/InspectorTimelineAgent.cpp:
1552         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
1553         (WebCore::InspectorTimelineAgent::didInstallTimer):
1554         (WebCore::InspectorTimelineAgent::didRemoveTimer):
1555         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
1556         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
1557         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
1558         (WebCore::InspectorTimelineAgent::didMarkTimeline):
1559         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
1560         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
1561         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
1562         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1563         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
1564         * inspector/InspectorTimelineAgent.h:
1565         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
1566         * inspector/TimelineRecordFactory.cpp:
1567         (WebCore::TimelineRecordFactory::createGenericRecord):
1568         (WebCore::TimelineRecordFactory::createGCEventData):
1569         (WebCore::TimelineRecordFactory::createFunctionCallData):
1570         (WebCore::TimelineRecordFactory::createEventDispatchData):
1571         (WebCore::TimelineRecordFactory::createGenericTimerData):
1572         (WebCore::TimelineRecordFactory::createTimerInstallData):
1573         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
1574         (WebCore::TimelineRecordFactory::createXHRLoadData):
1575         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
1576         (WebCore::TimelineRecordFactory::createMarkTimelineData):
1577         (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
1578         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
1579         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
1580         (WebCore::TimelineRecordFactory::createResourceFinishData):
1581         (WebCore::TimelineRecordFactory::createReceiveResourceData):
1582         (WebCore::TimelineRecordFactory::createPaintData):
1583         (WebCore::TimelineRecordFactory::createParseHTMLData):
1584         * inspector/TimelineRecordFactory.h:
1585
1586 2010-07-07  Antti Koivisto  <koivisto@iki.fi>
1587
1588         Reviewed by Kenneth Rohde Christiansen.
1589         
1590         [Qt] Initial WebKit2 implementation
1591         https://bugs.webkit.org/show_bug.cgi?id=40233
1592
1593         Export some event conversion functions needed for WebKit2.
1594
1595         * platform/PlatformKeyboardEvent.h:
1596         * platform/qt/PlatformKeyboardEventQt.cpp:
1597         (WebCore::keyIdentifierForQtKeyCode):
1598         (WebCore::windowsKeyCodeForKeyEvent):
1599
1600 2010-07-06  Steve Block  <steveblock@google.com>
1601
1602         Reviewed by Adam Barth.
1603
1604         DeviceOrientationEventConstructor should be exposed at window.DeviceOrientationEvent
1605         https://bugs.webkit.org/show_bug.cgi?id=41685
1606
1607         Test: fast/dom/Window/window-properties-device-orientation.html
1608               fast/dom/DeviceOrientation/window-property.txt
1609
1610         * page/DOMWindow.idl:
1611
1612 2010-07-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1613
1614         Unreviewed, rolling out r62645.
1615         http://trac.webkit.org/changeset/62645
1616         https://bugs.webkit.org/show_bug.cgi?id=41757
1617
1618         "Broken inspector tests on several platforms" (Requested by
1619         eseidel on #webkit).
1620
1621         * inspector/front-end/ScriptView.js:
1622         (WebInspector.ScriptView.prototype._addBreakpoint):
1623         * inspector/front-end/ScriptsPanel.js:
1624         (WebInspector.ScriptsPanel):
1625         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
1626         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1627         (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
1628         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1629         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
1630         * inspector/front-end/SourceView.js:
1631         (WebInspector.SourceView.prototype._addBreakpoint):
1632
1633 2010-07-07  Steve Block  <steveblock@google.com>
1634
1635         Reviewed by Adam Barth.
1636
1637         JavaInstanceV8 needs to push a local reference frame to avoid table overflow.
1638         https://bugs.webkit.org/show_bug.cgi?id=41516
1639
1640         This change is required to help prevent the Java virtual machine from
1641         running out of local references. The Java virtual machine supports only
1642         a limited number of local references. Normally, local references are
1643         cleared when the native method returns.
1644
1645         This change adds calls to PushLocalFrame() and PopLocalFrame() around
1646         each invocation of a method on JavaInstance. These calls instruct the
1647         virtual machine to clear local references when the frame is popped.
1648         This means that in the case where many calls to JavaInstance methods
1649         are made within the same native call, local references are cleared as
1650         soon as they are no longer needed, thus conserving references.
1651
1652         This change mirrors exactly JavaInstanceJSC.
1653
1654         No new tests.
1655
1656         * bridge/jni/v8/JavaInstanceV8.cpp:
1657         (JavaInstance::virtualBegin):
1658         (JavaInstance::virtualEnd):
1659         * bridge/jni/v8/JavaInstanceV8.h:
1660
1661 2010-07-06  Yury Semikhatsky  <yurys@chromium.org>
1662
1663         Reviewed by Pavel Feldman.
1664
1665         Inspector should remember the size of sidebars set by the user
1666         https://bugs.webkit.org/show_bug.cgi?id=19207
1667
1668         * inspector/front-end/AbstractTimelinePanel.js:
1669         (WebInspector.AbstractTimelinePanel):
1670         * inspector/front-end/AuditsPanel.js:
1671         (WebInspector.AuditsPanel):
1672         * inspector/front-end/ConsolePanel.js:
1673         (WebInspector.ConsolePanel):
1674         * inspector/front-end/ElementsPanel.js:
1675         (WebInspector.ElementsPanel.prototype.rightSidebarResizerDragEnd):
1676         * inspector/front-end/Panel.js:
1677         (WebInspector.Panel):
1678         (WebInspector.Panel.prototype.get toolbarItemClass):
1679         (WebInspector.Panel.prototype.show):
1680         (WebInspector.Panel.prototype.createSidebar):
1681         (WebInspector.Panel.prototype.get _sidebarWidthSettingName):
1682         (WebInspector.Panel.prototype._endSidebarDragging):
1683         (WebInspector.Panel.prototype.updateSidebarWidth):
1684         (WebInspector.Panel.prototype.restoreSidebarWidth):
1685         (WebInspector.Panel.prototype.saveSidebarWidth):
1686         * inspector/front-end/ProfilesPanel.js:
1687         (WebInspector.ProfilesPanel):
1688         * inspector/front-end/ResourcesPanel.js:
1689         (WebInspector.ResourcesPanel):
1690         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
1691         * inspector/front-end/ScriptsPanel.js:
1692         (WebInspector.ScriptsPanel):
1693         (WebInspector.ScriptsPanel.prototype._endSidebarResizeDrag):
1694         (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag):
1695         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
1696         * inspector/front-end/Settings.js:
1697         (WebInspector.populateApplicationSettings):
1698         * inspector/front-end/StoragePanel.js:
1699         (WebInspector.StoragePanel):
1700         * inspector/front-end/TimelinePanel.js:
1701         (WebInspector.TimelinePanel):
1702
1703 2010-07-05  Steve Block  <steveblock@google.com>
1704
1705         Reviewed by Adam Barth.
1706
1707         DeviceOrientation should be renamed to DeviceOrientationController
1708         https://bugs.webkit.org/show_bug.cgi?id=41608
1709
1710         No new tests, renaming only.
1711
1712         * Android.mk:
1713         * CMakeLists.txt:
1714         * GNUmakefile.am:
1715         * WebCore.gypi:
1716         * WebCore.pro:
1717         * WebCore.vcproj/WebCore.vcproj:
1718         * WebCore.xcodeproj/project.pbxproj:
1719         * dom/DeviceOrientation.cpp: Removed.
1720         * dom/DeviceOrientation.h: Removed.
1721         * dom/DeviceOrientationController.cpp: Copied from WebCore/dom/DeviceOrientation.cpp.
1722         (WebCore::DeviceOrientationController::DeviceOrientationController):
1723         (WebCore::DeviceOrientationController::onDeviceOrientationChange):
1724         * dom/DeviceOrientationController.h: Copied from WebCore/dom/DeviceOrientation.h.
1725         * page/Page.cpp:
1726         (WebCore::Page::Page):
1727         * page/Page.h:
1728         (WebCore::Page::deviceOrientationController):
1729
1730 2010-07-07  Pavel Podivilov  <podivilov@chromium.org>
1731
1732         Reviewed by Yury Semikhatsky.
1733
1734         Web Inspector: do not activate all breakpoints on page reload
1735         https://bugs.webkit.org/show_bug.cgi?id=41461
1736
1737         Test: inspector/debugger-breakpoints-not-activated-on-reload.html
1738
1739         * inspector/front-end/ScriptView.js:
1740         (WebInspector.ScriptView.prototype._addBreakpoint):
1741         * inspector/front-end/ScriptsPanel.js:
1742         (WebInspector.ScriptsPanel):
1743         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1744         (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
1745         * inspector/front-end/SourceView.js:
1746         (WebInspector.SourceView.prototype._addBreakpoint):
1747
1748 2010-07-07  Nikolas Zimmermann  <nzimmermann@rim.com>
1749
1750         Not reviewed. Rollout r62633 - test crashes after some last-minute modifications.
1751
1752         * svg/SVGFontFaceElement.cpp:
1753         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
1754
1755 2010-07-07  Eric Seidel  <eric@webkit.org>
1756
1757         Reviewed by Adam Barth.
1758
1759         Fix </html> handling in before head mode
1760         https://bugs.webkit.org/show_bug.cgi?id=41752
1761
1762         Covered by html5lib/runner.html.
1763
1764         * html/HTMLTreeBuilder.cpp:
1765         (WebCore::HTMLTreeBuilder::processEndTag):
1766
1767 2010-07-07  Eric Seidel  <eric@webkit.org>
1768
1769         Reviewed by Adam Barth.
1770
1771         </div> pops too many <div> elements in body
1772         https://bugs.webkit.org/show_bug.cgi?id=41751
1773
1774         Another missing return!
1775
1776         While tracking this down I added some debugging code to both the
1777         open elements stack and the active formatting elements list.
1778
1779         I also unwrapped a very long || chain to make it more readable.
1780
1781         * html/HTMLElementStack.cpp:
1782         (WebCore::HTMLElementStack::show):
1783         * html/HTMLElementStack.h:
1784         * html/HTMLFormattingElementList.cpp:
1785         (WebCore::HTMLFormattingElementList::show):
1786         * html/HTMLFormattingElementList.h:
1787         * html/HTMLTreeBuilder.cpp:
1788         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1789
1790 2010-07-06  Eric Seidel  <eric@webkit.org>
1791
1792         Reviewed by Adam Barth.
1793
1794         HTMLTreeBuilder needs to handle <table><input>
1795         https://bugs.webkit.org/show_bug.cgi?id=41744
1796
1797         * html/HTMLTreeBuilder.cpp:
1798         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1799
1800 2010-07-06  Eric Seidel  <eric@webkit.org>
1801
1802         Reviewed by Adam Barth.
1803
1804         Teach HTMLTreeBuilder how to handle <button><button>
1805         https://bugs.webkit.org/show_bug.cgi?id=41743
1806
1807         * html/HTMLTreeBuilder.cpp:
1808         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1809
1810 2010-07-06  Eric Seidel  <eric@webkit.org>
1811
1812         Reviewed by Adam Barth.
1813
1814         Teach TreeBuilder how to handle <form><form>
1815         https://bugs.webkit.org/show_bug.cgi?id=41741
1816
1817         * html/HTMLTreeBuilder.cpp:
1818         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1819
1820 2010-07-06  Eric Seidel  <eric@webkit.org>
1821
1822         Reviewed by Adam Barth.
1823
1824         <table> should auto-close <p> when not in quirks mode
1825         https://bugs.webkit.org/show_bug.cgi?id=41740
1826
1827         This is already covered by multiple tests in html5lib/runner.html
1828
1829         * html/HTMLTreeBuilder.cpp:
1830         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1831
1832 2010-07-06  Eric Seidel  <eric@webkit.org>
1833
1834         Reviewed by Adam Barth.
1835
1836         Make "in body" character handling reconstruct active formatting elements
1837         https://bugs.webkit.org/show_bug.cgi?id=41739
1838
1839         This fixes a bunch of tests, and due to some other bug in our
1840         formatting code, regresses two.  I'll fix that bug in a separate
1841         patch.
1842
1843         * html/HTMLTreeBuilder.cpp:
1844         (WebCore::HTMLTreeBuilder::processCharacter):
1845
1846 2010-07-06  Nikolas Zimmermann  <nzimmermann@rim.com>
1847
1848         Reviewed by Darin Adler.
1849
1850         <use> on <font-face> causes crashes, if SVGUseElement gets detached
1851         https://bugs.webkit.org/show_bug.cgi?id=41621
1852
1853         Do not call removeFromMappedElementSheet() from the destructor, as the call to document()->updateStyleSelector() that can potentially
1854         cause the element to be reattached while destructing. It's not needed at all, because removedFromDocument() is called before destruction,
1855         which already calls removeFromMappedElementSheet() - at this point it's still safe to update the style selector.
1856
1857         The crash is reproducable when using <use> on <font-face>.
1858
1859         Test: svg/custom/use-font-face-crash.svg
1860
1861         * svg/SVGFontFaceElement.cpp:
1862         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
1863
1864 2010-07-07  Hayato Ito  <hayato@chromium.org>
1865
1866         Reviewed by Darin Adler.
1867
1868         Rolling out 'page-break-inside:avoid' part of the r54929.
1869         Rebased the related layout tests, which are now expected to fail, as well.
1870
1871         https://bugs.webkit.org/show_bug.cgi?id=41532
1872
1873         * rendering/RenderBlock.cpp:
1874         (WebCore::RenderBlock::paintChildren):
1875
1876 2010-07-07  Mark Rowe  <mrowe@apple.com>
1877
1878         Fix failures in a handful of Java-related tests.
1879
1880         * WebCore.exp.in: Remove an extraneous ENABLE_ from an #if so that the condition
1881         evalutes to true when we expect it to.
1882
1883 2010-07-06  Pavel Feldman  <pfeldman@chromium.org>
1884
1885         Reviewed by Joseph Pecoraro.
1886
1887         Web Inspector: provide line numbers for inline styles.
1888
1889         https://bugs.webkit.org/show_bug.cgi?id=41691
1890
1891         Test: inspector/styles-source-lines-inline.html
1892
1893         * css/CSSParser.cpp:
1894         (WebCore::CSSParser::parseSheet):
1895         * css/CSSParser.h:
1896         * css/CSSStyleSheet.cpp:
1897         (WebCore::CSSStyleSheet::parseString):
1898         (WebCore::CSSStyleSheet::parseStringAtLine):
1899         * css/CSSStyleSheet.h:
1900         * dom/StyleElement.cpp:
1901         (WebCore::StyleElement::process):
1902         (WebCore::StyleElement::createSheet):
1903         * dom/StyleElement.h:
1904         * html/HTMLStyleElement.cpp:
1905         (WebCore::HTMLStyleElement::HTMLStyleElement):
1906         (WebCore::HTMLStyleElement::finishParsingChildren):
1907         * html/HTMLStyleElement.h:
1908         * inspector/InspectorCSSStore.cpp:
1909         (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
1910         * inspector/InspectorDOMAgent.cpp:
1911         (WebCore::InspectorDOMAgent::buildObjectForRule):
1912         * inspector/front-end/DOMAgent.js:
1913         (WebInspector.CSSStyleDeclaration.parseRule):
1914         * inspector/front-end/StylesSidebarPane.js:
1915         (WebInspector.StylePropertiesSection.else.linkifyUncopyable):
1916         (WebInspector.StylePropertiesSection):
1917
1918 2010-07-06  Dan Bernstein  <mitz@apple.com>
1919
1920         Reviewed by Jon Honeycutt.
1921
1922         <rdar://problem/8163651> Wrong value type being supplied for kCTTypesetterOptionForcedEmbeddingLevel key
1923
1924         No change in behavior, so no new test.
1925
1926         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1927         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Use CFNumber instances
1928         as the values of the kCTTypesetterOptionForcedEmbeddingLevel key, instead of CFBooleans.
1929
1930 2010-07-06  Mark Rowe  <mrowe@apple.com>
1931
1932         Fix production builds on Mac OS X.
1933
1934         * DerivedSources.make: Don't try and generate the export file during the installhdrs build phase.
1935         It's not useful until much later in the build process, and it's not possible to generate it until
1936         after the tool has been compiled anyway.
1937         * WebCore.xcodeproj/project.pbxproj: Tweak how the ICU and forwarding headers are copied so that it
1938         works in production builds once more.
1939
1940 2010-07-06  Steve Falkenburg  <sfalken@apple.com>
1941
1942         Reviewed by Simon Fraser.
1943
1944         Expose URL matching from WebUserContentURLPattern
1945         https://bugs.webkit.org/show_bug.cgi?id=41726
1946         <rdar://problem/7910144>
1947
1948         * WebCore.exp.in: Export UserContentURLPattern::matches for use in WebKit.
1949
1950 2010-07-06  Eric Seidel  <eric@webkit.org>
1951
1952         Reviewed by Adam Barth.
1953
1954         Fix <nobr><nobr> case in HTMLTreeBuilder
1955         https://bugs.webkit.org/show_bug.cgi?id=41735
1956
1957         We were both not handling <nobr> correctly, as well as
1958         never hitting the <nobr> case because our formatting
1959         elements check was overzealous.
1960
1961         * html/HTMLTreeBuilder.cpp:
1962         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1963
1964 2010-07-06  Adam Barth  <abarth@webkit.org>
1965
1966         Reviewed by Eric Seidel.
1967
1968         Implement start table tag in table mode
1969         https://bugs.webkit.org/show_bug.cgi?id=41736
1970
1971         * html/HTMLTreeBuilder.cpp:
1972         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1973         (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
1974         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
1975         * html/HTMLTreeBuilder.h:
1976
1977 2010-07-06  Adam Barth  <abarth@webkit.org>
1978
1979         Reviewed by Eric Seidel.
1980
1981         Implement "act as if the banana has been peeled" (for lack of a better term)
1982         https://bugs.webkit.org/show_bug.cgi?id=41734
1983
1984         The spec has a tricky passage that says "whenever a node would be
1985         inserted into the current node, it must instead be foster parented."
1986         This patch attempts to implement that requirement.
1987
1988         * html/HTMLConstructionSite.cpp:
1989         (WebCore::HTMLConstructionSite::attach):
1990         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1991         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
1992         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
1993         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1994         (WebCore::HTMLConstructionSite::insertScriptElement):
1995         (WebCore::HTMLConstructionSite::fosterParent):
1996         * html/HTMLConstructionSite.h:
1997         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
1998         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::~RedirectToFosterParentGuard):
1999         * html/HTMLTreeBuilder.cpp:
2000         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2001         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2002         * html/HTMLTreeBuilder.h:
2003
2004 2010-07-06  Eric Seidel  <eric@webkit.org>
2005
2006         Reviewed by Adam Barth.
2007
2008         Fix </optgroup> in "in select" mode
2009         https://bugs.webkit.org/show_bug.cgi?id=41733
2010
2011         I had to add a oneBelowTop() accessor.
2012         I added some ASSERTs after looking at the fragment case
2013         documentation.  I'm now convinced that top() and oneBeforeTop()
2014         should never be NULL, so we just ASSERT they aren't.
2015
2016         This is a very obscure corner of the HTML spec, but at least
2017         we have a test for it.  This makes one more html5lib test pass.
2018
2019         * html/HTMLConstructionSite.h:
2020         (WebCore::HTMLConstructionSite::oneBelowTop):
2021         * html/HTMLElementStack.cpp:
2022         (WebCore::HTMLElementStack::topRecord):
2023         (WebCore::HTMLElementStack::top):
2024         (WebCore::HTMLElementStack::oneBelowTop):
2025         * html/HTMLElementStack.h:
2026         * html/HTMLTreeBuilder.cpp:
2027         (WebCore::HTMLTreeBuilder::processEndTag):
2028
2029 2010-07-06  Eric Seidel  <eric@webkit.org>
2030
2031         Reviewed by Adam Barth.
2032
2033         Fix "in row" "Anything else" handling of end tags
2034         https://bugs.webkit.org/show_bug.cgi?id=41731
2035
2036         I also fixed </br> handling to follow the spec more closely
2037         since it implementation was old and didn't use all our
2038         new processFake* hotness.
2039
2040         This is already covered by 3 tests, however we don't
2041         pass them yet, due to lack of table foster parenting
2042         code (which Adam is working on as we speak).
2043
2044         * html/HTMLTreeBuilder.cpp:
2045         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
2046         (WebCore::HTMLTreeBuilder::processEndTag):
2047
2048 2010-07-06  Mark Rowe  <mrowe@apple.com>
2049
2050         Fix clean builds on Mac OS X.
2051
2052         Since "Copy Forwarding and ICU Headers" was split in to a separate target
2053         from the WebCore framework it no longer had automatica access to the
2054         PRIVATE_HEADERS_FOLDER_PATH variable. This caused it to copy the header
2055         files in to the wrong location. Fix that by giving PRIVATE_HEADERS_FOLDER_PATH
2056         its correct value and ensuring that the path exists.
2057
2058         * WebCore.xcodeproj/project.pbxproj:
2059
2060 2010-07-06  Sam Weinig  <sam@webkit.org>
2061
2062         Fix Gtk build.
2063
2064         * GNUmakefile.am:
2065
2066 2010-07-06  Mark Rowe  <mrowe@apple.com>
2067
2068         Tiger build fix.
2069
2070         Don't use WebCore's LDFLAGS when building WebCoreExportFileGenerator.
2071
2072         * WebCore.xcodeproj/project.pbxproj:
2073
2074 2010-07-06  Eric Seidel  <eric@webkit.org>
2075
2076         Reviewed by Adam Barth.
2077
2078         "In cell" does not correctly handle <td><tr> or <td><td>
2079         https://bugs.webkit.org/show_bug.cgi?id=41729
2080
2081         This change is mostly cleanup to try and prevent forgetting
2082         tag name checks in the future by using inlines to reduce
2083         copy/paste code.
2084
2085         3 little bugs in InCellMode:
2086          - Missing trTag from the long or statement (reason for the cleanup)
2087          - Used || instead of &&
2088          - Forgot to reprocess the tag after closeTheCell()
2089
2090         * html/HTMLTreeBuilder.cpp:
2091         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2092         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2093         (WebCore::HTMLTreeBuilder::processStartTag):
2094         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2095         (WebCore::HTMLTreeBuilder::processEndTag):
2096
2097 2010-07-06  Adam Barth  <abarth@webkit.org>
2098
2099         Reviewed by Eric Seidel.
2100
2101         Move fosterParent to HTMLConstructionSite
2102         https://bugs.webkit.org/show_bug.cgi?id=41728
2103
2104         This paves the way for handling the default case of InTableMode
2105         properly.
2106
2107         * html/HTMLConstructionSite.cpp:
2108         (WebCore::HTMLConstructionSite::fosterParent):
2109         * html/HTMLConstructionSite.h:
2110         * html/HTMLTreeBuilder.cpp:
2111         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2112
2113 2010-07-06  Adam Barth  <abarth@webkit.org>
2114
2115         Rubber-stamped by Eric Seidel.
2116
2117         Move HTMLConstructionSite to its own file.  No behavior change.
2118
2119         * Android.mk:
2120         * CMakeLists.txt:
2121         * GNUmakefile.am:
2122         * WebCore.gypi:
2123         * WebCore.pro:
2124         * WebCore.vcproj/WebCore.vcproj:
2125         * WebCore.xcodeproj/project.pbxproj:
2126         * html/HTMLConstructionSite.cpp: Copied from WebCore/html/HTMLTreeBuilder.cpp.
2127         (WebCore::HTMLNames::hasImpliedEndTag):
2128         (WebCore::HTMLConstructionSite::attach):
2129         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
2130         (WebCore::HTMLConstructionSite::~HTMLConstructionSite):
2131         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2132         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
2133         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
2134         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
2135         * html/HTMLConstructionSite.h: Copied from WebCore/html/HTMLTreeBuilder.h.
2136         * html/HTMLTreeBuilder.cpp:
2137         * html/HTMLTreeBuilder.h:
2138
2139 2010-07-06  Mark Rowe  <mrowe@apple.com>
2140
2141         Build fix.
2142
2143         The path to the generated file needs to be relative to the built product directory,
2144         not to the project file.
2145
2146         * WebCore.xcodeproj/project.pbxproj:
2147
2148 2010-07-06  Mark Rowe  <mrowe@apple.com>
2149
2150         Reviewed by Darin Adler.
2151
2152         <http://webkit.org/b/41725> REGRESSION(r62283): No longer possible to build for Tiger from SnowLeopard due to export file shenanigans
2153
2154         Change how the exports file is generated. Rather than having the logic for which symbols
2155         to include be encoded in a Makefile that concatenated separate files, the logic is now
2156         encoded as #if's in the base exports file. This ensures that the exact same preprocessor
2157         settings are used when determining which symbols to export as when compiling the code that
2158         defines the symbols.
2159
2160         * DerivedSources.make: Remove logic that determines which export files to concatenate.
2161         Replace with an invocation of WebCoreExportFileGenerator.
2162         * WebCore.3DRendering.exp: Removed.
2163         * WebCore.AcceleratedCompositing.exp: Removed.
2164         * WebCore.ClientBasedGeolocation.exp: Removed.
2165         * WebCore.ContextMenus.exp: Removed.
2166         * WebCore.DashboardSupport.exp: Removed.
2167         * WebCore.DragSupport.exp: Removed.
2168         * WebCore.Geolocation.exp: Removed.
2169         * WebCore.Inspector.exp: Removed.
2170         * WebCore.JNI.exp: Removed.
2171         * WebCore.NPAPI.exp: Removed.
2172         * WebCore.OrientationEvents.exp: Removed.
2173         * WebCore.PluginHostProcess.exp: Removed.
2174         * WebCore.ProtectionSpaceAuthCallback.exp: Removed.
2175         * WebCore.SVG.Animation.exp: Removed.
2176         * WebCore.SVG.Filters.exp: Removed.
2177         * WebCore.SVG.ForeignObject.exp: Removed.
2178         * WebCore.SVG.exp: Removed.
2179         * WebCore.Tiger.exp: Removed.
2180         * WebCore.Video.exp: Removed.
2181         * WebCore.VideoProxy.exp: Removed.
2182         * WebCore.exp.in: Renamed from WebCore/WebCore.base.exp. Merge the individual .exp
2183         files in, wrapping the appropriate parts with the necessary #if's.
2184         * WebCore.xcodeproj/project.pbxproj:
2185         * make-exports-file-generator: Added.
2186
2187 2010-07-06  Sam Weinig  <sam@webkit.org>
2188
2189         Reviewed by Anders Carlsson.
2190
2191         Patch for https://bugs.webkit.org/show_bug.cgi?id=41723
2192         Add BackForwardController class
2193
2194         - Add BackForwardController which currently only forwards to the existing
2195           BackForwardList implementation. This is a first step toward allowing
2196           for a proxying BackForwardList implementation.
2197
2198         * CMakeLists.txt:
2199         * GNUmakefile.am:
2200         * WebCore.base.exp:
2201         * WebCore.gypi:
2202         * WebCore.pro:
2203         * WebCore.vcproj/WebCore.vcproj:
2204         * WebCore.xcodeproj/project.pbxproj:
2205         * history/BackForwardController.cpp: Added.
2206         (WebCore::BackForwardController::BackForwardController):
2207         (WebCore::BackForwardController::~BackForwardController):
2208         * history/BackForwardController.h: Added.
2209         (WebCore::BackForwardController::client):
2210         (WebCore::BackForwardController::list):
2211         * history/BackForwardControllerClient.h: Added.
2212         (WebCore::BackForwardControllerClient::~BackForwardControllerClient):
2213         * page/Page.cpp:
2214         (WebCore::Page::Page):
2215         (WebCore::Page::~Page):
2216         (WebCore::Page::backForwardList):
2217         (WebCore::Page::goBack):
2218         (WebCore::Page::goForward):
2219         (WebCore::Page::canGoBackOrForward):
2220         (WebCore::Page::goBackOrForward):
2221         (WebCore::Page::getHistoryLength):
2222         * page/Page.h:
2223
2224 2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2225
2226         Unreviewed.
2227
2228         Fixes regression on API test by disabling the scrollbars before
2229         configuring the adjustments.
2230
2231         * platform/gtk/ScrollViewGtk.cpp:
2232         (WebCore::ScrollView::setGtkAdjustments):
2233
2234 2010-07-06  Eric Seidel  <eric@webkit.org>
2235
2236         Reviewed by Adam Barth.
2237
2238         Add support for <li>, <dd> and <dt> nested tag closing
2239         https://bugs.webkit.org/show_bug.cgi?id=41720
2240
2241         li, dd, and dt have nearly identical logic in HTML5, so I
2242         attempted to make them share as much code as possible.
2243
2244         This fixes a bunch of subtests for html5lib/runner.html
2245
2246         * html/HTMLTreeBuilder.cpp:
2247         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
2248         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2249         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2250         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
2251         * html/HTMLTreeBuilder.h:
2252
2253 2010-07-06  Adam Barth  <abarth@webkit.org>
2254
2255         Reviewed by Eric Seidel.
2256
2257         Factor HTMLConstructionSite out of HTMLTreeBuilder
2258         https://bugs.webkit.org/show_bug.cgi?id=41716
2259
2260         The HTMLContructionSite is the model object on which the
2261         HTMLTreeBuilder (a controller) acts.
2262
2263         No behavior change.  I'll move this class into its own file in a
2264         followup patch.
2265
2266         * html/HTMLFormattingElementList.h:
2267         (WebCore::HTMLFormattingElementList::at):
2268         * html/HTMLTreeBuilder.cpp:
2269         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2270         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
2271         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
2272         (WebCore::HTMLTreeBuilder::processDoctypeToken):
2273         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2274         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
2275         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
2276         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
2277         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
2278         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
2279         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2280         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
2281         (WebCore::HTMLTreeBuilder::closeTheCell):
2282         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2283         (WebCore::HTMLTreeBuilder::processStartTag):
2284         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2285         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
2286         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
2287         (WebCore::HTMLTreeBuilder::findFosterParentFor):
2288         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2289         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2290         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
2291         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
2292         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
2293         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2294         (WebCore::HTMLTreeBuilder::processEndTag):
2295         (WebCore::HTMLTreeBuilder::processComment):
2296         (WebCore::HTMLTreeBuilder::processCharacter):
2297         (WebCore::HTMLTreeBuilder::processEndOfFile):
2298         (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode):
2299         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2300         (WebCore::HTMLConstructionSite::insertDoctype):
2301         (WebCore::HTMLConstructionSite::insertComment):
2302         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
2303         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
2304         (WebCore::HTMLConstructionSite::createElementAndAttachToCurrent):
2305         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
2306         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
2307         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
2308         (WebCore::HTMLConstructionSite::insertElement):
2309         (WebCore::HTMLConstructionSite::insertSelfClosingElement):
2310         (WebCore::HTMLConstructionSite::insertFormattingElement):
2311         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
2312         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
2313         (WebCore::HTMLConstructionSite::insertScriptElement):
2314         (WebCore::HTMLTreeBuilder::processScriptStartTag):
2315         (WebCore::HTMLConstructionSite::insertTextNode):
2316         (WebCore::HTMLConstructionSite::createElement):
2317         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
2318         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
2319         (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
2320         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
2321         * html/HTMLTreeBuilder.h:
2322         (WebCore::HTMLConstructionSite::currentElement):
2323         (WebCore::HTMLConstructionSite::openElements):
2324         (WebCore::HTMLConstructionSite::activeFormattingElements):
2325         (WebCore::HTMLConstructionSite::head):
2326         (WebCore::HTMLConstructionSite::form):
2327         (WebCore::HTMLConstructionSite::releaseForm):
2328         (WebCore::HTMLConstructionSite::setForm):
2329         (WebCore::HTMLConstructionSite::fragmentScriptingPermission):
2330         (WebCore::HTMLConstructionSite::attach):
2331
2332 2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2333
2334         Reviewed by Xan Lopez.
2335
2336         [GTK] Scrollbars sometimes go dead and stop scrolling the view
2337         https://bugs.webkit.org/show_bug.cgi?id=41711
2338
2339         Fixes GtkScrolledWindow scrollbars not actually scrolling the page
2340         in certain conditions. No tests because it is hard to reproduce,
2341         and depends on interaction with a widget that is outside of the
2342         WebView, which is tricky.
2343
2344         * platform/gtk/ScrollViewGtk.cpp:
2345         (WebCore::ScrollView::setGtkAdjustments):
2346
2347 2010-07-06  Darin Adler  <darin@apple.com>
2348
2349         Reviewed by Geoffrey Garen.
2350
2351         Simplify access to element attribute map, removing unneeded functions
2352         https://bugs.webkit.org/show_bug.cgi?id=41703
2353
2354         * css/CSSStyleSelector.cpp:
2355         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the
2356         attributeMap function instead of the mappedAttributes function.
2357         (WebCore::CSSStyleSelector::styleForElement): Ditto.
2358
2359         * dom/Element.cpp:
2360         (WebCore::Element::~Element): Renamed namedAttrMap to m_attributeMap.
2361         (WebCore::Element::removeAttribute): Ditto.
2362         (WebCore::Element::getAttribute): Ditto.
2363         (WebCore::Element::setAttribute): Ditto.
2364         (WebCore::Element::setAttributeMap): Ditto.
2365         (WebCore::Element::hasAttributes): Ditto.
2366         (WebCore::Element::createAttributeMap): Ditto.
2367         (WebCore::Element::insertedIntoDocument): Ditto.
2368         (WebCore::Element::removedFromDocument): Ditto.
2369         (WebCore::Element::getURLAttribute): Ditto.
2370
2371         * dom/Element.h: Removed unneeded virtual attributes function.
2372         Made read-only argument to attributes function default to false.
2373         (Later, we'll eliminate this.) Renamed namedAttrMap to m_attributeMap
2374         and made it private instead of protected.
2375
2376         * dom/StyledElement.cpp:
2377         (WebCore::StyledElement::attributeChanged): Use attributeMap function
2378         instead of namedAttrMap data member or mappedAttributes function.
2379         (WebCore::StyledElement::classAttributeChanged): Ditto.
2380         (WebCore::StyledElement::parseMappedAttribute): Ditto.
2381
2382         * dom/StyledElement.h: Removed mappedAttributes function and changed
2383         callers to use attributeMap function instead.
2384
2385         * html/HTMLInputElement.cpp:
2386         (WebCore::HTMLInputElement::setInputType): Use attributeMap instead of
2387         mappedAttributes.
2388         * svg/SVGStyledElement.cpp:
2389         (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
2390
2391 2010-07-06  Anders Carlsson  <andersca@apple.com>
2392
2393         Reviewed by Sam Weinig.
2394
2395         Add a build rule that removes the old generated Obj-C bindings for PluginArray and MimeTypeArray.
2396
2397         * DerivedSources.make:
2398
2399 2010-07-06  Adam Barth  <abarth@webkit.org>
2400
2401         Unreviewed.
2402
2403         Make the remaining insertion modes explicit.
2404
2405         * html/HTMLTreeBuilder.cpp:
2406         (WebCore::HTMLTreeBuilder::processStartTag):
2407         (WebCore::HTMLTreeBuilder::processEndTag):
2408         (WebCore::HTMLTreeBuilder::processCharacter):
2409         (WebCore::HTMLTreeBuilder::processEndOfFile):
2410
2411 2010-07-06  Alexey Proskuryakov  <ap@apple.com>
2412
2413         Not reviewed, fixing a simple copy/paste mistake.
2414
2415         https://bugs.webkit.org/show_bug.cgi?id=41156
2416         Cross origin XMLHttpRequest should log the reason why connection failed
2417
2418         Covered by xmlhttprequest/access-control-basic-non-simple-deny-cached.html
2419
2420         * loader/CrossOriginPreflightResultCache.cpp:
2421         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): Fix incorrectly
2422         copy/pasted header field name.
2423
2424 2010-07-06  Xan Lopez  <xlopez@igalia.com>
2425
2426         GTK+ fixes for the DOM plug-in renaming Apocalypse.
2427
2428         * GNUmakefile.am:
2429
2430 2010-07-06  Anders Carlsson  <andersca@apple.com>
2431
2432         Yet another Windows build fix.
2433
2434         * DerivedSources.cpp:
2435
2436 2010-07-06  Anders Carlsson  <andersca@apple.com>
2437
2438         Fix Windows build.
2439
2440         * WebCore.vcproj/WebCore.vcproj:
2441
2442 2010-07-06  Anders Carlsson  <andersca@apple.com>
2443
2444         More build fixes.
2445
2446         * WebCore.gypi:
2447         * WebCore.pro:
2448
2449 2010-07-06  Anders Carlsson  <andersca@apple.com>
2450
2451         Try to fix Qt build.
2452
2453         * WebCore.pro:
2454
2455 2010-07-06  Anders Carlsson  <andersca@apple.com>
2456
2457         Attempt to fix GTK+ build.
2458
2459         * GNUmakefile.am:
2460
2461 2010-07-06  Adam Barth  <abarth@webkit.org>
2462
2463         Address reviewer comments from https://bugs.webkit.org/show_bug.cgi?id=41671
2464
2465         Deploy isTableBodyContextTag where possible.  No behavior change.
2466
2467         * html/HTMLTreeBuilder.cpp:
2468         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2469         (WebCore::HTMLTreeBuilder::processStartTag):
2470         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2471         (WebCore::HTMLTreeBuilder::processEndTag):
2472
2473 2010-07-06  Anders Carlsson  <andersca@apple.com>
2474
2475         Build fixes.
2476
2477         * WebCore.gypi:
2478         * bindings/js/JSBindingsAllInOne.cpp:
2479
2480 2010-07-06  Anders Carlsson  <andersca@apple.com>
2481
2482         Reviewed by Sam Weinig.
2483
2484         DOM plug-in related renames
2485         https://bugs.webkit.org/show_bug.cgi?id=41709
2486
2487         This is in preparation for using "Plugin" for something other than a DOM object.
2488
2489         MimeType => DOMMimeType
2490         MimeTypeArray => DOMMimeTypeArray
2491         Plugin => DOMPlugin
2492         PluginArray => DOMPluginArray
2493
2494         * CMakeLists.txt:
2495         * DerivedSources.make:
2496         * GNUmakefile.am:
2497         * WebCore.pri:
2498         * WebCore.vcproj/WebCore.vcproj:
2499         * WebCore.xcodeproj/project.pbxproj:
2500         * bindings/js/JSDOMMimeTypeArrayCustom.cpp: Added.
2501         (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
2502         (WebCore::JSDOMMimeTypeArray::nameGetter):
2503         * bindings/js/JSDOMPluginArrayCustom.cpp: Added.
2504         (WebCore::JSDOMPluginArray::canGetItemsForName):
2505         (WebCore::JSDOMPluginArray::nameGetter):
2506         * bindings/js/JSDOMPluginCustom.cpp: Added.
2507         (WebCore::JSDOMPlugin::canGetItemsForName):
2508         (WebCore::JSDOMPlugin::nameGetter):
2509         * bindings/js/JSMimeTypeArrayCustom.cpp: Removed.
2510         * bindings/js/JSPluginArrayCustom.cpp: Removed.
2511         * bindings/js/JSPluginCustom.cpp: Removed.
2512         * bindings/scripts/CodeGeneratorJS.pm:
2513         * page/DOMWindow.idl:
2514         * page/Navigator.cpp:
2515         (WebCore::Navigator::plugins):
2516         (WebCore::Navigator::mimeTypes):
2517         * page/Navigator.h:
2518         * page/Navigator.idl:
2519         * plugins/DOMMimeType.cpp: Added.
2520         (WebCore::DOMMimeType::DOMMimeType):
2521         (WebCore::DOMMimeType::~DOMMimeType):
2522         (WebCore::DOMMimeType::type):
2523         (WebCore::DOMMimeType::suffixes):
2524         (WebCore::DOMMimeType::description):
2525         (WebCore::DOMMimeType::enabledPlugin):
2526         * plugins/DOMMimeType.h: Added.
2527         (WebCore::DOMMimeType::create):
2528         (WebCore::DOMMimeType::mimeClassInfo):
2529         * plugins/DOMMimeType.idl: Added.
2530         * plugins/DOMMimeTypeArray.cpp: Added.
2531         (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
2532         (WebCore::DOMMimeTypeArray::~DOMMimeTypeArray):
2533         (WebCore::DOMMimeTypeArray::length):
2534         (WebCore::DOMMimeTypeArray::item):
2535         (WebCore::DOMMimeTypeArray::canGetItemsForName):
2536         (WebCore::DOMMimeTypeArray::namedItem):
2537         (WebCore::DOMMimeTypeArray::getPluginData):
2538         * plugins/DOMMimeTypeArray.h: Added.
2539         (WebCore::DOMMimeTypeArray::create):
2540         (WebCore::DOMMimeTypeArray::disconnectFrame):
2541         * plugins/DOMMimeTypeArray.idl: Added.
2542         * plugins/DOMPlugin.cpp: Added.
2543         (WebCore::DOMPlugin::DOMPlugin):
2544         (WebCore::DOMPlugin::~DOMPlugin):
2545         (WebCore::DOMPlugin::name):
2546         (WebCore::DOMPlugin::filename):
2547         (WebCore::DOMPlugin::description):
2548         (WebCore::DOMPlugin::length):
2549         (WebCore::DOMPlugin::item):
2550         (WebCore::DOMPlugin::canGetItemsForName):
2551         (WebCore::DOMPlugin::namedItem):
2552         * plugins/DOMPlugin.h: Added.
2553         (WebCore::DOMPlugin::create):
2554         (WebCore::DOMPlugin::pluginInfo):
2555         * plugins/DOMPlugin.idl: Added.
2556         * plugins/DOMPluginArray.cpp: Added.
2557         (WebCore::DOMPluginArray::DOMPluginArray):
2558         (WebCore::DOMPluginArray::~DOMPluginArray):
2559         (WebCore::DOMPluginArray::length):
2560         (WebCore::DOMPluginArray::item):
2561         (WebCore::DOMPluginArray::canGetItemsForName):
2562         (WebCore::DOMPluginArray::namedItem):
2563         (WebCore::DOMPluginArray::refresh):
2564         (WebCore::DOMPluginArray::pluginData):
2565         * plugins/DOMPluginArray.h: Added.
2566         (WebCore::DOMPluginArray::create):
2567         (WebCore::DOMPluginArray::disconnectFrame):
2568         * plugins/DOMPluginArray.idl: Added.
2569         * plugins/MimeType.cpp: Removed.
2570         * plugins/MimeType.h: Removed.
2571         * plugins/MimeType.idl: Removed.
2572         * plugins/MimeTypeArray.cpp: Removed.
2573         * plugins/MimeTypeArray.h: Removed.
2574         * plugins/MimeTypeArray.idl: Removed.
2575         * plugins/Plugin.cpp: Removed.
2576         * plugins/Plugin.h: Removed.
2577         * plugins/Plugin.idl: Removed.
2578         * plugins/PluginArray.cpp: Removed.
2579         * plugins/PluginArray.h: Removed.
2580         * plugins/PluginArray.idl: Removed.
2581
2582 2010-07-06  Alexey Proskuryakov  <ap@apple.com>
2583
2584         Reviewed by Darin Adler.
2585
2586         https://bugs.webkit.org/show_bug.cgi?id=41156
2587         Cross origin XMLHttpRequest should log the reason why connection failed
2588
2589         Covered by multiple existing tests.
2590
2591         * loader/CrossOriginAccessControl.cpp:
2592         (WebCore::passesAccessControlCheck):
2593         * loader/CrossOriginAccessControl.h:
2594         * loader/CrossOriginPreflightResultCache.cpp:
2595         (WebCore::CrossOriginPreflightResultCacheItem::parse):
2596         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
2597         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2598         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
2599         * loader/CrossOriginPreflightResultCache.h:
2600         Functions that check requests now take a string argument for error explanation.
2601
2602         * loader/DocumentThreadableLoader.cpp:
2603         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Make an informative error
2604         if crossOriginRequestPolicy is DenyCrossOriginRequests. This doesn't currently go anywhere,
2605         since XMLHttpRequest is the only client that logs from didFail(), and it of course supports
2606         cross origin requests.
2607         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Make an informative
2608         error when trying to e.g. send a cross origin XMLHttpRequest to ftp://.
2609         (WebCore::DocumentThreadableLoader::didReceiveResponse): Pass error explanation from cross
2610         origin access control code.
2611         (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
2612
2613         * loader/DocumentThreadableLoader.h: preflightFailure() now takes arguments.
2614
2615         * platform/network/ResourceErrorBase.cpp:
2616         * platform/network/ResourceErrorBase.h:
2617         Added a constant for WebKit error domain.
2618
2619         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFail): Report the error to console.
2620         One day we'll be able to also provide script file and line number here, so it's best to
2621         pass error all the way down to XHR for reporting.
2622
2623 2010-07-06  Pavel Podivilov  <podivilov@chromium.org>
2624
2625         Reviewed by Pavel Feldman.
2626
2627         Web Inspector: convert script offset to webkit format in v8 ScriptDebugServer
2628         https://bugs.webkit.org/show_bug.cgi?id=41696
2629
2630         * bindings/v8/ScriptDebugServer.cpp:
2631         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2632
2633 2010-07-06  Adam Barth  <abarth@webkit.org>
2634
2635         Reviewed by Eric Seidel.
2636
2637         Implement InTableBodyMode
2638         https://bugs.webkit.org/show_bug.cgi?id=41671
2639
2640         In the process of implementing this patch, Eric and I discussed some of
2641         the high-level organization of the HTMLTreeBuilder class.  We'd like to
2642         split it up into smaller pieces.  In the meantime, I've reordered some
2643         of the declarations in the header to make the relations between the
2644         different kinds of functions clearer.
2645
2646         * html/HTMLElementStack.cpp:
2647         * html/HTMLTreeBuilder.cpp:
2648         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
2649         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2650         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2651         (WebCore::HTMLTreeBuilder::processStartTag):
2652         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2653         (WebCore::HTMLTreeBuilder::processEndTag):
2654         (WebCore::HTMLTreeBuilder::processCharacter):
2655         (WebCore::HTMLTreeBuilder::processEndOfFile):
2656         * html/HTMLTreeBuilder.h:
2657
2658 2010-07-06  Leandro Pereira  <leandro@profusion.mobi>
2659
2660         Unreviewed build fix.
2661
2662         [EFL] Generate code for RemoteInspector.
2663
2664         * CMakeLists.txt:
2665
2666 2010-07-06  Varun Jain  <varunjain@chromium.org>
2667
2668         Reviewed by Oliver Hunt.
2669
2670         Implementing CURVE_TO_CUBIC specification for SVG Path Segments. Currently,
2671         curves specified in relative cordinates such as using createCurvetoCubicRel()
2672         javascript function are not displayed.
2673
2674         SVG CurvetoCubic Path not implemented for relative cordinates
2675         https://bugs.webkit.org/show_bug.cgi?id=41294
2676
2677         Test: svg/custom/svg-curve-with-relative-cordinates.html
2678
2679         * svg/SVGPathSegList.cpp:
2680         (WebCore::SVGPathSegList::toPathData):
2681
2682 2010-07-06  Alexey Proskuryakov  <ap@apple.com>
2683
2684         Roll out patch for https://bugs.webkit.org/show_bug.cgi?id=41348 "Remove global variables
2685         from XSLTProcessorLibxslt.cpp", as it causes crashes on buildbot.
2686
2687         * xml/XSLTProcessor.h:
2688         (WebCore::XSLTProcessor::xslStylesheet):
2689         (WebCore::XSLTProcessor::XSLTProcessor):
2690         * xml/XSLTProcessorLibxslt.cpp:
2691         (WebCore::docLoaderFunc):
2692         (WebCore::setXSLTLoadCallBack):
2693         (WebCore::xsltStylesheetPointer):
2694         (WebCore::XSLTProcessor::transformToString):
2695
2696 2010-07-06  Eric Seidel  <eric@webkit.org>
2697
2698         Reviewed by Adam Barth.
2699
2700         Add processing for "in cell" mode and end tag processing for "in row"
2701         https://bugs.webkit.org/show_bug.cgi?id=41688
2702
2703         I added several new table tests, not all of which pass yet.
2704         Remaining failures exist due to lack of full "in table body" mode
2705         support, which Adam has an outstanding patch for.
2706         I believe all of the various branches added by this change are
2707         covered now by our tests.
2708
2709         * html/HTMLElementStack.cpp:
2710          - Added QualifiedName versions of inScope functions.
2711            Using tagName.localName() is wrong for non-HTML elements,
2712            in preparation for supporting foreign content we should centralize
2713            our handling of QualifiedName in these functions instead of
2714            sprinkling more .localName() calls around the code.
2715         (WebCore::HTMLElementStack::inScope):
2716         (WebCore::HTMLElementStack::inListItemScope):
2717         (WebCore::HTMLElementStack::inTableScope):
2718         * html/HTMLElementStack.h:
2719         * html/HTMLFormattingElementList.cpp:
2720         (WebCore::HTMLFormattingElementList::Entry::operator==):
2721         (WebCore::HTMLFormattingElementList::Entry::operator!=):
2722          - Calling element() on markers will assert, so use m_element.
2723         * html/HTMLTreeBuilder.cpp:
2724         (WebCore::HTMLTreeBuilder::closeTheCell):
2725          - Implemented per the spec.
2726         (WebCore::HTMLTreeBuilder::processStartTag):
2727          - Use isTableBodyContextTag where possible.
2728          - Add InCellMode.
2729         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2730          - Use isTableBodyContextTag where possible.
2731         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
2732          - This code is needed from at least two callsites.
2733         (WebCore::HTMLTreeBuilder::processEndTag):
2734          - Add InCellMode and InRowMode
2735         (WebCore::HTMLTreeBuilder::processCharacter):
2736         (WebCore::HTMLTreeBuilder::processEndOfFile):
2737         * html/HTMLTreeBuilder.h:
2738
2739 2010-07-06  Eric Seidel  <eric@webkit.org>
2740
2741         Reviewed by Adam Barth.
2742
2743         Make <a> auto-close any parent <a> tag
2744         https://bugs.webkit.org/show_bug.cgi?id=41684
2745
2746         I first fixed <a> to auto-close surrounding <a> tags.
2747         That caused about 3 more test passes and one new test failure.
2748         The test failure was due to <marque> not adding a marker
2749         to the active formatting elements.
2750
2751         So I made a one-line change to fix <marque>.  However that hit an
2752         ASSERT due to a bug in indexOfFirstUnopenFormattingElement.
2753         Fixing indexOfFirstUnopenFormattingElement fixed another bunch of
2754         Adoption Agency related tests (clearly this was the second typo
2755         which was causing all the adoption agency failures).
2756         
2757         However fixing <marque> and indexOfFirstUnopenFormattingElement,
2758         added yet another failure due to missing support for </p>
2759         automatically adding an implicit <p> tag.  Fixing </p> finally
2760         got the tests to a stable (all improving) state.
2761
2762         In the end, these 4 minor (and very well tested) tweaks fixed a total
2763         of 9 subtests in html5lib/runner.html.
2764         Another subtest progressed, but did not fully pass due to missing
2765         <table> foster-parenting support.
2766
2767         * html/HTMLTreeBuilder.cpp:
2768         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2769         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
2770         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
2771
2772 2010-07-02  Philippe Normand  <pnormand@igalia.com>
2773
2774         Reviewed by Xan Lopez
2775
2776         [GStreamer] can't seek past maxTimeLoaded value
2777         https://bugs.webkit.org/show_bug.cgi?id=40526
2778
2779         Extended the seekable range to the whole media. This allows video
2780         played with progressive download to be seeked past the current
2781         buffered position.
2782
2783         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2784         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
2785         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
2786
2787 2010-07-06  Andreas Wictor  <andreas.wictor@xcerion.com>
2788
2789         Reviewed by Alexey Proskuryakov.
2790
2791         Remove global variables from XSLTProcessorLibxslt.cpp
2792         https://bugs.webkit.org/show_bug.cgi?id=41348
2793
2794         Remove the globalProcessor and globalDocLoader global variables
2795         by using the _private field that exists on most libxml structs.
2796
2797         No new tests, existing tests covers this.
2798
2799         * xml/XSLTProcessor.h:
2800         (WebCore::XSLTProcessor::sourceNode):
2801         (WebCore::XSLTProcessor::XSLTProcessor):
2802         * xml/XSLTProcessorLibxslt.cpp:
2803         (WebCore::registredXSLTProcessors):
2804         (WebCore::registredXSLStyleSheets):
2805         (WebCore::docLoaderFunc):
2806         (WebCore::xsltStylesheetPointer):
2807         (WebCore::XSLTProcessor::transformToString):
2808
2809 2010-07-06  Darin Adler  <darin@apple.com>
2810
2811         Fix Cairo build.
2812
2813         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2814         (WebCore::GraphicsContext::createPlatformShadow): Removed unnneded release
2815         in code that passes a PassOwnPtr to another PassOwnPtr.
2816
2817 2010-07-06  Darin Adler  <darin@apple.com>
2818
2819         Fix Chromium build.
2820
2821         * platform/graphics/skia/SkiaUtils.cpp:
2822         (WebCore::scratchContext): Use leakPtr instead of release.
2823
2824 2010-07-06  Martin Robinson  <mrobinson@igalia.com>
2825
2826         Unreviewed.
2827
2828         Build fix after r62549.
2829
2830         * GNUmakefile.am: Generate RemoteInspector files by manually listing
2831         them instead of building them into libWebCoreJS.la.
2832
2833 2010-07-06  Darin Adler  <darin@apple.com>
2834
2835         Reviewed by Adam Barth.
2836
2837         Add adoptPtr and leakPtr functions for OwnPtr and PassOwnPtr
2838         https://bugs.webkit.org/show_bug.cgi?id=41320
2839
2840         Made code changes required because of the change to the release function.
2841         The equivalent to the old release function is now named leakPtr and
2842         should be used sparingly. The new release function returns a PassOwnPtr.
2843
2844         * css/CSSFontFaceSource.cpp:
2845         (WebCore::CSSFontFaceSource::getFontData): Changed code to call
2846         leakPtr instead of release.
2847         * css/CSSParser.cpp:
2848         (WebCore::CSSParser::addProperty): Ditto.
2849
2850         * css/CSSSegmentedFontFace.cpp:
2851         (WebCore::CSSSegmentedFontFace::getFontData): Removed unneeded type
2852         casting. Not sure why this changed the type to FontData* and then
2853         casted back to SimpleFontData*.
2854
2855         * css/MediaQuery.cpp:
2856         (WebCore::MediaQuery::MediaQuery): Removed call to release on a
2857         PassOwnPtr, since the data member is now an OwnPtr.
2858         (WebCore::MediaQuery::~MediaQuery): Removed now-unneeded delete.
2859         * css/MediaQuery.h: Changed m_expressions to be an OwnPtr.
2860
2861         * html/HTMLToken.h:
2862         (WebCore::AtomicHTMLToken::AtomicHTMLToken): Use assignment instead
2863         of the set function since there are no raw pointers involved.
2864         * loader/CachedResource.cpp:
2865         (WebCore::CachedResource::makePurgeable): Ditto.
2866
2867         * loader/CrossOriginPreflightResultCache.cpp:
2868         (WebCore::CrossOriginPreflightResultCache::appendEntry): Use
2869         leakPtr instead of release, and also add FIXME about deleting the
2870         old value if the original and URL are already in the map. I
2871         believe dealing with this FIXME may fix a storage leak.
2872
2873         * loader/CrossOriginPreflightResultCache.h: Change the argument
2874         to be PassOwnPtr instead of a raw pointer, since this function
2875         does take ownership.
2876
2877         * loader/DocumentThreadableLoader.cpp:
2878         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2879         Use assignment instead of the set function since there are no raw
2880         pointers involved.
2881         * loader/FrameLoader.cpp:
2882         (WebCore::FrameLoader::startIconLoader): Ditto.
2883         * loader/TextResourceDecoder.cpp:
2884         (WebCore::TextResourceDecoder::decode): Ditto.
2885         (WebCore::TextResourceDecoder::flush): Ditto.
2886
2887         * page/DOMTimer.cpp:
2888         (WebCore::DOMTimer::fired): Use OwnPtr instead of an explicit
2889         delete.
2890
2891         * platform/CrossThreadCopier.h: Removed explicit code that tried
2892         to copy PassOwnPtr in a complicated way. It did nothing different
2893         from just returning the PassOwnPtr. This presumably was done because
2894         PassRefPtr has issues when copied cross-thread, but there are no
2895         similar issues for PassOwnPtr. Someone with more experience than I
2896         might be able to remove the specialization altogether, because
2897         CrossThreadCopierPassThrough does the right thing in this case.
2898
2899         * platform/SharedBuffer.cpp:
2900         (WebCore::SharedBuffer::adoptPurgeableBuffer): Changed argument to
2901         be a PassOwnPtr.
2902         (WebCore::SharedBuffer::releasePurgeableBuffer): Changed result to
2903         be a PassOwnPtr.
2904         * platform/SharedBuffer.h: Updated for changes above.
2905
2906         * rendering/RenderSVGResourceFilter.cpp:
2907         (WebCore::RenderSVGResourceFilter::applyResource): Changed one site
2908         to use assignment instead of the set function since there are no raw
2909         pointers involved. Changed another site to use leakPtr instead
2910         of release.
2911
2912         * rendering/RenderSVGResourceGradient.cpp:
2913         (WebCore::createMaskAndSwapContextForTextGradient): Use assignment
2914         instead of the set function since there are no raw pointers involved.
2915
2916         * rendering/style/RenderStyle.cpp:
2917         (WebCore::RenderStyle::setContent): Use leakPtr instead of release.
2918         (WebCore::RenderStyle::setBoxShadow): Ditto.
2919
2920         * workers/DefaultSharedWorkerRepository.cpp:
2921         (WebCore::DefaultSharedWorkerRepository::connectToWorker):
2922         Removed unneeded call to release function in a code path that passes
2923         a PassOwnPtr to a function that takes a PassOwnPtr.
2924
2925         * workers/WorkerContext.cpp:
2926         (WebCore::WorkerContext::setTimeout): Changed argument type to PassOwnPtr.
2927         (WebCore::WorkerContext::setInterval): Ditto.
2928         * workers/WorkerContext.h: Updated for changes above.
2929
2930         * workers/WorkerMessagingProxy.cpp:
2931         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2932         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2933         Removed unneeded call to release function in code paths that pass
2934         a PassOwnPtr to a function that takes a PassOwnPtr.
2935
2936 2010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>
2937
2938         Reviewed by Yury Semikhatsky.
2939
2940         WebInspector: generator part of the patch for bug 40675.
2941         On the way to Remote Debugging we want to support JSON serialization
2942         on both sides of WebInspector transport.
2943         As far as InspectorFrontend class is a simple proxy to WebInspector
2944         it would be better to generate it from an IDL file.
2945         We have generator infrastructure for binding and will reuse it for
2946         new generator.
2947         https://bugs.webkit.org/show_bug.cgi?id=41692
2948
2949
2950         * CMakeLists.txt:
2951         * DerivedSources.make:
2952         * GNUmakefile.am:
2953         * WebCore.gyp/WebCore.gyp:
2954         * WebCore.gyp/scripts/rule_binding.py:
2955         * WebCore.gypi:
2956         * WebCore.pri:
2957         * WebCore.vcproj/WebCore.vcproj:
2958         * WebCore.xcodeproj/project.pbxproj:
2959         * bindings/scripts/CodeGenerator.pm:
2960         * bindings/scripts/IDLParser.pm:
2961         * bindings/scripts/generate-bindings.pl:
2962         * inspector/CodeGeneratorInspector.pm: Added.
2963         * inspector/InspectorController.cpp:
2964         (WebCore::InspectorController::connectFrontend):
2965         (WebCore::InspectorController::startTimelineProfiler):
2966         * inspector/InspectorController.h:
2967         * inspector/InspectorFrontend.cpp:
2968         * inspector/InspectorFrontend.h:
2969         * inspector/InspectorFrontend2.idl: Added.
2970         * inspector/InspectorTimelineAgent.cpp:
2971         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2972         (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
2973         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2974         * inspector/InspectorTimelineAgent.h:
2975
2976 2010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2977
2978         Rubber-stamped by Xan Lopez.
2979
2980         [GTK] Crashes when going back with page cache in unknown circunstances
2981         https://bugs.webkit.org/show_bug.cgi?id=41710
2982
2983         Also NULL-check document, in hopes of fixing this hard to
2984         reproduce crash that we are getting reported quite a bit.
2985
2986         * page/FrameView.cpp:
2987         (WebCore::FrameView::windowClipRect):
2988
2989 2010-07-05  Ilya Tikhonovsky  <loislo@chromium.org>
2990
2991         Reviewed by Yury Semikhatsky.
2992
2993         Web Inspector: On the way to Remote Debuging we want to support JSON
2994         serialization on both sides of WebInspector transport. As far as
2995         InspectorFrontend class is a simple proxy to WebInspector it would
2996         be better to generate it from an IDL file. We have generator
2997         infostructure for binding and will reuse it for new generator.
2998         https://bugs.webkit.org/show_bug.cgi?id=40675
2999
3000         * bindings/js/ScriptCallStack.cpp:
3001         (WebCore::ScriptCallStack::stackTrace):
3002         * bindings/js/ScriptCallStack.h:
3003         * bindings/v8/ScriptCallStack.cpp:
3004         (WebCore::ScriptCallStack::stackTrace):
3005         * bindings/v8/ScriptCallStack.h:
3006         * inspector/InspectorFrontend.cpp:
3007         (WebCore::InspectorFrontend::addRecordToTimeline):
3008         * inspector/InspectorFrontend.h:
3009         * inspector/InspectorTimelineAgent.cpp:
3010         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
3011         (WebCore::InspectorTimelineAgent::willCallFunction):
3012         (WebCore::InspectorTimelineAgent::willDispatchEvent):
3013         (WebCore::InspectorTimelineAgent::willLayout):
3014         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
3015         (WebCore::InspectorTimelineAgent::willPaint):
3016         (WebCore::InspectorTimelineAgent::willWriteHTML):
3017         (WebCore::InspectorTimelineAgent::didWriteHTML):
3018         (WebCore::InspectorTimelineAgent::didInstallTimer):
3019         (WebCore::InspectorTimelineAgent::didRemoveTimer):
3020         (WebCore::InspectorTimelineAgent::willFireTimer):
3021         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
3022         (WebCore::InspectorTimelineAgent::willLoadXHR):
3023         (WebCore::InspectorTimelineAgent::willEvaluateScript):
3024         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
3025         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3026         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
3027         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3028         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3029         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3030         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3031         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3032         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3033         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
3034         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3035         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3036         * inspector/InspectorTimelineAgent.h:
3037         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3038         * inspector/TimelineRecordFactory.cpp:
3039         (WebCore::TimelineRecordFactory::createGenericRecord):
3040         (WebCore::TimelineRecordFactory::createGCEventData):
3041         (WebCore::TimelineRecordFactory::createFunctionCallData):
3042         (WebCore::TimelineRecordFactory::createEventDispatchData):
3043         (WebCore::TimelineRecordFactory::createGenericTimerData):
3044         (WebCore::TimelineRecordFactory::createTimerInstallData):
3045         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
3046         (WebCore::TimelineRecordFactory::createXHRLoadData):
3047         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
3048         (WebCore::TimelineRecordFactory::createMarkTimelineData):
3049         (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
3050         (WebCore::TimelineRecordFactory::createResourceSendRequestData):
3051         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
3052         (WebCore::TimelineRecordFactory::createResourceFinishData):
3053         (WebCore::TimelineRecordFactory::createReceiveResourceData):
3054         (WebCore::TimelineRecordFactory::createPaintData):
3055         (WebCore::TimelineRecordFactory::createParseHTMLData):
3056         * inspector/TimelineRecordFactory.h:
3057
3058 2010-07-06  Adam Barth  <abarth@webkit.org>
3059
3060         Reviewed by Eric Seidel.
3061
3062         Implement InColgroupMode
3063         https://bugs.webkit.org/show_bug.cgi?id=41663
3064
3065         * html/HTMLTreeBuilder.cpp:
3066         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
3067         (WebCore::HTMLTreeBuilder::processStartTag):
3068         (WebCore::HTMLTreeBuilder::processEndTag):
3069         (WebCore::HTMLTreeBuilder::processCharacter):
3070         (WebCore::HTMLTreeBuilder::processEndOfFile):
3071         * html/HTMLTreeBuilder.h:
3072
3073 2010-07-06  Eric Seidel  <eric@webkit.org>
3074
3075         Reviewed by Adam Barth.
3076
3077         Implement bookmarking for HTML5 Adoption Agency algorithm
3078         https://bugs.webkit.org/show_bug.cgi?id=41659
3079
3080         Was easier than I expected it to be.
3081         Fixes a bunch of html5lib/runner.html tests.
3082
3083         * html/HTMLFormattingElementList.cpp:
3084         (WebCore::HTMLFormattingElementList::bookmarkFor):
3085         (WebCore::HTMLFormattingElementList::insertAt):
3086         * html/HTMLFormattingElementList.h:
3087         (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
3088         (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
3089         (WebCore::HTMLFormattingElementList::Bookmark::elementBefore):
3090         (WebCore::HTMLFormattingElementList::Bookmark::elementAfter):
3091         * html/HTMLTreeBuilder.cpp:
3092         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
3093
3094 2010-07-06  Adam Barth  <abarth@webkit.org>
3095
3096         Reviewed by Eric Seidel.
3097
3098         Implement more of InTableMode
3099         https://bugs.webkit.org/show_bug.cgi?id=41652
3100
3101         By the time we got around to landing this patch, it turns out to be
3102         just a bit of cleanup (the functional changes where landed already.)
3103
3104         * html/HTMLTreeBuilder.cpp:
3105         (WebCore::HTMLTreeBuilder::processCharacter):
3106         (WebCore::HTMLTreeBuilder::processEndOfFile):
3107
3108 2010-07-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3109
3110         Unreviewed, rolling out r62529.
3111         http://trac.webkit.org/changeset/62529
3112         https://bugs.webkit.org/show_bug.cgi?id=41661
3113
3114         http/tests/inspector/resource-har-conversion.html is broken
3115         (Requested by yutak on #webkit).
3116
3117         * inspector/InspectorController.cpp:
3118         (WebCore::InspectorController::addResource):
3119         (WebCore::InspectorController::removeResource):
3120         * inspector/InspectorController.h:
3121         * inspector/InspectorResource.cpp:
3122         (WebCore::InspectorResource::InspectorResource):
3123         (WebCore::InspectorResource::updateScriptObject):
3124         (WebCore::InspectorResource::cachedResource):
3125         (WebCore::InspectorResource::type):
3126         (WebCore::InspectorResource::resourceData):
3127         * inspector/InspectorResource.h:
3128         (WebCore::InspectorResource::):
3129         (WebCore::InspectorResource::create):
3130         * inspector/front-end/Resource.js:
3131         (WebInspector.Resource.Type.toString):
3132         (WebInspector.Resource.prototype.set type):
3133         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3134         * inspector/front-end/ResourceView.js:
3135         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
3136         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
3137         (WebInspector.ResourceView.prototype._refreshHeaders):
3138         * inspector/front-end/inspector.css:
3139         (.resources-category-scripts, .resources-category-xhr, .resources-category-fonts, .resources-category-other):
3140         * inspector/front-end/inspector.js:
3141         (WebInspector.loaded):
3142         (WebInspector.updateResource):
3143         * websockets/WebSocketChannel.cpp:
3144         (WebCore::WebSocketChannel::WebSocketChannel):
3145         (WebCore::WebSocketChannel::disconnect):
3146         (WebCore::WebSocketChannel::didOpen):
3147         (WebCore::WebSocketChannel::didClose):
3148         (WebCore::WebSocketChannel::processBuffer):
3149         * websockets/WebSocketChannel.h:
3150
3151 2010-07-06  Adam Barth  <abarth@webkit.org>
3152
3153         Reviewed by Eric Seidel.
3154
3155         Implement InCaptionMode
3156         https://bugs.webkit.org/show_bug.cgi?id=41660
3157
3158         Implementing this mode also turned up a subtle bug in the adoption
3159         agency code.
3160
3161         * html/HTMLTreeBuilder.cpp:
3162         (WebCore::HTMLTreeBuilder::processStartTag):
3163         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
3164         (WebCore::HTMLTreeBuilder::processEndTag):
3165         (WebCore::HTMLTreeBuilder::processCharacter):
3166         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
3167             - We're supposed to reutrn the first *unopened* formatting element.
3168               The old code returned the first *opened* formatting element.
3169         * html/HTMLTreeBuilder.h:
3170
3171 2010-07-06  Adam Barth  <abarth@webkit.org>
3172
3173         Reviewed by Eric Seidel.
3174
3175         Implement defaut cases for InTableMode
3176         https://bugs.webkit.org/show_bug.cgi?id=41656
3177
3178         * html/HTMLTreeBuilder.cpp:
3179         (WebCore::HTMLTreeBuilder::processStartTag):
3180         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3181         (WebCore::HTMLTreeBuilder::processEndTag):
3182         * html/HTMLTreeBuilder.h:
3183
3184 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
3185
3186         Reviewed by Dirk Schulze.
3187
3188         SVGRenderContainer forces too many kids to relayout
3189         https://bugs.webkit.org/show_bug.cgi?id=15391
3190
3191         Fixing a long-standing performance issue. We should only ever need to relayout container children when the parent bounds change.
3192         The bounds of a container can only change, if the outermost RenderSVGRoot container uses relative length values and its size changes.
3193         This can either happen when the window resizes for standalone SVG documents, or if an enclosing RenderBox changes width/height values.
3194
3195         Only relayout container children if the container has selfNeedsLayout() true, or if the parent bounds change.
3196         Lively Kernel doesn't do any relayouts anymore, except if you change the Safari window size, this is a great progression.
3197
3198         * rendering/RenderPath.cpp:
3199         (WebCore::RenderPath::layout): No need to special case Path updates, if the element uses relative lengths. SVGRenderSupport now handles this case.
3200         * rendering/RenderSVGContainer.cpp:
3201         (WebCore::RenderSVGContainer::layout): Fix some style issues.
3202         * rendering/RenderSVGContainer.h:
3203         (WebCore::RenderSVGContainer::setDrawsContents): Inlined for speed.
3204         (WebCore::RenderSVGContainer::drawsContents): Ditto.
3205         * rendering/RenderSVGRoot.cpp:
3206         (WebCore::RenderSVGRoot::RenderSVGRoot): Initialize m_isLayoutSizeChanged to false.
3207         (WebCore::RenderSVGRoot::layout): Set m_isLayoutSizeChanged=true when the RenderSVGRoot size changes during layout.
3208         (WebCore::RenderSVGRoot::calcViewport): Remove hasRelativeLengths() special case.
3209         * rendering/RenderSVGRoot.h:
3210         (WebCore::RenderSVGRoot::isLayoutSizeChanged): New function, which returns true during layout() if the outermost <svg> size changes.
3211         * rendering/RenderSVGViewportContainer.cpp:
3212         (WebCore::RenderSVGViewportContainer::calcViewport): Cleanup code, and remove obsolete hasRelativeLengths() special case.
3213         * rendering/SVGRenderSupport.cpp:
3214         (WebCore::svgRootTreeObject): Added helper function, that returns the RenderSVGRoot for a given RenderObject.
3215         (WebCore::SVGRenderSupport::layoutChildren): Remove FIXME, only relayout container children, if the parent bounds change and the child uses relative lengths.
3216         * svg/SVGStyledElement.cpp:
3217         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Implemented this function. Keeps track of relative lengths elements, so that the
3218                                                                        hasRelativeLengths() information is always up2date.
3219         * svg/SVGStyledElement.h:
3220         (WebCore::SVGStyledElement::hasRelativeLengths): Don't call the virtual selfHasRelativeLengths() information, just return wheter m_elementsWithRelativeLengths is not empty.
3221
3222 2010-07-05  Yuzo Fujishima  <yuzo@google.com>
3223
3224         Reviewed by Dan Bernstein.
3225
3226         Fix for Bug 41509 - Ranges for @font-face unicode-range must be separated by commas
3227         https://bugs.webkit.org/show_bug.cgi?id=41509
3228
3229         Test: fast/css/font-face-multiple-ranges-for-unicode-range.html
3230
3231         * css/CSSParser.cpp:
3232         (WebCore::CSSParser::parseFontFaceUnicodeRange):
3233
3234 2010-07-05  Yuta Kitamura  <yutak@chromium.org>
3235
3236         Reviewed by Pavel Feldman.
3237
3238         Add WebSocket resource type to Web Inspector.
3239
3240         When a new WebSocket connection is established, a line for that connection
3241         will appear in Web Inspector's Resources tab. If the resource name is
3242         clicked, the details of handshake request and response will be shown.
3243
3244         Web Inspector: WebSocket in Resources tab
3245         https://bugs.webkit.org/show_bug.cgi?id=40768
3246
3247         * inspector/InspectorController.cpp:
3248         (WebCore::InspectorController::addResource): WebSocket resource does not
3249         have an associated loader, thus frame might be null. Need to check it.
3250         (WebCore::InspectorController::removeResource): Ditto.
3251         (WebCore::InspectorController::didCreateWebSocket):
3252         (WebCore::InspectorController::willSendWebSocketHandshakeRequest):
3253         (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse):
3254         (WebCore::InspectorController::didCloseWebSocket):
3255         * inspector/InspectorController.h:
3256         * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame,
3257         because WebSocket does not have a loader and we need to allow null for
3258         these variables.
3259         (WebCore::createReadableStringFromBinary):
3260         (WebCore::InspectorResource::InspectorResource):
3261         (WebCore::InspectorResource::create): Factory function of
3262         regular (non-WebSocket) resources.
3263         (WebCore::InspectorResource::createWebSocket): Factory function of
3264         WebSocket resources.
3265         (WebCore::InspectorResource::updateWebSocketRequest):
3266         (WebCore::InspectorResource::updateWebSocketResponse):
3267         (WebCore::InspectorResource::updateScriptObject):
3268         (WebCore::InspectorResource::cachedResource):
3269         (WebCore::InspectorResource::type):
3270         (WebCore::InspectorResource::resourceData):
3271         * inspector/InspectorResource.h:
3272         (WebCore::InspectorResource::):
3273         (WebCore::InspectorResource::markWebSocket):
3274         * inspector/front-end/Resource.js:
3275         (WebInspector.Resource.Type.toString):
3276         (WebInspector.Resource.prototype.set type):
3277         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3278         * inspector/front-end/ResourceView.js:
3279         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
3280         (WebInspector.ResourceView.prototype._refreshResponseHeaders):
3281         (WebInspector.ResourceView.prototype._refreshHeaders):
3282         * inspector/front-end/inspector.css:
3283         (.resources-category-websockets, .resources-category-other):
3284         (.resources-category-websockets .resources-graph-bar):
3285         (.resources-category-websockets.resource-cached .resources-graph-bar):
3286         * inspector/front-end/inspector.js:
3287         (WebInspector.loaded):
3288         (WebInspector.updateResource):
3289         * websockets/WebSocketChannel.cpp:
3290         (WebCore::WebSocketChannel::WebSocketChannel):
3291         (WebCore::WebSocketChannel::disconnect):
3292         (WebCore::WebSocketChannel::didOpen):
3293         (WebCore::WebSocketChannel::didClose):
3294         (WebCore::WebSocketChannel::processBuffer):
3295         (WebCore::WebSocketChannel::identifier):
3296         * websockets/WebSocketChannel.h:
3297
3298 2010-07-05  Yury Semikhatsky  <yurys@chromium.org>
3299
3300         Unreviewed. Fix Chromium build.
3301
3302         * inspector/InspectorApplicationCacheAgent.cpp:
3303         (WebCore::InspectorApplicationCacheAgent::fillResourceList):
3304         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
3305
3306 2010-07-05  Adam Barth  <abarth@webkit.org>
3307
3308         Unreviewed.
3309
3310         Move processStartTagForInBody to its own function.
3311
3312         * html/HTMLTreeBuilder.cpp:
3313         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3314         (WebCore::HTMLTreeBuilder::processStartTag):
3315         * html/HTMLTreeBuilder.cpp.orig: Added.
3316         * html/HTMLTreeBuilder.h:
3317
3318 2010-07-05  Eric Seidel  <eric@webkit.org>
3319
3320         Reviewed by Adam Barth.
3321
3322         Fix one more notImplemented in h1-h6 start tag handling
3323         https://bugs.webkit.org/show_bug.cgi?id=41654
3324
3325         * html/HTMLTreeBuilder.cpp:
3326         (WebCore::HTMLTreeBuilder::processStartTag):
3327
3328 2010-07-05  Eric Seidel  <eric@webkit.org>
3329
3330         Unreviewed.  Just fixing proess to process.
3331         Clearly Adam and I can't spell.  Thankfully MikeSmith can.
3332
3333         Add <isindex> support, per HTML5
3334         https://bugs.webkit.org/show_bug.cgi?id=41650
3335
3336         * html/HTMLTreeBuilder.cpp:
3337         (WebCore::HTMLTreeBuilder::processFakeStartTag):
3338         (WebCore::HTMLTreeBuilder::processFakeEndTag):
3339         (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
3340         (WebCore::HTMLTreeBuilder::processStartTag):
3341         * html/HTMLTreeBuilder.h:
3342
3343 2010-07-05  Eric Seidel  <eric@webkit.org>
3344
3345         Reviewed by Adam Barth.
3346
3347         Add <isindex> support, per HTML5
3348         https://bugs.webkit.org/show_bug.cgi?id=41650
3349
3350         Covered by html5lib/runner.html including a new
3351         isindex.dat test suite.
3352
3353         * html/HTMLToken.h:
3354         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3355          - Support passing attributes to the constructor.
3356         (WebCore::AtomicHTMLToken::name):
3357         (WebCore::AtomicHTMLToken::setName):
3358         (WebCore::AtomicHTMLToken::getAttributeItem):
3359         (WebCore::AtomicHTMLToken::attributes):
3360         (WebCore::AtomicHTMLToken::takeAtributes):
3361          - Reduces ref-churn, and makes it possible for callers
3362            to modify attributes w/o affecting future uses of the attributes.
3363         (WebCore::AtomicHTMLToken::usesName):
3364          - Used by ASSERTS.
3365         (WebCore::AtomicHTMLToken::usesAttributes):
3366          - Used by ASSERTS.
3367         * html/HTMLTreeBuilder.cpp:
3368         (WebCore::convertToOldStyle):
3369          - Can't be const, now that we use takeAttributes()
3370         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
3371         (WebCore::HTMLTreeBuilder::proesssFakeStartTag):
3372          - New function.  I'm not sure this is the perfect design
3373           (I'd kinda like AtomicHTMLToken to be copyable so we can
3374            have create functions for it), but this makes the callsites
3375            using fake tokens much more readable.
3376         (WebCore::HTMLTreeBuilder::proesssFakeEndTag):
3377         (WebCore::HTMLTreeBuilder::processFakeCharacters):
3378         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
3379         (WebCore::HTMLTreeBuilder::processIsindexStartTagForBody):
3380         (WebCore::HTMLTreeBuilder::processStartTag):
3381         (WebCore::HTMLTreeBuilder::insertScriptElement):
3382          - Use takeAttributes() for less ref-churn.
3383         (WebCore::HTMLTreeBuilder::createElement): ditto
3384         (WebCore::HTMLTreeBuilder::finished):
3385          - Remove bogus use of AtomicHTMLToken constructor which
3386            wasn't even being used now that we support emitting EOF tokens
3387            from the Tokenizer directly.
3388         * html/HTMLTreeBuilder.h:
3389
3390 2010-07-05  Adam Barth  <abarth@webkit.org>
3391
3392         Reviewed by Eric Seidel.
3393
3394         ASSERT that we're processing the correct type of token
3395         https://bugs.webkit.org/show_bug.cgi?id=41647
3396
3397         Making these asserts work required a small (non-observable) tweak to
3398         some old code.
3399
3400         * html/HTMLTreeBuilder.cpp:
3401         (WebCore::HTMLTreeBuilder::processDoctypeToken):
3402         (WebCore::HTMLTreeBuilder::processStartTag):
3403         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
3404         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
3405         (WebCore::HTMLTreeBuilder::processEndTag):
3406         (WebCore::HTMLTreeBuilder::processComment):
3407         (WebCore::HTMLTreeBuilder::processCharacter):
3408         (WebCore::HTMLTreeBuilder::processEndOfFile):
3409         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
3410
3411 2010-07-05  Adam Barth  <abarth@webkit.org>
3412
3413         Reviewed by Eric Seidel.
3414
3415         Implement in select in table
3416         https://bugs.webkit.org/show_bug.cgi?id=41646
3417
3418         This mode is mostly a fall-through to the InSelectMode.
3419
3420         * html/HTMLTreeBuilder.cpp:
3421         (WebCore::HTMLTreeBuilder::processStartTag):
3422         (WebCore::HTMLTreeBuilder::processEndTag):
3423         (WebCore::HTMLTreeBuilder::processCharacter):
3424         (WebCore::HTMLTreeBuilder::processEndOfFile):
3425
3426 2010-07-05  Adam Barth  <abarth@webkit.org>
3427
3428         Reviewed by Eric Seidel.
3429
3430         Implement basic text node coalescing
3431         https://bugs.webkit.org/show_bug.cgi?id=41623
3432
3433         This patch isn't the end-all, be-all of text node coalescing, but it's
3434         a good start.
3435
3436         * dom/CharacterData.cpp:
3437         (WebCore::CharacterData::parserAppendData):
3438         (WebCore::CharacterData::appendData):
3439         * dom/CharacterData.h:
3440             - Added a new method to dance around mutation events.
3441         * html/HTMLTreeBuilder.cpp:
3442         (WebCore::HTMLTreeBuilder::insertTextNode):
3443
3444 2010-07-05  Adam Barth  <abarth@webkit.org>
3445
3446         Reviewed by Eric Seidel.
3447
3448         Implement InSelectMode
3449         https://bugs.webkit.org/show_bug.cgi?id=41627
3450
3451         * html/HTMLTreeBuilder.cpp:
3452         (WebCore::HTMLTreeBuilder::processStartTag):
3453         (WebCore::HTMLTreeBuilder::processEndTag):
3454         (WebCore::HTMLTreeBuilder::processCharacter):
3455         (WebCore::HTMLTreeBuilder::processEndOfFile):
3456
3457 2010-07-05  Fady Samuel  <fsamuel@chromium.org>
3458
3459         Reviewed by Darin Adler.
3460
3461         Fixed a svg crash when setting class of an svg ellipse object.
3462
3463         Altering the CSS class of an attached SVG element causes WebKit to crash
3464         https://bugs.webkit.org/show_bug.cgi?id=40857
3465
3466         Test: svg/css/svg-ellipse-render-crash.html
3467
3468         * dom/StyledElement.cpp:
3469         (WebCore::StyledElement::classAttributeChanged):
3470
3471 2010-07-05  Dan Bernstein  <mitz@apple.com>
3472
3473         Reviewed by Sam Weinig.
3474
3475         Reproducible crash with Optimize Legibility extension
3476         https://bugs.webkit.org/show_bug.cgi?id=41585
3477
3478         Test: fast/css/text-rendering-priority.html
3479
3480         Moved the text-rendering CSS property to the “high priority” group, because applying it
3481         during style selection invalidates the font.
3482
3483         * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
3484         * css/CSSStyleSelector.cpp:
3485         (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
3486
3487 2010-07-05  Dan Bernstein  <mitz@apple.com>
3488
3489         Reviewed by Sam Weinig.
3490
3491         optimizeLegibility doesn't play nice with fonts that do not have a space glyph
3492         https://bugs.webkit.org/show_bug.cgi?id=41599
3493
3494         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
3495
3496         * rendering/RenderBlockLineLayout.cpp:
3497         (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
3498         to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
3499         initialized with the width of a space as measured by the Font rather than with the cached
3500         space width.
3501
3502 2010-07-05  Eric Seidel  <eric@webkit.org>
3503
3504         Reviewed by Adam Barth.
3505
3506         Implement HTML5's "reset insertion mode appropriately"
3507         https://bugs.webkit.org/show_bug.cgi?id=41628
3508
3509         This has some minimal testing.  One from my previous
3510         </table> patch, and a few from the main suite.
3511
3512         Mostly resetInsertionModeAppropriately isn't used yet
3513         but we're about to add a bunch of states which do use it
3514         and our test coverage will expand further as we do.
3515
3516         * html/HTMLTreeBuilder.cpp:
3517         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3518         (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
3519         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
3520         * html/HTMLTreeBuilder.h:
3521
3522 2010-07-04  Eric Seidel  <eric@webkit.org>
3523
3524         Reviewed by Adam Barth.
3525
3526         Add </table> support for "in table" insertion mode
3527         https://bugs.webkit.org/show_bug.cgi?id=41591
3528
3529         resetInsertionModeAppropriately isn't implemented yet, however
3530         I've added a test for the usage I added.
3531
3532         * html/HTMLTreeBuilder.cpp:
3533         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
3534         (WebCore::HTMLTreeBuilder::processEndTag):
3535         * html/HTMLTreeBuilder.h:
3536
3537 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
3538
3539         Unreviewed build fix for r62503.
3540
3541         Chromium missing method. Filed bug 41632 to track.
3542
3543         * loader/appcache/ApplicationCacheHost.h:
3544         (WebCore::ApplicationCacheHost::applicationCache):
3545
3546 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
3547
3548         Unreviewed build fix for r62503.
3549
3550         Missed GTK's build file.
3551
3552         * GNUmakefile.am:
3553
3554 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
3555
3556         Unreviewed build fix for r62503.
3557
3558         Pass a blank ResourceResponse instead of passing 0.
3559
3560         * loader/appcache/ApplicationCacheGroup.cpp:
3561         (WebCore::ApplicationCacheGroup::createResourceHandle):
3562
3563 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
3564
3565         Unreviewed build fix for r62503.
3566
3567         Forward declare ApplicationCache for Chromium.
3568
3569         * loader/appcache/ApplicationCacheHost.h:
3570
3571 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
3572
3573         Reviewed by Pavel Feldman.
3574
3575         WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
3576         https://bugs.webkit.org/show_bug.cgi?id=24529
3577
3578         Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.
3579
3580         Part 2: Pulling ApplicationCache Resources to Display in the Inspector.
3581
3582           The InspectorApplicationCacheAgent gathers the information it
3583           needs and forwards it on to the inspector.
3584
3585         * inspector/InspectorApplicationCacheAgent.cpp:
3586         (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
3587         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
3588         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
3589         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
3590         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
3591         * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
3592         (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
3593         (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
3594         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
3595         * loader/appcache/ApplicationCacheHost.h:
3596         (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
3597         (WebCore::ApplicationCacheHost::documentLoader): added const.
3598
3599           The User Interface uses a DataGrid, like Cookies.
3600
3601         * inspector/front-end/ApplicationCacheItemsView.js:
3602         (WebInspector.ApplicationCacheItemsView.prototype._update):
3603         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
3604         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
3605         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
3606         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):