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