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