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