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