259ba33fa110882a4a359ebaab711410aeee55aa
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
2
3         [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
4         https://bugs.webkit.org/show_bug.cgi?id=65473
5
6         Reviewed by Andreas Kling.
7
8         For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
9         We do that by iterating on the pixels and manually swapping each pixel's red and blue
10         values. This can be done faster with shaders, but for now this is a working solution
11         for platforms without BGRA support.
12
13         No new tests. Existing layout tests cover this.
14
15         * platform/graphics/opengl/TextureMapperGL.cpp:
16         (WebCore::BitmapTextureGL::endPaint):
17         * platform/graphics/opengl/TextureMapperGL.h:
18         * platform/graphics/qt/TextureMapperQt.cpp:
19         (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
20
21 2011-09-26  Sergio Villar Senin  <svillar@igalia.com>
22
23         [GTK] Fix coding style bits in ResourceHandleSoup.cpp
24         https://bugs.webkit.org/show_bug.cgi?id=68634
25
26         Reviewed by Martin Robinson.
27
28         No new tests needed.
29
30         * platform/network/soup/ResourceHandleSoup.cpp:
31         (WebCore::ResourceHandle::defaultSession):
32
33 2011-09-26  James Robinson  <jamesr@chromium.org>
34
35         [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
36         https://bugs.webkit.org/show_bug.cgi?id=68769
37
38         Reviewed by Simon Fraser.
39
40         Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
41         implicit double->long conversion, which ignores the units of the value.
42
43         Test: fast/animation/request-animation-frame-timestamps-advance.html
44
45         * dom/ScriptedAnimationController.cpp:
46         (WebCore::ScriptedAnimationController::animationTimerFired):
47
48 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
49
50         Add custom vtable struct to ClassInfo struct
51         https://bugs.webkit.org/show_bug.cgi?id=68567
52
53         Reviewed by Oliver Hunt.
54
55         No new tests.
56
57         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
58         specified class in its ClassInfo.  Also added to it the first function to use 
59         this macro, visitChildren.  This is part of the process of getting rid of all 
60         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
61         that can't easily be converted to non-virtual functions will be put into 
62         this custom vtable structure.
63
64         * bindings/js/JSAudioConstructor.cpp:
65         * bindings/js/JSDOMGlobalObject.cpp:
66         * bindings/js/JSDOMWindowBase.cpp:
67         * bindings/js/JSDOMWindowShell.cpp:
68         * bindings/js/JSImageConstructor.cpp:
69         * bindings/js/JSImageDataCustom.cpp:
70         (WebCore::toJS):
71         * bindings/js/JSOptionConstructor.cpp:
72         * bindings/js/JSWorkerContextBase.cpp:
73
74         Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
75         necessary.
76         * bindings/scripts/CodeGeneratorJS.pm:
77         (GenerateImplementation):
78         (GenerateConstructorDefinition):
79         * bindings/scripts/test/JS/JSTestInterface.cpp:
80         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
81         * bindings/scripts/test/JS/JSTestObj.cpp:
82         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
83         * bridge/c/CRuntimeObject.cpp:
84         * bridge/c/c_instance.cpp:
85         * bridge/jni/jsc/JavaInstanceJSC.cpp:
86         * bridge/jni/jsc/JavaRuntimeObject.cpp:
87         * bridge/objc/ObjCRuntimeObject.mm:
88         * bridge/objc/objc_instance.mm:
89         * bridge/objc/objc_runtime.mm:
90         * bridge/qt/qt_instance.cpp:
91         * bridge/qt/qt_pixmapruntime.cpp:
92         * bridge/qt/qt_runtime.cpp:
93         * bridge/runtime_array.cpp:
94         * bridge/runtime_method.cpp:
95         * bridge/runtime_object.cpp:
96
97 2011-09-25  Eunmi Lee  <eunmi15.lee@samsung.com>
98
99         [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
100         https://bugs.webkit.org/show_bug.cgi?id=63502
101
102         Reviewed by Martin Robinson.
103
104         The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
105         some codes for EFL are added.
106         WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
107         when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
108
109         * CMakeListsEfl.txt:
110         * GNUmakefile.list.am:
111         * platform/cairo/WidgetBackingStore.h:
112         * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
113         (WebCore::createSurfaceForBackingStore):
114         (WebCore::WidgetBackingStorePrivate::create):
115         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
116         (WebCore::WidgetBackingStore::create):
117         (WebCore::WidgetBackingStore::WidgetBackingStore):
118         (WebCore::WidgetBackingStore::~WidgetBackingStore):
119         (WebCore::WidgetBackingStore::cairoSurface):
120         (WebCore::WidgetBackingStore::scroll):
121         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
122
123 2011-09-25  Adam Barth  <abarth@webkit.org>
124
125         Finish removing PLATFORM(BREWMP) by removing associated code
126         https://bugs.webkit.org/show_bug.cgi?id=68779
127
128         Reviewed by Sam Weinig.
129
130         When Geoffrey Garen removed PLATFORM(BREWMP) in
131         http://trac.webkit.org/changeset/95555, he did not remove all the
132         associated code.  This completes the work started in r95555 by removing
133         all the code assoicated with PLATFORM(BREWMP).
134
135         * WebCore.gyp/WebCore.gyp:
136         * WebCore.gypi:
137         * bindings/js/ScriptControllerBrew.cpp: Removed.
138         * editing/brew: Removed.
139         * editing/brew/EditorBrew.cpp: Removed.
140         * gyp/WebCore.gyp:
141         * page/brew: Removed.
142         * page/brew/ChromeClientBrew.h: Removed.
143         * page/brew/DragControllerBrew.cpp: Removed.
144         * page/brew/EventHandlerBrew.cpp: Removed.
145         * page/brew/FrameBrew.cpp: Removed.
146         * platform/brew: Removed.
147         * platform/brew/ClipboardBrew.cpp: Removed.
148         * platform/brew/ClipboardBrew.h: Removed.
149         * platform/brew/ContextMenuBrew.cpp: Removed.
150         * platform/brew/ContextMenuItemBrew.cpp: Removed.
151         * platform/brew/CursorBrew.cpp: Removed.
152         * platform/brew/DragDataBrew.cpp: Removed.
153         * platform/brew/EventLoopBrew.cpp: Removed.
154         * platform/brew/FileSystemBrew.cpp: Removed.
155         * platform/brew/KURLBrew.cpp: Removed.
156         * platform/brew/LanguageBrew.cpp: Removed.
157         * platform/brew/LocalizedStringsBrew.cpp: Removed.
158         * platform/brew/LoggingBrew.cpp: Removed.
159         * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
160         * platform/brew/PasteboardBrew.cpp: Removed.
161         * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
162         * platform/brew/PlatformMouseEventBrew.cpp: Removed.
163         * platform/brew/PlatformTouchEventBrew.cpp: Removed.
164         * platform/brew/PlatformTouchPointBrew.cpp: Removed.
165         * platform/brew/PopupMenuBrew.cpp: Removed.
166         * platform/brew/PopupMenuBrew.h: Removed.
167         * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
168         * platform/brew/ScreenBrew.cpp: Removed.
169         * platform/brew/ScrollbarThemeBrew.cpp: Removed.
170         * platform/brew/ScrollbarThemeBrew.h: Removed.
171         * platform/brew/SearchPopupMenuBrew.cpp: Removed.
172         * platform/brew/SearchPopupMenuBrew.h: Removed.
173         * platform/brew/SharedBufferBrew.cpp: Removed.
174         * platform/brew/SharedTimerBrew.cpp: Removed.
175         * platform/brew/SoundBrew.cpp: Removed.
176         * platform/brew/SystemTimeBrew.cpp: Removed.
177         * platform/brew/TemporaryLinkStubs.cpp: Removed.
178         * platform/brew/WidgetBrew.cpp: Removed.
179         * platform/graphics/brew: Removed.
180         * platform/graphics/brew/IconBrew.cpp: Removed.
181         * platform/graphics/brew/ImageBrew.cpp: Removed.
182         * platform/graphics/brew/IntPointBrew.cpp: Removed.
183         * platform/graphics/brew/IntSizeBrew.cpp: Removed.
184         * platform/network/brew: Removed.
185         * platform/network/brew/DNSBrew.cpp: Removed.
186         * platform/network/brew/SocketStreamError.h: Removed.
187         * platform/network/brew/SocketStreamHandle.h: Removed.
188         * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
189         * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
190         * platform/text/brew: Removed.
191         * platform/text/brew/TextBoundariesBrew.cpp: Removed.
192         * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
193         * platform/text/brew/TextCodecBrew.cpp: Removed.
194         * platform/text/brew/TextCodecBrew.h: Removed.
195
196 2011-09-25  Kentaro Hara  <haraken@chromium.org>
197
198         Implement a CloseEvent constructor for JSC
199         https://bugs.webkit.org/show_bug.cgi?id=68340
200
201         Reviewed by Oliver Hunt.
202
203         The spec of the CloseEvent constructor is here:
204         http://dev.w3.org/html5/websockets/#closeevent
205
206         Test: fast/events/constructors/close-event-constructor.html
207
208         * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
209         * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
210         * websockets/CloseEvent.h: Added a definition for CloseEventInit.
211         (WebCore::CloseEventInit::CloseEventInit):
212         (WebCore::CloseEvent::create):
213         (WebCore::CloseEvent::CloseEvent):
214         * websockets/CloseEvent.idl: Makes CloseEvent constructible.
215
216 2011-09-25  Mark Rowe  <mrowe@apple.com>
217
218         <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
219
220         It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
221         When that happens we should immediately return to waiting rather than doing our normal work, as some of that
222         work relies on wakeSyncThread having been called to signal the condition.
223
224         Reviewed by Sam Weinig.
225
226         * loader/icon/IconDatabase.cpp:
227         (WebCore::IconDatabase::IconDatabase):
228         (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
229         (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
230         go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
231         do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
232         our local shouldReenableSuddenTermination variable since it can be updated by other threads while
233         we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
234         and reacquiring the lock.
235         * loader/icon/IconDatabase.h:
236
237 2011-09-25  Dan Bernstein  <mitz@apple.com>
238
239         <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
240
241         Reviewed by Sam Weinig.
242
243         Test: fast/dynamic/subtree-unrooted.html
244
245         * rendering/RenderObject.cpp:
246         (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
247         which was added in r21162, with a check that it is “rooted”.
248
249 2011-09-24  Abhishek Arya  <inferno@chromium.org>
250
251         Issues with merging block children of a ruby
252         base with another ruby base having inline children. 
253         https://bugs.webkit.org/show_bug.cgi?id=66124
254
255         Reviewed by Dan Bernstein.
256
257         Test: fast/ruby/ruby-base-merge-block-children-crash.html
258
259         * rendering/RenderRubyBase.cpp:
260         (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
261         check to prevent empty anonymous block addition, just like
262         moveBlockChildren method.
263         * rendering/RenderRubyBase.cpp:
264         (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
265         doing optimizations to see if current ruby base has only inline
266         children before beforeChild and then trying to take out them from 
267         their parent anonymous blocks. The problem is those inlines could
268         be split and have continuations because of encountering a block
269         inside inline flow. In those cases, we cannot take the inline out.
270         So, we should just make children non-inline in the destination
271         block and transfer the children as it-is.
272         * rendering/RenderRubyBase.h: remove unncessary functions.
273
274 2011-09-25  Adam Barth  <abarth@webkit.org>
275
276         Remove PLATFORM(HAIKU) and associated code
277         https://bugs.webkit.org/show_bug.cgi?id=68774
278
279         Reviewed by Sam Weinig.
280
281         As discussed on webkit-dev, the Haiku port has been inactive for over a
282         year.  A year and a half ago, we discussed removing the port, but folks
283         said they planned to work on it more.  That work does not appear to
284         have happened in the intervening time.
285
286         * WebCore.gyp/WebCore.gyp:
287         * WebCore.gypi:
288         * bindings/js/ScriptControllerHaiku.cpp: Removed.
289         * editing/haiku: Removed.
290         * editing/haiku/EditorHaiku.cpp: Removed.
291         * gyp/WebCore.gyp:
292         * loader/cache/CachedFont.cpp:
293         * page/EventHandler.cpp:
294         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
295         * page/haiku: Removed.
296         * page/haiku/DragControllerHaiku.cpp: Removed.
297         * page/haiku/EventHandlerHaiku.cpp: Removed.
298         * page/haiku/FrameHaiku.cpp: Removed.
299         * platform/ContextMenuItem.h:
300         * platform/Cursor.h:
301         * platform/DragData.h:
302         * platform/DragImage.h:
303         * platform/PlatformKeyboardEvent.h:
304         * platform/PlatformMenuDescription.h:
305         * platform/PlatformMouseEvent.h:
306         * platform/Widget.h:
307         * platform/graphics/BitmapImage.h:
308         * platform/graphics/Color.h:
309         * platform/graphics/FloatPoint.h:
310         * platform/graphics/FloatRect.h:
311         * platform/graphics/Gradient.h:
312         * platform/graphics/GraphicsContext.cpp:
313         * platform/graphics/GraphicsContext.h:
314         * platform/graphics/ImageBufferData.h:
315         * platform/graphics/ImageSource.h:
316         * platform/graphics/IntPoint.h:
317         * platform/graphics/IntRect.h:
318         * platform/graphics/IntSize.h:
319         * platform/graphics/Path.h:
320         * platform/graphics/Pattern.h:
321         * platform/graphics/SimpleFontData.h:
322         * platform/graphics/haiku: Removed.
323         * platform/graphics/haiku/ColorHaiku.cpp: Removed.
324         * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
325         * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
326         * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
327         * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
328         * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
329         * platform/graphics/haiku/FontHaiku.cpp: Removed.
330         * platform/graphics/haiku/FontPlatformData.h: Removed.
331         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
332         * platform/graphics/haiku/GradientHaiku.cpp: Removed.
333         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
334         * platform/graphics/haiku/IconHaiku.cpp: Removed.
335         * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
336         * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
337         * platform/graphics/haiku/ImageHaiku.cpp: Removed.
338         * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
339         * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
340         * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
341         * platform/graphics/haiku/PathHaiku.cpp: Removed.
342         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
343         * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
344         * platform/graphics/haiku/StillImageHaiku.h: Removed.
345         * platform/haiku: Removed.
346         * platform/haiku/ClipboardHaiku.cpp: Removed.
347         * platform/haiku/ClipboardHaiku.h: Removed.
348         * platform/haiku/ContextMenuHaiku.cpp: Removed.
349         * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
350         * platform/haiku/CookieJarHaiku.cpp: Removed.
351         * platform/haiku/CursorHaiku.cpp: Removed.
352         * platform/haiku/DragDataHaiku.cpp: Removed.
353         * platform/haiku/DragImageHaiku.cpp: Removed.
354         * platform/haiku/EventLoopHaiku.cpp: Removed.
355         * platform/haiku/FileSystemHaiku.cpp: Removed.
356         * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
357         * platform/haiku/LoggingHaiku.cpp: Removed.
358         * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
359         * platform/haiku/PasteboardHaiku.cpp: Removed.
360         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
361         * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
362         * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
363         * platform/haiku/PopupMenuHaiku.cpp: Removed.
364         * platform/haiku/PopupMenuHaiku.h: Removed.
365         * platform/haiku/RenderThemeHaiku.cpp: Removed.
366         * platform/haiku/RenderThemeHaiku.h: Removed.
367         * platform/haiku/ScreenHaiku.cpp: Removed.
368         * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
369         * platform/haiku/ScrollbarThemeHaiku.h: Removed.
370         * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
371         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
372         * platform/haiku/SharedBufferHaiku.cpp: Removed.
373         * platform/haiku/SharedTimerHaiku.cpp: Removed.
374         * platform/haiku/SoundHaiku.cpp: Removed.
375         * platform/haiku/TemporaryLinkStubs.cpp: Removed.
376         * platform/haiku/WidgetHaiku.cpp: Removed.
377         * platform/image-decoders/haiku: Removed.
378         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
379         * platform/text/UnicodeRange.h:
380         * platform/text/haiku: Removed.
381         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
382
383 2011-09-25  Adam Barth  <abarth@webkit.org>
384
385         Attempted build fixes for GTK and Qt.
386
387         * GNUmakefile.list.am:
388         * WebCore.pro:
389
390 2011-09-24  Adam Barth  <abarth@webkit.org>
391
392         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
393         https://bugs.webkit.org/show_bug.cgi?id=68767
394
395         Reviewed by Eric Seidel.
396
397         As discussed on webkit-dev, almost everyone has this enable turned on
398         and this feature is unlikely to be removed from the web platform given
399         its popularity.
400
401         * CMakeLists.txt:
402         * Configurations/FeatureDefines.xcconfig:
403         * GNUmakefile.am:
404         * GNUmakefile.list.am:
405         * WebCore.exp.in:
406         * WebCore.pro:
407         * bindings/cpp/WebDOMEventTarget.cpp:
408         (toWebKit):
409         * bindings/js/JSEventTarget.cpp:
410         (WebCore::toJS):
411         (WebCore::toEventTarget):
412         * bindings/v8/V8DOMWrapper.cpp:
413         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
414         * dom/EventTarget.cpp:
415         (WebCore::EventTarget::toDOMApplicationCache):
416         * dom/EventTarget.h:
417         * features.pri:
418         * history/PageCache.cpp:
419         (WebCore::logCanCacheFrameDecision):
420         (WebCore::PageCache::canCachePageContainingThisFrame):
421         * html/HTMLHtmlElement.cpp:
422         (WebCore::HTMLHtmlElement::insertedByParser):
423         * html/HTMLHtmlElement.h:
424         * html/HTMLMediaElement.cpp:
425         (WebCore::createFileURLForApplicationCacheResource):
426         (WebCore::HTMLMediaElement::loadResource):
427         * html/ImageDocument.cpp:
428         (WebCore::ImageDocument::createDocumentStructure):
429         * html/MediaDocument.cpp:
430         (WebCore::MediaDocumentParser::createDocumentStructure):
431         * html/PluginDocument.cpp:
432         (WebCore::PluginDocumentParser::createDocumentStructure):
433         * html/parser/HTMLConstructionSite.cpp:
434         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
435         * inspector/InspectorApplicationCacheAgent.cpp:
436         * inspector/InspectorApplicationCacheAgent.h:
437         * inspector/InspectorController.cpp:
438         (WebCore::InspectorController::InspectorController):
439         (WebCore::InspectorController::connectFrontend):
440         (WebCore::InspectorController::disconnectFrontend):
441         * inspector/InspectorController.h:
442         * inspector/InspectorInstrumentation.cpp:
443         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
444         * inspector/InspectorInstrumentation.h:
445         (WebCore::InspectorInstrumentation::networkStateChanged):
446         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
447         * inspector/InstrumentingAgents.h:
448         (WebCore::InstrumentingAgents::InstrumentingAgents):
449         (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
450         * inspector/WorkerInspectorController.cpp:
451         (WebCore::WorkerInspectorController::connectFrontend):
452         * inspector/generate-inspector-idl:
453         * loader/DocumentLoader.cpp:
454         (WebCore::DocumentLoader::DocumentLoader):
455         (WebCore::DocumentLoader::mainReceivedError):
456         (WebCore::DocumentLoader::stopLoading):
457         (WebCore::DocumentLoader::detachFromFrame):
458         (WebCore::DocumentLoader::handledOnloadEvents):
459         * loader/DocumentLoader.h:
460         (WebCore::DocumentLoader::applicationCacheHost):
461         * loader/EmptyClients.h:
462         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
463         * loader/FrameLoader.cpp:
464         (WebCore::FrameLoader::loadResourceSynchronously):
465         * loader/MainResourceLoader.cpp:
466         (WebCore::MainResourceLoader::willSendRequest):
467         (WebCore::MainResourceLoader::didReceiveResponse):
468         (WebCore::MainResourceLoader::didReceiveData):
469         (WebCore::MainResourceLoader::didFinishLoading):
470         (WebCore::MainResourceLoader::didFail):
471         (WebCore::MainResourceLoader::load):
472         * loader/ResourceLoader.cpp:
473         (WebCore::ResourceLoader::start):
474         (WebCore::ResourceLoader::willSendRequest):
475         (WebCore::ResourceLoader::didSendData):
476         (WebCore::ResourceLoader::didReceiveResponse):
477         (WebCore::ResourceLoader::didReceiveData):
478         (WebCore::ResourceLoader::didFinishLoading):
479         (WebCore::ResourceLoader::didFail):
480         (WebCore::ResourceLoader::wasBlocked):
481         (WebCore::ResourceLoader::cannotShowURL):
482         (WebCore::ResourceLoader::shouldUseCredentialStorage):
483         (WebCore::ResourceLoader::willCacheResponse):
484         * loader/ResourceLoader.h:
485         * loader/appcache/ApplicationCache.cpp:
486         * loader/appcache/ApplicationCache.h:
487         * loader/appcache/ApplicationCacheGroup.cpp:
488         * loader/appcache/ApplicationCacheGroup.h:
489         * loader/appcache/ApplicationCacheHost.cpp:
490         * loader/appcache/ApplicationCacheHost.h:
491         * loader/appcache/ApplicationCacheResource.cpp:
492         * loader/appcache/ApplicationCacheResource.h:
493         * loader/appcache/ApplicationCacheStorage.cpp:
494         * loader/appcache/ApplicationCacheStorage.h:
495         * loader/appcache/DOMApplicationCache.cpp:
496         * loader/appcache/DOMApplicationCache.h:
497         * loader/appcache/DOMApplicationCache.idl:
498         * loader/appcache/ManifestParser.cpp:
499         (WebCore::parseManifest):
500         * loader/appcache/ManifestParser.h:
501         * loader/chromium/ResourceLoaderChromium.cpp:
502         (WebCore::ResourceLoader::didDownloadData):
503         * page/ChromeClient.h:
504         * page/DOMWindow.cpp:
505         (WebCore::DOMWindow::clear):
506         (WebCore::DOMWindow::applicationCache):
507         * page/DOMWindow.h:
508         (WebCore::DOMWindow::optionalApplicationCache):
509         * page/DOMWindow.idl:
510         * xml/parser/XMLDocumentParserLibxml2.cpp:
511         (WebCore::XMLDocumentParser::startElementNs):
512         * xml/parser/XMLDocumentParserQt.cpp:
513         (WebCore::XMLDocumentParser::parseStartElement):
514
515 2011-09-24  Adam Barth  <abarth@webkit.org>
516
517         Remove ENABLE(WCSS) and associated code
518         https://bugs.webkit.org/show_bug.cgi?id=68759
519
520         Reviewed by Darin Adler.
521
522         As discussed on webkit-dev, we are removing this feature from trunk to
523         reduce the number of different configurations.
524
525         * CodeGenerators.pri:
526         * GNUmakefile.am:
527         * WebCore.pro:
528         * css/CSSParser.cpp:
529         (WebCore::CSSParser::parseValue):
530         * css/CSSParser.h:
531         * css/CSSPrimitiveValueMappings.h:
532         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
533         * css/CSSStyleSelector.cpp:
534         (WebCore::CSSStyleSelector::applyProperty):
535         * css/WCSSPropertyNames.in: Removed.
536         * css/WCSSValueKeywords.in: Removed.
537         * features.pri:
538         * html/HTMLInputElement.cpp:
539         (WebCore::HTMLInputElement::HTMLInputElement):
540         * html/HTMLInputElement.h:
541         * html/TextFieldInputType.cpp:
542         (WebCore::TextFieldInputType::sanitizeValue):
543         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
544         * rendering/RenderMarquee.cpp:
545         (WebCore::RenderMarquee::start):
546         * rendering/RenderObject.cpp:
547         (WebCore::RenderObject::createObject):
548         * rendering/style/RenderStyleConstants.h:
549
550 2011-09-24  Young Han Lee  <joybro@company100.net>
551
552         SVGAnimation does not support 'values' for from-to animations
553         https://bugs.webkit.org/show_bug.cgi?id=64859
554
555         Reviewed by Dirk Schulze.
556
557         If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
558         the keyTimes indicate the begin and the end of the animation respectively.[1][2]
559
560         When keyTimes is given, calculate the progress percentage of the animation with it
561         even for from-to animation.
562
563         [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
564         [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
565
566         Test: svg/animations/animate-from-to-keyTimes.html
567
568         * svg/SVGAnimationElement.cpp:
569         (WebCore::SVGAnimationElement::calculatePercentForFromTo):
570         (WebCore::SVGAnimationElement::updateAnimation):
571         * svg/SVGAnimationElement.h:
572
573 2011-09-23  Chris Fleizach  <cfleizach@apple.com>
574
575         WebKit does not expose AXPlaceholder value on password fields
576         https://bugs.webkit.org/show_bug.cgi?id=68745
577
578         Reviewed by Oliver Hunt.
579
580         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
581         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
582
583 2011-09-23  Mark Rowe  <mrowe@apple.com>
584
585         Fix the build.
586
587         * loader/CrossOriginAccessControl.cpp:
588         (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
589
590 2011-09-23  Adam Barth  <abarth@webkit.org>
591
592         Canvas security checks show up on HTML5GamingTest benchmark
593         https://bugs.webkit.org/show_bug.cgi?id=68743
594
595         Reviewed by Oliver Hunt.
596
597         Prior to this patch, the canvas security checks took as much as 4% of
598         the time on the HTML5GamingTest benchmark:
599
600         http://craftymind.com/factory/guimark2/HTML5GamingTest.html
601
602         This patch uses a couple of AtomicStrings and shuffles around the order
603         of the security check to take this down to around 0.1% (which is near
604         the noise floor of what I can measure with my profiler).
605
606         * html/canvas/CanvasRenderingContext.cpp:
607         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
608         * loader/CrossOriginAccessControl.cpp:
609         (WebCore::passesAccessControlCheck):
610
611 2011-09-23  Justin Novosad  <junov@chromium.org>
612
613         Unwarranted DOM Exception when canvas2D drawImage is called with src
614         rect out of bounds
615         https://bugs.webkit.org/show_bug.cgi?id=65709
616
617         Reviewed by Oliver Hunt.
618
619         * html/canvas/CanvasRenderingContext2D.cpp:
620         (WebCore::CanvasRenderingContext2D::drawImage):
621         Return early without throwing an exception if source rectangle is out of 
622         bounds to match the spec.
623
624 2011-09-23  Lukasz Slachciak  <l.slachciak@samsung.com>
625
626         Printing of notImplemented() when logging enabled.
627         https://bugs.webkit.org/show_bug.cgi?id=64590
628
629         Printing of notImplemented() method was enabled on Debug builds only.
630         Now it is enabled when logging is enabled.
631
632         Reviewed by Oliver Hunt.
633
634         No new tests because there is no new functionality.
635
636         * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
637
638 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
639
640         [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
641         https://bugs.webkit.org/show_bug.cgi?id=68730
642
643         Reviewed by James Robinson.
644
645         Adds a missing contentsResized() call in ScrollView::setFrameRect.
646
647         Test: fast/dom/Window/window-resize-contents.html
648
649         * platform/ScrollView.cpp:
650         (WebCore::ScrollView::setFrameRect):
651
652 2011-09-23  Adam Klein  <adamk@chromium.org>
653
654         Add ENABLE_MUTATION_OBSERVERS feature flag
655         https://bugs.webkit.org/show_bug.cgi?id=68732
656
657         Reviewed by Ojan Vafai.
658
659         This flag will guard an implementation of the "Mutation Observers" proposed in
660         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
661
662         * Configurations/FeatureDefines.xcconfig:
663         * GNUmakefile.am:
664
665 2011-09-23  Varun Jain  <varunjain@google.com>
666
667         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
668         https://bugs.webkit.org/show_bug.cgi?id=68198
669
670         Reviewed by Dimitri Glazkov.
671
672         Tests: fast/dom/scroll-element-to-rect-centered.html
673                fast/dom/scroll-element-to-rect.html
674
675         * WebCore.exp.in:
676         * page/FrameView.cpp:
677         (WebCore::FrameView::scrollElementToRect):
678         * page/FrameView.h:
679         * testing/Internals.cpp:
680         (WebCore::Internals::scrollElementToRect):
681         * testing/Internals.h:
682         * testing/Internals.idl:
683
684 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
685
686         Unreviewed, rolling out r95860.
687         http://trac.webkit.org/changeset/95860
688         https://bugs.webkit.org/show_bug.cgi?id=68648
689
690         Breaks overhang rendering on Chromium Mac
691
692         * platform/chromium/ScrollbarThemeChromium.cpp:
693         * platform/chromium/ScrollbarThemeChromium.h:
694         * platform/chromium/ScrollbarThemeChromiumMac.h:
695         * platform/chromium/ScrollbarThemeChromiumMac.mm:
696         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
697         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
698
699 2011-09-23  Dean Jackson  <dino@apple.com>
700
701         Add -webkit-filter to CSSPropertyNames
702         https://bugs.webkit.org/show_bug.cgi?id=68675
703
704         Reviewed by Simon Fraser.
705
706         Add property and rudimentary parsing for -webkit-filter. The
707         property value isn't preserved anywhere yet. Add
708         stub definition for computed style.
709
710         Test: css3/filters/filter-property.html
711
712         * css/CSSComputedStyleDeclaration.cpp:
713         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
714         * css/CSSParser.cpp:
715         (WebCore::CSSParser::parseValue):
716         (WebCore::CSSParser::parseFilter):
717         * css/CSSParser.h:
718         * css/CSSPropertyNames.in:
719         * css/CSSStyleSelector.cpp:
720         (WebCore::CSSStyleSelector::applyProperty):
721
722 2011-09-23  Antoine Labour  <piman@chromium.org>
723
724         Remove preserves3D() from CCLayerDelegate, replacing it by setting the
725         value explicitly after creating a layer, or setting its delegate.
726         https://bugs.webkit.org/show_bug.cgi?id=68295
727
728         Reviewed by James Robinson.
729
730         Covered by compositing/ layeout tests.
731
732         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
733         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
734         (WebCore::GraphicsLayerChromium::setContentsToMedia):
735         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
736         (WebCore::GraphicsLayerChromium::setupContentsLayer):
737         * platform/graphics/chromium/GraphicsLayerChromium.h:
738         * platform/graphics/chromium/LayerChromium.cpp:
739         (WebCore::LayerChromium::LayerChromium):
740         * platform/graphics/chromium/LayerChromium.h:
741         (WebCore::LayerChromium::setPreserves3D):
742         (WebCore::LayerChromium::preserves3D):
743
744 2011-09-23  Julien Chaffraix  <jchaffraix@webkit.org>
745
746         Implicit conversion double to float in ShadowBlur::adjustBlurRadius
747         https://bugs.webkit.org/show_bug.cgi?id=68722
748
749         Reviewed by Simon Fraser.
750
751         * platform/graphics/ShadowBlur.cpp:
752         (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
753         conversions.
754
755 2011-09-23  Dan Bernstein  <mitz@apple.com>
756
757         <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
758         https://bugs.webkit.org/show_bug.cgi?id=68737
759
760         Reviewed by Darin Adler.
761
762         Test: fast/text/combining-character-sequence-fallback-crash.html
763
764         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
765         (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
766         number of FontData instances in the fallback list rather than the number of font families in the
767         font description.
768
769 2011-09-23  David Reveman  <reveman@chromium.org>
770
771         [Chromium] Fix CSS 3D corner anti-aliasing.
772         https://bugs.webkit.org/show_bug.cgi?id=68087
773
774         Reviewed by James Robinson.
775
776         Render sharp corners more correctly by adding bounding box
777         edges to anti-aliasing shaders.
778
779         Test: platform/chromium/compositing/3d-corners.html
780
781         * platform/graphics/chromium/ShaderChromium.cpp:
782         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
783         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
784         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
785         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
786         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
787         (WebCore::CCRenderSurface::drawLayer):
788         (WebCore::CCRenderSurface::drawSurface):
789         * platform/graphics/chromium/cc/CCRenderSurface.h:
790         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
791         (WebCore::CCTiledLayerImpl::draw):
792         (WebCore::CCTiledLayerImpl::drawTiles):
793         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
794
795 2011-09-23  Oliver Hunt  <oliver@apple.com>
796
797         Make write barriers actually do something when enabled
798         https://bugs.webkit.org/show_bug.cgi?id=68717
799
800         Reviewed by Geoffrey Garen.
801
802         Add a forwarding header, and fix an evaluation ordering
803         issue that shows up if you try to use write barriers.
804
805         * ForwardingHeaders/heap/CardSet.h: Added.
806         * bindings/js/JSEventListener.h:
807         (WebCore::JSEventListener::jsFunction):
808
809 2011-09-23  James Robinson  <jamesr@chromium.org>
810
811         Avoid updating compositing state during paint
812         https://bugs.webkit.org/show_bug.cgi?id=68727
813
814         Reviewed by Simon Fraser.
815
816         We shouldn't update our compositing state in the middle of a paint. The call to
817         updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
818         fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
819
820         * rendering/RenderLayer.cpp:
821         (WebCore::RenderLayer::paintLayer):
822         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
823         * rendering/RenderLayerCompositor.cpp:
824         (WebCore::RenderLayerCompositor::updateCompositingLayers):
825         * rendering/RenderLayerCompositor.h:
826
827 2011-09-23  Fady Samuel  <fsamuel@chromium.org>
828
829         Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
830         https://bugs.webkit.org/show_bug.cgi?id=68648
831
832         Reviewed by Dimitri Glazkov.
833
834         No new tests because there's no change in functionality (yet).
835
836         * platform/chromium/ScrollbarThemeChromium.cpp:
837         (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
838         (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
839         (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
840         * platform/chromium/ScrollbarThemeChromium.h:
841         * platform/chromium/ScrollbarThemeChromiumMac.h:
842         * platform/chromium/ScrollbarThemeChromiumMac.mm:
843         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
844
845 2011-09-23  Ojan Vafai  <ojan@chromium.org>
846
847         remove physical flex-flow values to match the updated spec
848         https://bugs.webkit.org/show_bug.cgi?id=68728
849
850         Reviewed by Tony Chang.
851
852         * css/CSSParser.cpp:
853         (WebCore::CSSParser::parseValue):
854         * css/CSSPrimitiveValueMappings.h:
855         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
856         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
857         * css/CSSValueKeywords.in:
858         * rendering/style/RenderStyleConstants.h:
859
860 2011-09-23  Abhishek Arya  <inferno@chromium.org>
861
862         Style not updated for :before, :after content
863         in ruby text.
864         https://bugs.webkit.org/show_bug.cgi?id=68625
865
866         Reviewed by Dave Hyatt.
867
868         Test: fast/ruby/ruby-text-before-after-content.html
869
870         * rendering/RenderRubyText.cpp:
871         (WebCore::RenderRubyText::updateBeforeAfterContent):
872         * rendering/RenderRubyText.h:
873
874 2011-09-22  Ojan Vafai  <ojan@chromium.org>
875
876         refactor RenderFlexibleBox to use flex-flow aware methods
877         https://bugs.webkit.org/show_bug.cgi?id=68665
878
879         Reviewed by Tony Chang.
880
881         This is just a refactor. Just move the all the code that needs to
882         be flow aware into helper functions. Actually making them flow-aware
883         can be done in a followup patch.
884
885         * rendering/RenderBlock.cpp:
886         * rendering/RenderBlock.h:
887         Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
888         * rendering/RenderFlexibleBox.cpp:
889         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
890         (WebCore::RenderFlexibleBox::isHorizontalFlow):
891         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
892         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
893         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
894         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
895         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
896         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
897         (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
898         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
899         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
900         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
901         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
902         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
903         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
904         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
905         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
906         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
907         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
908         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
909         (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
910         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
911         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
912         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
913         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
914         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
915         (WebCore::RenderFlexibleBox::layoutInlineDirection):
916         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
917         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
918         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
919         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
920         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
921         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
922         * rendering/RenderFlexibleBox.h:
923
924 2011-09-23  David Hyatt  <hyatt@apple.com>
925
926         https://bugs.webkit.org/show_bug.cgi?id=68719
927         
928         Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
929         columns, when regions have a non-uniform height, we may need to push through multiple regions
930         in order to find one that fits.
931         
932         Added an optimization for quickly noticing if regions do have a uniform height so that we can
933         treat them like columns and pages if so.
934
935         Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
936         layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
937         the new tests.
938
939         Reviewed by Anders Carlsson.
940
941         Added new tests in fast/regions.
942
943         * rendering/RenderBlock.cpp:
944         (WebCore::RenderBlock::adjustForUnsplittableChild):
945         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
946         (WebCore::RenderBlock::adjustLinePositionForPagination):
947         * rendering/RenderBlock.h:
948         * rendering/RenderBlockLineLayout.cpp:
949         (WebCore::RenderBlock::matchedEndLine):
950         * rendering/RenderFlowThread.cpp:
951         (WebCore::RenderFlowThread::RenderFlowThread):
952         (WebCore::RenderFlowThread::layout):
953         * rendering/RenderFlowThread.h:
954
955 2011-09-23  Konstantin Scheglov  <scheglov@google.com>
956
957         Redrawing dirty parts of a large table is very slow
958         https://bugs.webkit.org/show_bug.cgi?id=64546
959
960         Reviewed by David Hyatt.
961
962         Move CollapsedBorderValues into RenderTable.h.
963         Calculate collapsed borders only once and re-use during paintObject().
964         Invalidate cache when cell, row, row group, col, col group or table border is changed.
965
966         Tests: fast/table/border-collapsing/cached-cell-append.html
967                fast/table/border-collapsing/cached-cell-remove.html
968                fast/table/border-collapsing/cached-change-cell-border-color.html
969                fast/table/border-collapsing/cached-change-cell-border-width.html
970                fast/table/border-collapsing/cached-change-col-border-color.html
971                fast/table/border-collapsing/cached-change-col-border-width.html
972                fast/table/border-collapsing/cached-change-colgroup-border-color.html
973                fast/table/border-collapsing/cached-change-colgroup-border-width.html
974                fast/table/border-collapsing/cached-change-row-border-color.html
975                fast/table/border-collapsing/cached-change-row-border-width.html
976                fast/table/border-collapsing/cached-change-table-border-color.html
977                fast/table/border-collapsing/cached-change-table-border-width.html
978                fast/table/border-collapsing/cached-change-tbody-border-color.html
979                fast/table/border-collapsing/cached-change-tbody-border-width.html
980
981         * rendering/RenderTable.cpp:
982         (WebCore::RenderTable::RenderTable):
983         (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
984         (WebCore::RenderTable::layout): Invalidate cache if layout changed.
985         (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
986         (WebCore::RenderTable::paintObject): Use cached collapsed borders.
987         * rendering/RenderTable.h:
988         (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
989         (WebCore::RenderTable::currentBorderValue): Rename to use word "value".
990         * rendering/RenderTableCell.cpp:
991         (WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
992
993         Rename to use word "value".
994         (WebCore::addBorderStyle):
995         (WebCore::RenderTableCell::collectBorderValues):
996         (WebCore::compareBorderValuesForQSort):
997         (WebCore::RenderTableCell::sortBorderValues):
998         (WebCore::RenderTableCell::paintCollapsedBorder):
999         * rendering/RenderTableCell.h:
1000         
1001         If border changed, invalidate cache.
1002         * rendering/RenderTableCol.cpp:
1003         (WebCore::RenderTableCol::styleDidChange):
1004         * rendering/RenderTableCol.h:
1005         * rendering/RenderTableRow.cpp:
1006         (WebCore::RenderTableRow::styleDidChange):
1007         * rendering/RenderTableSection.cpp:
1008         (WebCore::RenderTableSection::styleDidChange):
1009
1010 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
1011
1012         Add static version of JSCell::visitChildren
1013         https://bugs.webkit.org/show_bug.cgi?id=68404
1014
1015         Reviewed by Darin Adler.
1016
1017         No new tests.
1018
1019         In this patch we just extract the bodies of the virtual visitChildren methods
1020         throughout the JSCell inheritance hierarchy out into static methods, which are 
1021         now called from the virtual methods.  This is an intermediate step in trying to 
1022         move the virtual-ness of visitChildren into our own custom vtable stored in 
1023         ClassInfo.  We need to convert the methods to static methods in order to be 
1024         able to more easily store and refer to them in our custom vtable since normal 
1025         member methods store some implicit information in their types, making it 
1026         impossible to store them generically in ClassInfo.
1027
1028         * WebCore.exp.in:
1029         * bindings/js/JSAttrCustom.cpp:
1030         (WebCore::JSAttr::visitChildrenVirtual):
1031         (WebCore::JSAttr::visitChildren):
1032         * bindings/js/JSAudioContextCustom.cpp:
1033         (WebCore::JSAudioContext::visitChildrenVirtual):
1034         (WebCore::JSAudioContext::visitChildren):
1035         * bindings/js/JSCSSRuleCustom.cpp:
1036         (WebCore::JSCSSRule::visitChildrenVirtual):
1037         (WebCore::JSCSSRule::visitChildren):
1038         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1039         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
1040         (WebCore::JSCSSStyleDeclaration::visitChildren):
1041         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1042         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
1043         (WebCore::JSCanvasRenderingContext::visitChildren):
1044         * bindings/js/JSDOMGlobalObject.cpp:
1045         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
1046         (WebCore::JSDOMGlobalObject::visitChildren):
1047         * bindings/js/JSDOMGlobalObject.h:
1048         * bindings/js/JSDOMWindowCustom.cpp:
1049         (WebCore::JSDOMWindow::visitChildrenVirtual):
1050         (WebCore::JSDOMWindow::visitChildren):
1051         * bindings/js/JSDOMWindowShell.cpp:
1052         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
1053         (WebCore::JSDOMWindowShell::visitChildren):
1054         * bindings/js/JSDOMWindowShell.h:
1055         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1056         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
1057         (WebCore::JSJavaScriptAudioNode::visitChildren):
1058         * bindings/js/JSMessageChannelCustom.cpp:
1059         (WebCore::JSMessageChannel::visitChildrenVirtual):
1060         (WebCore::JSMessageChannel::visitChildren):
1061         * bindings/js/JSMessagePortCustom.cpp:
1062         (WebCore::JSMessagePort::visitChildrenVirtual):
1063         (WebCore::JSMessagePort::visitChildren):
1064         * bindings/js/JSNamedNodeMapCustom.cpp:
1065         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
1066         (WebCore::JSNamedNodeMap::visitChildren):
1067         * bindings/js/JSNodeCustom.cpp:
1068         (WebCore::JSNode::visitChildrenVirtual):
1069         (WebCore::JSNode::visitChildren):
1070         * bindings/js/JSNodeFilterCustom.cpp:
1071         (WebCore::JSNodeFilter::visitChildrenVirtual):
1072         (WebCore::JSNodeFilter::visitChildren):
1073         * bindings/js/JSNodeIteratorCustom.cpp:
1074         (WebCore::JSNodeIterator::visitChildrenVirtual):
1075         (WebCore::JSNodeIterator::visitChildren):
1076         * bindings/js/JSSVGElementInstanceCustom.cpp:
1077         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
1078         (WebCore::JSSVGElementInstance::visitChildren):
1079         * bindings/js/JSSharedWorkerCustom.cpp:
1080         (WebCore::JSSharedWorker::visitChildrenVirtual):
1081         (WebCore::JSSharedWorker::visitChildren):
1082         * bindings/js/JSStyleSheetCustom.cpp:
1083         (WebCore::JSStyleSheet::visitChildrenVirtual):
1084         (WebCore::JSStyleSheet::visitChildren):
1085         * bindings/js/JSTreeWalkerCustom.cpp:
1086         (WebCore::JSTreeWalker::visitChildrenVirtual):
1087         (WebCore::JSTreeWalker::visitChildren):
1088         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1089         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
1090         (WebCore::JSWebGLRenderingContext::visitChildren):
1091         * bindings/js/JSWorkerContextCustom.cpp:
1092         (WebCore::JSWorkerContext::visitChildrenVirtual):
1093         (WebCore::JSWorkerContext::visitChildren):
1094         * bindings/js/JSXMLHttpRequestCustom.cpp:
1095         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
1096         (WebCore::JSXMLHttpRequest::visitChildren):
1097         * bindings/js/JSXPathResultCustom.cpp:
1098         (WebCore::JSXPathResult::visitChildrenVirtual):
1099         (WebCore::JSXPathResult::visitChildren):
1100         * bindings/scripts/CodeGeneratorJS.pm:
1101         (GenerateHeader):
1102         (GenerateImplementation):
1103         * bindings/scripts/test/JS/JSTestObj.cpp:
1104         (WebCore::JSTestObj::visitChildrenVirtual):
1105         (WebCore::JSTestObj::visitChildren):
1106         * bindings/scripts/test/JS/JSTestObj.h:
1107         * bridge/qt/qt_instance.cpp:
1108         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
1109         (JSC::Bindings::QtRuntimeObject::visitChildren):
1110         * bridge/qt/qt_runtime.cpp:
1111         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
1112         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
1113         * bridge/qt/qt_runtime.h:
1114         * workers/WorkerContext.h:
1115
1116 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
1117
1118         [GTK] Remove extra space at the beginning of the last line.
1119         https://bugs.webkit.org/show_bug.cgi?id=68710
1120
1121         Reviewed by Gustavo Noronha Silva.
1122
1123         * platform/network/soup/SocketStreamHandleSoup.cpp:
1124
1125 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
1126
1127         [GTK] Fix coding style issues in ResourceRequestSoup.cpp
1128         https://bugs.webkit.org/show_bug.cgi?id=68707
1129
1130         Reviewed by Xan Lopez.
1131
1132         This patch fixes some issues as reported by check-webkit-style.
1133
1134         * platform/network/soup/ResourceRequestSoup.cpp:
1135         (WebCore::ResourceRequest::updateFromSoupMessage):
1136
1137 2011-09-22  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
1138
1139         Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
1140
1141         Include MSVC2010 in the list of compilers where incremental
1142         build is disabled (INCREMENTAL:NO).
1143
1144         Change suggested by Simo Falt <simo.falt@nokia.com>, already present
1145         in the Qt-4.8 repository where the problem was identified.
1146
1147         * WebCore.pri:
1148
1149 2011-09-23  Darin Adler  <darin@apple.com>
1150
1151         Try to fix warning seen in some 32-bit builds.
1152
1153         * rendering/RenderBoxModelObject.cpp:
1154         (WebCore::backgroundRectAdjustedForBleedAvoidance):
1155         Use an explicit cast for the conversion from a double to a LayoutUnit.
1156
1157 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1158
1159         Web Inspector: Clicking on error doesn't point on the correct line if user searched something
1160         https://bugs.webkit.org/show_bug.cgi?id=68627
1161
1162         Reviewed by Yury Semikhatsky.
1163
1164         * inspector/front-end/SearchController.js:
1165         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
1166         * inspector/front-end/inspector.js:
1167         (WebInspector._showAnchorLocationInPanel):
1168
1169 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1170
1171         Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
1172         https://bugs.webkit.org/show_bug.cgi?id=68631
1173
1174         Reviewed by Yury Semikhatsky.
1175
1176         Test: http/tests/inspector/styles/styles-redirected-css.html
1177
1178         * inspector/InspectorStyleSheet.cpp:
1179         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1180
1181 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1182
1183         Web Inspector: XHRs requests with the same url as main resource should have correct category.
1184         https://bugs.webkit.org/show_bug.cgi?id=68646
1185
1186         Reviewed by Yury Semikhatsky.
1187
1188         Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
1189
1190         * inspector/InspectorResourceAgent.cpp:
1191         (WebCore::InspectorResourceAgent::didReceiveResponse):
1192
1193 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1194
1195         Web Inspector: Add context menu action to navigate from resources panel resource to network panel.
1196         https://bugs.webkit.org/show_bug.cgi?id=68657
1197
1198         Reviewed by Yury Semikhatsky.
1199
1200         * English.lproj/localizedStrings.js:
1201         * inspector/front-end/NetworkPanel.js:
1202         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1203         (WebInspector.NetworkPanel.prototype.revealAndHighlightResource):
1204         * inspector/front-end/ResourcesPanel.js:
1205         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
1206         (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
1207         * inspector/front-end/inspector.js:
1208         (WebInspector.openInNetworkPanelLabel):
1209         (WebInspector.openRequestInNetworkPanel):
1210
1211 2011-09-23  Deepak Sherveghar  <bpwv64@motorola.com>
1212
1213         [Gtk] Title attribute is not respected on option elements.
1214         https://bugs.webkit.org/show_bug.cgi?id=68615
1215
1216         Reviewed by Martin Robinson.
1217
1218         Set tooltip on PopupMenuGtk items created from GtkActions.
1219
1220         * platform/gtk/GtkPopupMenu.cpp:
1221         (WebCore::GtkPopupMenu::appendItem): Added a call to gtk_widget_set_tooltip_text()
1222             to set the tooltip on menuitem. Tooltip text is retrieved from GtkAction.
1223         * platform/gtk/PopupMenuGtk.cpp:
1224         (WebCore::PopupMenuGtk::createGtkActionForMenuItem): Pass the tooltip text
1225             from client when creating a GtkAction.
1226
1227 2011-09-23  Yael Aharon  <yael.aharon@nokia.com>
1228
1229         [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
1230         https://bugs.webkit.org/show_bug.cgi?id=68589
1231
1232         Reviewed by Philippe Normand.
1233
1234         Test: media/video-playing-and-pause.html
1235
1236         As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
1237         in MediaPlayerGstreamerPrivate::paused(). 
1238
1239         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1240         (WebCore::MediaPlayerPrivateGStreamer::paused):
1241
1242 2011-09-15  Pavel Podivilov  <podivilov@chromium.org>
1243
1244         Web Inspector: skip overlapping scripts when displaying concatenated content.
1245         https://bugs.webkit.org/show_bug.cgi?id=68144
1246
1247         Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
1248
1249         Reviewed by Pavel Feldman.
1250
1251         * inspector/front-end/SourceFile.js:
1252         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1253         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1254
1255 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
1256
1257         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
1258         https://bugs.webkit.org/show_bug.cgi?id=68312
1259
1260         Reviewed by Yury Semikhatsky.
1261
1262         * inspector/front-end/TimelinePanel.js:
1263         (WebInspector.TimelinePanel.prototype._createFileSelector):
1264
1265 2011-09-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1266
1267         Unreviewed, rolling out r95383.
1268         http://trac.webkit.org/changeset/95383
1269         https://bugs.webkit.org/show_bug.cgi?id=68690
1270
1271         It broke WebInspector.Timeline.LoadFromFile feature.
1272         (Requested by loislo on #webkit).
1273
1274         * inspector/front-end/TimelinePanel.js:
1275         (WebInspector.TimelinePanel.prototype._createFileSelector):
1276
1277 2011-09-23  Rob Buis  <rbuis@rim.com>
1278
1279         use after free in WebCore::SVGTRefElement::updateReferencedText
1280         https://bugs.webkit.org/show_bug.cgi?id=67555
1281
1282         Reviewed by Nikolas Zimmermann.
1283
1284         Event listeners can outlive the tref element that created them when
1285         the tref is cloned and then garbage collected, causing a dangling pointer to the
1286         tref. To fix this do not install event listener until the tref is inserted into the document.
1287
1288         Test: svg/custom/tref-clone-crash.html
1289
1290         * svg/SVGTRefElement.cpp:
1291         (WebCore::SVGTRefElement::svgAttributeChanged):
1292         (WebCore::SVGTRefElement::insertedIntoDocument):
1293         * svg/SVGTRefElement.h:
1294
1295 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1296
1297         ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
1298         https://bugs.webkit.org/show_bug.cgi?id=68291
1299
1300         Reviewed by Tony Chang.
1301
1302         * dom/Document.cpp:
1303         (WebCore::Document::finishedParsing):
1304         * inspector/InspectorInstrumentation.cpp:
1305         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1306         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
1307         * inspector/InspectorInstrumentation.h:
1308         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
1309         (WebCore::InspectorInstrumentation::loadEventFired):
1310         * page/DOMWindow.cpp:
1311         (WebCore::DOMWindow::dispatchLoadEvent):
1312
1313 2011-09-22  Tony Chang  <tony@chromium.org>
1314
1315         implement -webkit-flex-order
1316         https://bugs.webkit.org/show_bug.cgi?id=67432
1317
1318         Reviewed by Ojan Vafai.
1319
1320         flex-order can be an int (including negative), but we disallow the two
1321         smallest values so we can put the numbers into a hash set.
1322
1323         Also, create two iterators: one that goes in render tree order (we use
1324         this for the first pass and to collect the possible flex order values)
1325         and one that goes in flex order.
1326
1327         Test: css3/flexbox/flex-order.html
1328
1329         * css/CSSParser.cpp:
1330         (WebCore::CSSParser::parseValue):
1331         * rendering/RenderFlexibleBox.cpp:
1332         (WebCore::FlexOrderHashTraits::emptyValue):
1333         (WebCore::FlexOrderHashTraits::constructDeletedValue):
1334         (WebCore::FlexOrderHashTraits::isDeletedValue):
1335         (WebCore::RenderFlexibleBox::TreeOrderIterator::TreeOrderIterator): A simple iterator
1336             that goes in render tree order.
1337         (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
1338         (WebCore::RenderFlexibleBox::TreeOrderIterator::reset):
1339         (WebCore::RenderFlexibleBox::TreeOrderIterator::flexOrderValues):
1340         (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator): An iterator that
1341             goes in flex-order order.  Creating this involves sorting, so only create it once
1342             and pass it around.
1343         (WebCore::RenderFlexibleBox::FlexOrderIterator::first):
1344         (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
1345         (WebCore::RenderFlexibleBox::FlexOrderIterator::reset):
1346         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
1347         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1348         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
1349         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1350         * rendering/RenderFlexibleBox.h:
1351
1352 2011-09-22  Darin Adler  <darin@apple.com>
1353
1354         Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
1355         https://bugs.webkit.org/show_bug.cgi?id=68667
1356
1357         Reviewed by Simon Fraser.
1358
1359         * platform/graphics/ShadowBlur.cpp:
1360         (WebCore::ShadowBlur::adjustBlurRadius): Use AffineTransform::xScale and
1361         AffineTransform::yScale instead of the custom code here that seems to do
1362         the same thing.
1363
1364 2011-09-22  Darin Adler  <darin@apple.com>
1365
1366         Remove unneeded type conversion from background bleed code
1367         https://bugs.webkit.org/show_bug.cgi?id=68669
1368
1369         Reviewed by Geoffrey Garen.
1370
1371         * rendering/RenderBoxModelObject.cpp:
1372         (WebCore::backgroundRectAdjustedForBleedAvoidance): Use ceil instead of ceilf
1373         and eliminate superflous conversion to float and use of FloatSize. Also added
1374         a "why" comment.
1375
1376 2011-09-22  Darin Adler  <darin@apple.com>
1377
1378         Refactor checks for antialiasing lines to share a single function
1379         https://bugs.webkit.org/show_bug.cgi?id=68666
1380
1381         Reviewed by Dan Bernstein.
1382
1383         * rendering/RenderBlock.cpp:
1384         (WebCore::RenderBlock::paintColumnRules): Call shouldAntialiasLines.
1385         * rendering/RenderBoxModelObject.cpp:
1386         (WebCore::RenderBoxModelObject::paintBorder): Ditto.
1387         (WebCore::RenderBoxModelObject::shouldAntialiasLines): Added.
1388         * rendering/RenderBoxModelObject.h: Added shouldAntialiasLines function.
1389         * rendering/RenderInline.cpp:
1390         (WebCore::RenderInline::paintOutlineForLine): Call shouldAntialiasLines.
1391         * rendering/RenderTableCell.cpp:
1392         (WebCore::RenderTableCell::paintCollapsedBorder): Ditto.
1393
1394 2011-09-22  Antoine Labour  <piman@chromium.org>
1395
1396         Remove unused members from LayerChromium.
1397         These members are never set, and never used.
1398         Other members that are set but not used have been left (we may use them
1399         later, e.g. m_opaque).
1400         https://bugs.webkit.org/show_bug.cgi?id=68297
1401
1402         Reviewed by James Robinson.
1403
1404         No functional change, no new test needed.
1405
1406         * platform/graphics/chromium/LayerChromium.cpp:
1407         (WebCore::LayerChromium::LayerChromium):
1408         * platform/graphics/chromium/LayerChromium.h:
1409
1410 2011-09-22  Tom Sepez  <tsepez@chromium.org>
1411
1412         Make XSSAuditor extract meaningful snippet from script blocks for comparison
1413         against the URL when checking for reflection.  Avoids getting caugh up in
1414         trailing comments.
1415         https://bugs.webkit.org/show_bug.cgi?id=68094
1416
1417         Reviewed by Adam Barth.
1418
1419         Tests: http/tests/security/xssAuditor/script-tag-with-trailing-comment.html
1420                http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html
1421                http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html
1422
1423         * html/parser/XSSAuditor.cpp:
1424         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
1425         (WebCore::XSSAuditor::extractCodeFragment):
1426         * html/parser/XSSAuditor.h:
1427
1428 2011-09-22  Nate Chapin  <japhet@chromium.org>
1429
1430         Remove didReceiveAuthenticationChallenge() from SubresourceLoaderClient.
1431         Instead, add a load-specific policy for showing the user authentication
1432         challenge down to ResourceLoaderOptions and enforce it in ResourceLoader.
1433         https://bugs.webkit.org/show_bug.cgi?id=65330
1434
1435         Reviewed by Alexey Proskuryakov.
1436
1437         No new tests, refactor only.
1438
1439         * loader/DocumentThreadableLoader.cpp:
1440         * loader/DocumentThreadableLoader.h:
1441         * loader/MainResourceLoader.cpp:
1442         * loader/NetscapePlugInStreamLoader.cpp:
1443         * loader/ResourceLoadScheduler.h:
1444         * loader/ResourceLoader.cpp:
1445         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1446            For resource types that always send a challenge to the embedder,
1447            this patch doesn't change anything. For those that don't, we will
1448            always try to continue without credentials when they are forbidden
1449            and the platform supports it.
1450            When continuing without credentials was initially implemented in
1451            DocumentThreadableLoader, we sent the ThreadableLoaderClient a didFail(),
1452            then canceled the SubresourceLoader. This was necessary because of the
1453            quirks of ThreadableLoader cancellation (we sever the client/loader connections
1454            before the load actually cancels), but a simple didFail() should suffice at
1455            the ResourceLoader layer.
1456         * loader/ResourceLoaderOptions.h:
1457         * loader/SubresourceLoader.cpp:
1458         * loader/SubresourceLoader.h:
1459         * loader/SubresourceLoaderClient.h:
1460         * loader/cache/CachedResource.cpp:
1461         * loader/cache/CachedResourceLoader.cpp:
1462         * loader/cache/CachedResourceLoader.h:
1463         * loader/icon/IconLoader.cpp: The ResourceLoader implementation of
1464             didReceiveAuthenticationChallege means that IconLoader will now
1465             try to continue with credentials on platforms that support it,
1466             rather than just canceling outright. We still will never prompt
1467             for authentication for icons.
1468         * loader/icon/IconLoader.h:
1469
1470 2011-09-22  Dean Jackson  <dino@apple.com>
1471
1472         Add ENABLE_CSS_FILTERS
1473         https://bugs.webkit.org/show_bug.cgi?id=68652
1474
1475         Reviewed by Simon Fraser.
1476
1477         * Configurations/FeatureDefines.xcconfig:
1478
1479 2011-09-22  Anders Carlsson  <andersca@apple.com>
1480
1481         Make sure to update scrollbars in ScrollView::setFrameRect
1482         https://bugs.webkit.org/show_bug.cgi?id=68663
1483
1484         Reviewed by Sam Weinig.
1485
1486         Call updateScrollbars after setting the frame rect. This was previously done by the
1487         call to setBoundsSize from RenderWidget::setWidgetGeometry but setBoundsSize was removed
1488         completely in http://trac.webkit.org/changeset/95725.
1489
1490         * platform/ScrollView.cpp:
1491         (WebCore::ScrollView::setFrameRect):
1492
1493 2011-09-22  Jon Lee  <jonlee@apple.com>
1494
1495         Progress control gets cropped on the bottom
1496         https://bugs.webkit.org/show_bug.cgi?id=68302
1497         <rdar://problem/10069915>
1498
1499         Reviewed by Kent Tamura.
1500
1501         As it turns out the smaller control type does not get rendered either, so this patch
1502         fixes both.
1503
1504         * manual-tests/dom/progressbar.html: Altered to show both sizes of controls
1505         * rendering/RenderThemeMac.h:
1506         * rendering/RenderThemeMac.mm: Added methods to inflate the drawing rect
1507         (WebCore::RenderThemeMac::progressBarSizes):
1508         (WebCore::RenderThemeMac::progressBarMargins):
1509         (WebCore::RenderThemeMac::minimumProgressBarHeight):
1510         (WebCore::RenderThemeMac::paintProgressBar): Inflate the rect based on minimum desired
1511         control height and glow margin.
1512
1513 2011-09-22  David Hyatt  <hyatt@apple.com>
1514
1515         https://bugs.webkit.org/show_bug.cgi?id=68658
1516
1517         Make matchedEndLine smart enough to not match lines that have moved to new
1518         regions with different available content logical widths. When this happens, we go ahead and treat
1519         the line as failing to match.
1520
1521         Reviewed by Anders Carlsson.
1522
1523         Added new tests in fast/regions.
1524
1525         * rendering/RenderBlock.cpp:
1526         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1527         * rendering/RenderBlock.h:
1528         Enhanced to take an optional delta, so that you can check a new position without having to move
1529         the line box.
1530
1531         * rendering/RenderBlockLineLayout.cpp:
1532         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1533         New function that refactors checking for line width changes from region movement as well as the
1534         float checks. Since the float checks were duplicated twice, this is a nice refactoring.
1535
1536         (WebCore::RenderBlock::matchedEndLine):
1537         Changed to call the new helper function that will check both floats and pagination.
1538
1539 2011-09-22  Gavin Barraclough  <barraclough@apple.com>
1540
1541         Implement Function.prototype.bind
1542         https://bugs.webkit.org/show_bug.cgi?id=26382
1543
1544         Reviewed by Sam Weinig.
1545
1546         Test: fast/js/function-bind.html
1547
1548         * bindings/js/JSDOMBinding.cpp:
1549         (WebCore::objectToStringFunctionGetter):
1550         * bindings/js/JSDOMWindowCustom.cpp:
1551         (WebCore::nonCachingStaticFunctionGetter):
1552         * bindings/js/JSHistoryCustom.cpp:
1553         (WebCore::nonCachingStaticBackFunctionGetter):
1554         (WebCore::nonCachingStaticForwardFunctionGetter):
1555         (WebCore::nonCachingStaticGoFunctionGetter):
1556         * bindings/js/JSLocationCustom.cpp:
1557         (WebCore::nonCachingStaticReplaceFunctionGetter):
1558         (WebCore::nonCachingStaticReloadFunctionGetter):
1559         (WebCore::nonCachingStaticAssignFunctionGetter):
1560             - Function::create no longer requires functionStructure() to be passed.
1561 2011-09-22  David Hyatt  <hyatt@apple.com>
1562
1563         https://bugs.webkit.org/show_bug.cgi?id=68650
1564         
1565         Make determineStartPosition smart enough to not skip over clean lines that have moved to a new
1566         region with a different available content logical width. When this happens, we go ahead and treat
1567         the line as dirty.
1568
1569         Reviewed by Sam Weinig.
1570
1571         Covered by existing fast/regions tests.
1572
1573         * rendering/RenderBlock.cpp:
1574         (WebCore::RenderBlock::layoutBlock):
1575         Disable region fitting if we detect that the regions all have uniform widths. In this case we know
1576         the content width can't vary, so there's no reason to waste time worrying about it.
1577
1578         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1579         Pull the content width checking code into computeLogicalLocationForFloat, since we've incorporated
1580         region fitting into the fixed offsets now rather than the line functions.
1581
1582         (WebCore::RenderBlock::positionNewFloats):
1583         Changed because more code moved from here into computeLogicalLocationForFloat.
1584         
1585         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
1586         No changes. Just moved the function above the left offset function.
1587
1588         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1589         (WebCore::RenderBlock::logicalRightOffsetForContent):
1590         Added. These new functions give the fixed left and right offsets for lines in a particular region.
1591         When no regions are present or when all the regions have a uniform width, they are identical
1592         to the versions of the functions that take no arguments.
1593
1594         (WebCore::RenderBlock::logicalRightOffsetForLine):
1595         Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
1596
1597         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1598         New function that takes a root line box and compares its cached old content width with the width
1599         available at the line's new location.
1600     
1601         * rendering/RenderBlock.h:
1602         (WebCore::RenderBlock::logicalRightOffsetForLine):
1603         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1604         Modified to call the logicalXXXOffsetForContent functions that take a block direction position.
1605
1606         (WebCore::RenderBlock::logicalRightOffsetForContent):
1607         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1608         Added the new functions that take a position so that they can fit to the correct region.
1609
1610         (WebCore::RenderBlock::availableLogicalWidthForContent):
1611         New helper function that calls right - left (similar to the corresponding line function that includes
1612         floats).
1613
1614         * rendering/RenderBlockLineLayout.cpp:
1615         (WebCore::RenderBlock::determineStartPosition):
1616         Patched to check if a line has moved to a place with a different available content width. If so, the line
1617         is dirtied so that line layout can re-run.
1618
1619         * rendering/RootInlineBox.cpp:
1620         (WebCore::RootInlineBox::RootInlineBox):
1621         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1622         Sets the paginated line width from the current block logical height.
1623
1624         * rendering/RootInlineBox.h:
1625         (WebCore::RootInlineBox::paginationStrut):
1626         (WebCore::RootInlineBox::setPaginationStrut):
1627         Fixed paginationStrut to be LayoutUnit instead of int.
1628
1629         (WebCore::RootInlineBox::paginatedLineWidth):
1630         (WebCore::RootInlineBox::setPaginatedLineWidth):
1631         Added paginatedLineWidth getter/setter for caching the content width for a given root line.
1632
1633 2011-09-21  Anders Carlsson  <andersca@apple.com>
1634
1635         Remove Widget::beforeMouseDown and Widget::afterMouseDown
1636         https://bugs.webkit.org/show_bug.cgi?id=68570
1637
1638         Reviewed by Darin Adler.
1639
1640         These two member functions were originally added to avoid crashes due to removing NSViews while they were
1641         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
1642         AppKit that lead to crashes have been fixed.
1643
1644         This patch was rolled out in r95743 because it broke a bunch of tests. The patch accidentally removed setting back
1645         m_sendingEventToSubview to false.
1646
1647         * page/mac/EventHandlerMac.mm:
1648         (WebCore::EventHandler::passMouseDownEventToWidget):
1649         * platform/Widget.h:
1650         * platform/mac/WidgetMac.mm:
1651         (WebCore::Widget::Widget):
1652         (WebCore::Widget::removeFromSuperview):
1653
1654         * rendering/RenderWidget.cpp:
1655         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
1656
1657 2011-09-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1658
1659         Unreviewed, rolling out r95335 and r95645.
1660         http://trac.webkit.org/changeset/95335
1661         http://trac.webkit.org/changeset/95645
1662         https://bugs.webkit.org/show_bug.cgi?id=68649
1663
1664         Wrong fix (Requested by rniwa on #webkit).
1665
1666         * editing/DeleteSelectionCommand.cpp:
1667         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
1668         * editing/EditingStyle.cpp:
1669         (WebCore::EditingStyle::removeStyleAddedByNode):
1670         * editing/EditingStyle.h:
1671         * editing/ReplaceSelectionCommand.cpp:
1672         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1673         * editing/markup.cpp:
1674         (WebCore::StyledMarkupAccumulator::serializeNodes):
1675         (WebCore::ancestorToRetainStructureAndAppearance):
1676         * editing/markup.h:
1677
1678 2011-09-22  Ryosuke Niwa  <rniwa@webkit.org>
1679
1680         Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
1681
1682         * page/mac/EventHandlerMac.mm:
1683         (WebCore::EventHandler::passMouseDownEventToWidget):
1684         * platform/Widget.h:
1685         * platform/mac/WidgetMac.mm:
1686         (WebCore::Widget::Widget):
1687         (WebCore::Widget::removeFromSuperview):
1688         (WebCore::Widget::beforeMouseDown):
1689         (WebCore::Widget::afterMouseDown):
1690         * rendering/RenderWidget.cpp:
1691
1692 2011-09-22  David Hyatt  <hyatt@apple.com>
1693
1694         https://bugs.webkit.org/show_bug.cgi?id=68638
1695         
1696         Make RenderFlowThread cache whether or not it has regions of varying widths. This will
1697         be relevant for performance as we begin adding code to do custom block painting and
1698         layout based off regions not having the same width.
1699
1700         Reviewed by Dan Bernstein and Adam Roben.
1701
1702         * rendering/RenderFlowThread.cpp:
1703         (WebCore::RenderFlowThread::RenderFlowThread):
1704         (WebCore::RenderFlowThread::layout):
1705         * rendering/RenderFlowThread.h:
1706
1707 2011-09-22  Anders Carlsson  <andersca@apple.com>
1708
1709         FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
1710         https://bugs.webkit.org/show_bug.cgi?id=68639
1711
1712         Reviewed by David Hyatt.
1713
1714         FrameView::invalidateRect and FrameView::setFrameRect override Widget and ScrollView
1715         member functions that take IntRects, and Widget coordinates are currently defined in terms of
1716         IntRects (and probably always should since we want them to be pixel-aligned).
1717
1718         * page/FrameView.cpp:
1719         (WebCore::FrameView::invalidateRect):
1720         (WebCore::FrameView::setFrameRect):
1721         * page/FrameView.h:
1722
1723 2011-09-22  Tim Horton  <timothy_horton@apple.com>
1724
1725         Unreviewed build fix (fixes warning about too many parens).
1726
1727         * rendering/RenderBox.cpp:
1728         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1729
1730 2011-09-22  Anders Carlsson  <andersca@apple.com>
1731
1732         Widget::frameRect shouldn't be virtual
1733         https://bugs.webkit.org/show_bug.cgi?id=68637
1734
1735         Reviewed by Sam Weinig.
1736
1737         Nobody overrides Widget::frameRect and nobody should.
1738
1739         * platform/Widget.h:
1740
1741 2011-09-22  Sergey Glazunov  <serg.glazunov@gmail.com>
1742
1743         Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
1744         https://bugs.webkit.org/show_bug.cgi?id=68630
1745
1746         Reviewed by Adam Barth.
1747
1748         Test: fast/canvas/webgl/shader-deleted-by-accessor.html
1749
1750         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1751         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
1752         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1753         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1754         * html/canvas/WebGLRenderingContext.cpp:
1755         (WebCore::WebGLRenderingContext::getAttachedShaders):
1756         * html/canvas/WebGLRenderingContext.h:
1757
1758 2011-09-05  Robert Hogan  <robert@webkit.org>
1759
1760         CSS 2.1 failure: abspos-non-replaced-width-margin-000, abspos-replaced-width-margin-000
1761         https://bugs.webkit.org/show_bug.cgi?id=47148
1762
1763         Reviewed by David Hyatt.
1764
1765         * rendering/RenderBlock.h:
1766         * rendering/RenderBlockLineLayout.cpp:
1767         (WebCore::RenderBlock::startOffsetForLine): Return offset from right, rather than offset from left + logicalwidth
1768         * rendering/RenderBlockLineLayout.cpp:
1769         (WebCore::RenderBlock::startAlignedOffsetForLine): 
1770               Return the correct alignment for RTL blocks too. Looks like neither FF or Opera do this correctly.
1771               Covered by new test left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
1772         * rendering/RenderBox.cpp:
1773         (WebCore::computeInlineStaticDistance):
1774             - The CSS 2.1 tests now require UAs to use the parent block's direction (rather than the
1775               containing block's direction) when computing static distance. The container block's direction
1776               is still used in the other width and offset related calculations.
1777             - In the context of this function, the logicalRight value is just an element that will be used later to calculate 
1778               the correct logicalLeft position for the RTL block. So whereas an LTR block can substract containerBlock->borderLogicalLeft() 
1779               in this function directly, an RTL block has to add it here so that will be later subtracted from availableSpace to get 
1780               logicalLeft in computePositionedLogicalWidthUsing().
1781
1782         (WebCore::RenderBox::computePositionedLogicalWidth):
1783            - Update comments and use the container block's direction except when calculating the static distance.
1784            - Remove the notion of a quirks mode in this function and for calculating the position of replaced and non-replaced
1785              blocks generally. This is in line with both FF4 and Opera - neither of which have a quirks mode for them.
1786         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1787            - Update comments and use the container block's direction except when calculating the static distance.
1788         (WebCore::RenderBox::computePositionedLogicalHeight):
1789            - Update comments.
1790         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1791            - Update comments and use the container block's direction except when calculating the static distance.
1792            - If the containing block is RTL, always assume that values are over-constrained.
1793         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1794            - Update comments.
1795
1796 2011-09-22  Anders Carlsson  <andersca@apple.com>
1797
1798         Get rid of Widget::setBoundsSize
1799         https://bugs.webkit.org/show_bug.cgi?id=68491
1800
1801         Reviewed by Sam Weinig.
1802
1803         This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
1804         which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
1805         anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
1806         will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
1807
1808         * WebCore.exp.in:
1809         * loader/FrameLoader.cpp:
1810         (WebCore::FrameLoader::open):
1811         * page/FrameView.cpp:
1812         (WebCore::FrameView::create):
1813         * platform/ScrollView.cpp:
1814         (WebCore::ScrollView::visibleContentRect):
1815         (WebCore::ScrollView::updateScrollbars):
1816         (WebCore::ScrollView::wheelEvent):
1817         * platform/ScrollView.h:
1818         * platform/Widget.cpp:
1819         * platform/Widget.h:
1820         (WebCore::Widget::resize):
1821         * platform/chromium/PopupContainer.cpp:
1822         (WebCore::PopupContainer::refresh):
1823         * platform/gtk/ScrollViewGtk.cpp:
1824         (WebCore::ScrollView::visibleContentRect):
1825         * platform/mac/WidgetMac.mm:
1826         (WebCore::Widget::paint):
1827         * rendering/RenderWidget.cpp:
1828         (WebCore::RenderWidget::setWidgetGeometry):
1829         (WebCore::RenderWidget::setWidget):
1830         (WebCore::RenderWidget::updateWidgetPosition):
1831         * rendering/RenderWidget.h:
1832
1833 2011-09-21  David Hyatt  <hyatt@apple.com>
1834
1835         https://bugs.webkit.org/show_bug.cgi?id=68590
1836         
1837         Floats pushed to next page, column or region don't reposition properly if the amount of
1838         available logical width at the new position changes. Refactor the code so that we can
1839         run the float placement algorithm again when this happens.
1840
1841         Covered by an existing regions test that exposes the issue.
1842
1843         Reviewed by Adam Roben.
1844
1845         * rendering/RenderBlock.cpp:
1846         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1847         (WebCore::RenderBlock::positionNewFloats):
1848         * rendering/RenderBlock.h:
1849
1850 2011-09-22  Leandro Gracia Gil  <leandrogracia@chromium.org>
1851
1852         Fire TextInput events on speech input, but not set/add any inputMethod attribute.
1853         https://bugs.webkit.org/show_bug.cgi?id=60451
1854
1855         Reviewed by Ryosuke Niwa.
1856
1857         Introduce code to dispatch TextInput events when text is introduced via
1858         the speech input feature. Handle also the cases where speech input is
1859         started programmatically from the LayoutTestController.
1860
1861         Test: fast/speech/input-ontextinput-event.html
1862
1863         * dom/TextEventInputType.h:
1864         * html/shadow/TextControlInnerElements.cpp:
1865         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1866
1867 2011-09-20  Jason Liu  <jason.liu@torchmobile.com.cn>
1868
1869         Reviewed by Simon Fraser.
1870
1871         CSS outline property on a narrow element has rabbit ear artifacts
1872         https://bugs.webkit.org/show_bug.cgi?id=36793
1873
1874         Patch by Jason Liu  <jason.liu@torchmobile.com.cn>
1875         Patch updated by Robert Hogan <robert@webkit.org>
1876
1877         Test: fast/css/outline-narrowLine.html
1878
1879         * rendering/RenderInline.cpp:
1880         (WebCore::RenderInline::paintOutlineForLine):
1881
1882 2011-09-22  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
1883
1884         [GTK]Popup drop-down menu contains extra empty spaces at beginning and 
1885         occupies whole screen when items in popup reaches the height of display device.
1886         https://bugs.webkit.org/show_bug.cgi?id=68533
1887
1888         When implementing the GTK+ menu position function, set pushIn to false, which tell
1889         GTK+ not create a menu that is as big as the entire screen.
1890
1891         Reviewed by Martin Robinson.
1892
1893         * platform/gtk/GtkPopupMenu.cpp:
1894         (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
1895
1896 2011-09-22  Alpha Lam  <hclam@chromium.org>
1897
1898         Define export symbol correctly due to rename of pageScaleFactor to
1899         frameScaleFactor.
1900
1901         Not reviewed. Build fix.
1902
1903         * WebCore.exp.in:
1904
1905 2011-09-22  Vsevolod Vlasov  <vsevik@chromium.org>
1906
1907         Web Inspector: Console is always scrolled to the top
1908         https://bugs.webkit.org/show_bug.cgi?id=67483
1909
1910         Reviewed by Pavel Feldman.
1911
1912         * inspector/front-end/ConsoleView.js:
1913         (WebInspector.ConsoleView.prototype.wasShown):
1914         (WebInspector.ConsoleView.prototype.storeScrollPositions):
1915         (WebInspector.ConsoleView.prototype.restoreScrollPositions):
1916         (WebInspector.ConsoleView.prototype.onResize):
1917         (WebInspector.ConsoleView.prototype._immediatelyScrollIntoView):
1918         (WebInspector.ConsoleView.prototype._cancelScheduledScrollIntoView):
1919         (WebInspector.ConsoleView.prototype._consoleCleared):
1920         * inspector/front-end/Drawer.js:
1921         (WebInspector.Drawer.prototype.hide):
1922         (WebInspector.Drawer.prototype.resize):
1923         (WebInspector.Drawer.prototype._startStatusBarDragging):
1924         (WebInspector.Drawer.prototype._statusBarDragging):
1925         * inspector/front-end/inspector.js:
1926         (WebInspector.animateStyle):
1927         (WebInspector.animateStyle.forceComplete):
1928
1929 2011-09-22  Alpha Lam  <hclam@chromium.org>
1930
1931         https://bugs.webkit.org/show_bug.cgi?id=68081
1932         Fix scroll in page scaling mode.
1933
1934         Reviewed by Simon Fraser.
1935
1936         The following things are done in this patch:
1937         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
1938            reflect its purpose.
1939         2. Frame::frameScaleFactor() returns the scale factor of this frame with
1940            respect to the container. So for the main frame it'll return the scale
1941            factor of the page, inner frames will return 1.0
1942         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
1943            scale factor, causing incorrect coordinates reported to Javascript.
1944
1945         Tests: fast/events/scale-and-scroll-body.html
1946                fast/events/scale-and-scroll-iframe-body.html
1947                fast/events/scale-and-scroll-iframe-window.html
1948                fast/events/scale-and-scroll-window.html
1949
1950         * html/HTMLBodyElement.cpp:
1951         (WebCore::adjustForZoom):
1952         (WebCore::HTMLBodyElement::setScrollLeft):
1953         (WebCore::HTMLBodyElement::setScrollTop):
1954         * loader/HistoryController.cpp:
1955         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
1956         * page/DOMWindow.cpp:
1957         (WebCore::DOMWindow::scrollX):
1958         (WebCore::DOMWindow::scrollY):
1959         (WebCore::DOMWindow::scrollTo):
1960         * page/Frame.cpp:
1961         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
1962                                             main frame, otherwise 1.0
1963         * page/Frame.h:
1964         * page/FrameView.cpp:
1965         (WebCore::FrameView::applyOverflowToViewport):
1966         (WebCore::FrameView::scrollXForFixedPosition):
1967         (WebCore::FrameView::scrollYForFixedPosition):
1968
1969 2011-09-22  Andreas Kling  <kling@webkit.org>
1970
1971         CSS: Implement 'font' property in CSSComputedStyle.
1972         https://bugs.webkit.org/show_bug.cgi?id=66666
1973
1974         Reviewed by Antti Koivisto.
1975
1976         Test: fast/css/getComputedStyle/computed-style-font.html
1977
1978         * css/CSSComputedStyleDeclaration.cpp:
1979         (WebCore::fontFamilyFromStyle): Factored out of getPropertyCSSValue().
1980         This function will always return a CSSValueList, as opposed to the previous
1981         implementation which would return a CSSPrimitiveValue if there was only one family.
1982         getCSSPropertyValue() will return the first element of the list for 1-element lists
1983         to preserve the current behavior of getPropertyCSSValue('font-family').
1984
1985         (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
1986         (WebCore::fontSizeFromStyle): Ditto.
1987         (WebCore::fontStyleFromStyle): Ditto.
1988         (WebCore::fontVariantFromStyle): Ditto.
1989         (WebCore::fontWeightFromStyle): Ditto.
1990
1991         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
1992         implementation of the computed 'font' property (CSSPropertyFont.)
1993
1994 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1995
1996         [Qt] Redirection overflow errors have wrong error domain
1997         https://bugs.webkit.org/show_bug.cgi?id=68612
1998
1999         Reviewed by Andreas Kling.
2000
2001         Redirection overflow currently puts the URL hostname in the errorDomain field.
2002         Now redirection overflow errors will be classified as "HTTP" errors.
2003
2004         * platform/network/qt/QNetworkReplyHandler.cpp:
2005         (WebCore::QNetworkReplyHandler::redirect):
2006
2007 2011-09-22  James Robinson  <jamesr@chromium.org>
2008
2009         Unreviewed, rolling out r95699.
2010         http://trac.webkit.org/changeset/95699
2011         https://bugs.webkit.org/show_bug.cgi?id=67417
2012
2013         Makes many chromium compositor tests crash
2014
2015         * platform/CrossThreadCopier.h:
2016         * platform/graphics/chromium/LayerRendererChromium.cpp:
2017         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2018         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2019         (WebCore::CCHeadsUpDisplay::enabled):
2020         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2021         (WebCore::CCLayerImpl::CCLayerImpl):
2022         (WebCore::CCLayerImpl::~CCLayerImpl):
2023         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2024         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2025         (WebCore::CCLayerTreeHost::commitTo):
2026         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2027         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2028         (WebCore::CCSettings::CCSettings):
2029         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2030         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2031         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2032         * platform/graphics/chromium/cc/CCProxy.h:
2033         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2034         (WebCore::CCSingleThreadProxy::finishAllRendering):
2035         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2036         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2037         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2038         (WebCore::CCThreadProxy::CCThreadProxy):
2039         (WebCore::CCThreadProxy::~CCThreadProxy):
2040         (WebCore::CCThreadProxy::compositeAndReadback):
2041         (WebCore::CCThreadProxy::finishAllRendering):
2042         (WebCore::CCThreadProxy::isStarted):
2043         (WebCore::CCThreadProxy::initializeLayerRenderer):
2044         (WebCore::CCThreadProxy::setNeedsCommit):
2045         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2046         (WebCore::CCThreadProxy::setNeedsRedraw):
2047         (WebCore::CCThreadProxy::start):
2048         (WebCore::CCThreadProxy::stop):
2049         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2050         (WebCore::CCThreadProxy::beginFrameAndCommit):
2051         (WebCore::CCThreadProxy::commitOnCCThread):
2052         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2053         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
2054         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2055         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2056         * platform/graphics/chromium/cc/CCThreadProxy.h:
2057
2058 2011-09-22  Nat Duca  <nduca@chromium.org>
2059
2060         [chromium] Make CCThreadProxy draw
2061         https://bugs.webkit.org/show_bug.cgi?id=67417
2062
2063         Update the CCThreadProxy to correctly implement the CCProxy
2064         interface, do all the right committing and updating steps, and
2065         draw a picture on the screen.
2066
2067         Reviewed by James Robinson.
2068
2069         * platform/graphics/IntRect.h:
2070         * platform/graphics/chromium/LayerRendererChromium.cpp:
2071         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2072         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2073         (WebCore::CCHeadsUpDisplay::enabled):
2074         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2075         (WebCore::CCLayerImpl::CCLayerImpl):
2076         (WebCore::CCLayerImpl::~CCLayerImpl):
2077         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2078         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2079         (WebCore::CCLayerTreeHost::commitTo):
2080         (WebCore::CCLayerTreeHost::commitComplete):
2081         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2082         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2083         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2084         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2085         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2086         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2087         (WebCore::CCSingleThreadProxy::finishAllRendering):
2088         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2089         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2090         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2091         (WebCore::CCThreadProxy::CCThreadProxy):
2092         (WebCore::CCThreadProxy::~CCThreadProxy):
2093         (WebCore::CCThreadProxy::compositeAndReadback):
2094         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
2095         (WebCore::CCThreadProxy::finishAllRendering):
2096         (WebCore::CCThreadProxy::isStarted):
2097         (WebCore::CCThreadProxy::setNeedsCommit):
2098         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2099         (WebCore::CCThreadProxy::setNeedsRedraw):
2100         (WebCore::CCThreadProxy::start):
2101         (WebCore::CCThreadProxy::stop):
2102         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
2103         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
2104         (WebCore::CCThreadProxy::beginFrameAndCommit):
2105         (WebCore::CCThreadProxy::commitOnCCThread):
2106         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
2107         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
2108         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2109         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
2110         * platform/graphics/chromium/cc/CCThreadProxy.h:
2111
2112 2011-09-21  Beth Dakin  <bdakin@apple.com>
2113
2114         https://bugs.webkit.org/show_bug.cgi?id=67415
2115         Text drawn via -webkit-background-clip:text is blurry at device scale factors >1.0
2116         -and corresponding-
2117         <rdar://problem/10060379>
2118
2119         Reviewed by Darin Adler.
2120
2121         New helper function RenderBoxModelObject scales the mask image by the 
2122         deviceScaleFactor to get an image of the appropriate resolution. It also scales 
2123         the image's GraphicsContext so that the clip is set up on the same scale. Back in 
2124         paintFillLayerExtended() we still clip the image to the original maskRect to get 
2125         everything scaled back to the appropriate size.
2126         * rendering/RenderBoxModelObject.cpp:
2127         (WebCore::createDeviceScaledImageBuffer):
2128         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2129
2130         Make the deviceScaleFactor convenience function just a namespace-level function in 
2131         Page rather than a static member or Page.
2132         * page/Page.cpp:
2133         (WebCore::deviceScaleFactor):
2134         * page/Page.h:
2135         
2136         Pre-existing callers of Page::deviceScaleFactor(Frame*) must now use 
2137         WebCore::deviceScaleFactor(Frame*)
2138         * editing/DeleteButtonController.cpp:
2139         (WebCore::DeleteButtonController::createDeletionUI):
2140         * rendering/RenderImage.cpp:
2141         (WebCore::RenderImage::imageSizeForError):
2142         (WebCore::RenderImage::paintReplaced):
2143         * rendering/RenderLayer.cpp:
2144         (WebCore::RenderLayer::drawPlatformResizerImage):
2145
2146 2011-09-21  Tim Horton  <timothy_horton@apple.com>
2147
2148         [CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn't get optimized out
2149         https://bugs.webkit.org/show_bug.cgi?id=68588
2150         <rdar://problem/10164955>
2151
2152         Reviewed by Simon Fraser.
2153
2154         Factor the unmultiplied check out of the inner loop, resulting in a
2155         speed bump in ImageBufferData::getData.
2156
2157         No new tests, performance improvement.
2158
2159         * platform/graphics/cg/ImageBufferDataCG.cpp:
2160         (WebCore::ImageBufferData::getData):
2161
2162 2011-09-21  Sameer Patil  <mkrp87@motorola.com>
2163
2164         :hover selector fails when hovering over a child select element with size attribute
2165         https://bugs.webkit.org/show_bug.cgi?id=67594
2166
2167         Reviewed by Darin Adler.
2168
2169         Test: fast/css/hover-affects-ancestor.html
2170
2171         This patch addresses the problem of deactivation of the ancestor element :hover rules
2172         when hovered its contained elements.
2173
2174         * rendering/RenderLayer.cpp:
2175         (WebCore::RenderLayer::updateHoverActiveState):
2176
2177 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
2178
2179         [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
2180         https://bugs.webkit.org/show_bug.cgi?id=68584
2181
2182         Reviewed by Adam Barth.
2183
2184         Test: fast/dom/message-port-deleted-by-accessor.html
2185
2186         * bindings/v8/custom/V8MessageEventCustom.cpp:
2187         (WebCore::V8MessageEvent::portsAccessorGetter):
2188
2189 2011-09-21  Anders Carlsson  <andersca@apple.com>
2190
2191         Add back protection against the NSView going away while handling mouseDown
2192         https://bugs.webkit.org/show_bug.cgi?id=68585
2193
2194         Reviewed by Darin Adler.
2195
2196         Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
2197         as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
2198
2199         * page/mac/EventHandlerMac.mm:
2200         (WebCore::EventHandler::passMouseDownEventToWidget):
2201
2202 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
2203
2204         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
2205         https://bugs.webkit.org/show_bug.cgi?id=68133
2206
2207         Reviewed by Darin Adler.
2208
2209         Tests: fast/css/webkit-mask-crash-fieldset-legend.html
2210                fast/css/webkit-mask-crash-figure.html
2211                fast/css/webkit-mask-crash-table.html
2212                fast/css/webkit-mask-crash-td-2.html
2213                fast/css/webkit-mask-crash-td.html
2214
2215         GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
2216         disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
2217
2218         This change just modifies the different GraphicsContext::getCTM method to bail early
2219         if painting is disabled on the GraphicsContext. The rest of the change is exposing
2220         paintControlTints that exposes this.
2221
2222         * WebCore.exp.in: Added symbols of the newly export window.internals function.
2223
2224         * page/FrameView.cpp:
2225         (WebCore::FrameView::updateControlTints): Split this function in 2 so that
2226         I can expose the internal paintControlTints.
2227
2228         (WebCore::FrameView::paintControlTints):
2229         This is the one exposed to Internals as we want to be testable regardless of
2230         whether the platform supports control tints.
2231
2232         * page/FrameView.h: Added paintControlTints.
2233
2234         * testing/Internals.cpp:
2235         (WebCore::Internals::paintControlTints):
2236         * testing/Internals.h:
2237         * testing/Internals.idl:
2238         Added a way to force a fake painting so that we can easily reproduce the bugs.
2239
2240         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2241         (WebCore::GraphicsContext::getCTM):
2242         * platform/graphics/cg/GraphicsContextCG.cpp:
2243         (WebCore::GraphicsContext::getCTM):
2244         * platform/graphics/qt/GraphicsContextQt.cpp:
2245         (WebCore::GraphicsContext::getCTM):
2246         * platform/graphics/skia/GraphicsContextSkia.cpp:
2247         (WebCore::GraphicsContext::getCTM):
2248         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2249         (WebCore::GraphicsContext::getCTM):
2250         * platform/graphics/wx/GraphicsContextWx.cpp:
2251         (WebCore::GraphicsContext::getCTM):
2252         Fixed all our back-end to exit early if painting is disabled.
2253
2254 2011-09-19  Jer Noble  <jer.noble@apple.com>
2255
2256         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
2257         https://bugs.webkit.org/show_bug.cgi?id=68382
2258
2259         Reviewed by Darin Adler.
2260
2261         Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
2262
2263         No new tests, as this feature is not yet enabled by default.
2264
2265         * bindings/js/JSDOMWindowCustom.cpp:
2266         (WebCore::JSDOMWindow::webkitAudioContext):
2267
2268 2011-09-21  Anders Carlsson  <andersca@apple.com>
2269
2270         Remove checks for Leopard-only Objective-C APIs
2271         https://bugs.webkit.org/show_bug.cgi?id=68579
2272
2273         Reviewed by Sam Weinig.
2274
2275         We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
2276
2277         * bridge/objc/objc_class.mm:
2278         (JSC::Bindings::ObjcClass::methodsNamed):
2279         (JSC::Bindings::ObjcClass::fieldNamed):
2280         * bridge/objc/objc_instance.mm:
2281         (allocateAutoReleasePool):
2282         * bridge/objc/objc_runtime.mm:
2283         (JSC::Bindings::ObjcField::ObjcField):
2284         * page/mac/EventHandlerMac.mm:
2285
2286 2011-09-21  Anders Carlsson  <andersca@apple.com>
2287
2288         Remove Widget::beforeMouseDown and Widget::afterMouseDown
2289         https://bugs.webkit.org/show_bug.cgi?id=68570
2290
2291         Reviewed by Sam Weinig.
2292
2293         These two member functions were originally added to avoid crashes due to removing NSViews while they were
2294         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
2295         AppKit that lead to crashes have been fixed.
2296
2297         * page/mac/EventHandlerMac.mm:
2298         (WebCore::EventHandler::passMouseDownEventToWidget):
2299         * platform/Widget.h:
2300         * platform/mac/WidgetMac.mm:
2301         (WebCore::Widget::Widget):
2302         (WebCore::Widget::removeFromSuperview):
2303
2304         * rendering/RenderWidget.cpp:
2305         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2306
2307 2011-09-21  Abhishek Arya  <inferno@chromium.org>
2308
2309         Not use anonymousContainer on beforeChild calculation
2310         and let later code handle it. Fix style update on block-level
2311         anonymous objects.
2312         https://bugs.webkit.org/show_bug.cgi?id=67656
2313
2314         Reviewed by David Hyatt.
2315
2316         Test: fast/table/quote-text-around-iframe.html
2317
2318         * rendering/RenderTable.cpp:
2319         (WebCore::RenderTable::addChild):
2320         * rendering/RenderTableCell.cpp:
2321         (WebCore::RenderTableCell::styleDidChange):
2322         * rendering/RenderTableRow.cpp:
2323         (WebCore::RenderTableRow::addChild):
2324         * rendering/RenderObject.cpp:
2325         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
2326
2327 2011-09-21  David Hyatt  <hyatt@apple.com>
2328
2329         https://bugs.webkit.org/show_bug.cgi?id=68562
2330         
2331         Pagination struts don't update properly when collapsing margin estimates are wrong.
2332         
2333         Refactor the pagination adjustments that happen during block layout to allow for
2334         a 3-pass layout system instead of just a 2-pass layout system. The basic idea is
2335         to come up with an estimate that includes collapsing, clearance and pagination.
2336         
2337         If the estimate only with collapsing and clearance was wrong, then we lay out again
2338         using the correct collapsing margin values and clearance before applying pagination breaks.
2339         
2340         After this second layout, the normal code that runs when unpaginated compares estimates
2341         and lays out a third time to account for adjustments as a result of pagination movement.
2342
2343         Reviewed by Sam Weinig.
2344
2345         Added fast/regions/text-regions-split-small-pagination.html
2346
2347         * rendering/RenderBlock.cpp:
2348         (WebCore::RenderBlock::estimateLogicalTopPosition):
2349         (WebCore::RenderBlock::layoutBlockChild):
2350         (WebCore::RenderBlock::adjustBlockChildForPagination):
2351         * rendering/RenderBlock.h:
2352
2353 2011-09-21  James Robinson  <jamesr@chromium.org>
2354
2355         [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
2356         https://bugs.webkit.org/show_bug.cgi?id=68558
2357
2358         Reviewed by Stephen White.
2359
2360         The SharedGraphicsContext3D's internal context is lazily created and then leaked intentionally, but since the
2361         last ref is in a function-static RefPtr<> it ends up being destroyed at process exit time.  This is bad, since
2362         by the time we get this far in process shutdown we can't actually cleanly run the destruction logic and we
2363         crash.  Since we are explicitly leaking this for the lifetime of the process there's no point in keeping it in a
2364         RefPtr<>
2365
2366         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2367         (WebCore::SharedGraphicsContext3D::get):
2368
2369 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
2370
2371         [Chromium] Protect the Frame in V8HTMLDocument::openCallback
2372         https://bugs.webkit.org/show_bug.cgi?id=68555
2373
2374         Reviewed by Nate Chapin.
2375
2376         Test: fast/dom/frame-deleted-in-document-open.html
2377
2378         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2379         (WebCore::V8HTMLDocument::openCallback):
2380
2381 2011-09-21  Adam Klein  <adamk@chromium.org>
2382
2383         Clean up CSS Counter code
2384         https://bugs.webkit.org/show_bug.cgi?id=68492
2385
2386         Reviewed by Tony Chang.
2387
2388         Several cleanups/fixes:
2389         - Make Counter::listStyle() return the actual list style string,
2390           rather than empty string.
2391         - Handle a specified list style of "none" correctly when generating
2392           cssText and in Counter::listStyle().
2393         - Use StringBuilder when generating cssText.
2394
2395         Test: fast/css/counters/getCounterValue.html
2396
2397         * css/CSSParser.cpp:
2398         (WebCore::CSSParser::parseCounterContent):
2399         Simplify processing (moving conversion to CSSStyleSelector),
2400         pass a CSS_IDENT as the listStyle to Counter::create.
2401         * css/CSSPrimitiveValue.cpp:
2402         (WebCore::CSSPrimitiveValue::cssText):
2403         Use StringBuilder.
2404         * css/CSSStyleSelector.cpp:
2405         (WebCore::CSSStyleSelector::applyProperty):
2406         Convert from a CSS_IDENT to an EListStyleType.
2407         * css/Counter.h:
2408         (WebCore::Counter::listStyleIdent):
2409         Renamed from listStyleNumber to match its new functionality.
2410
2411 2011-09-21  Chris Marrin  <cmarrin@apple.com>
2412
2413         Check in WebCore.vcproj file unchanged but written like MSDev likes it
2414
2415         Unreviewed.
2416
2417         * WebCode.vcproj/WebCore.vcproj:
2418
2419 2011-09-21  Stephen White  <senorblanco@chromium.org>
2420
2421         [chromium] Optimize ImageBuffer constructor when accelerated
2422         https://bugs.webkit.org/show_bug.cgi?id=68501
2423
2424         If the accelerated rendering mode is passed in to ImageBuffer, instead
2425         of creating a bitmap PlatformCanvas and subsequently replacing its
2426         device with an SkGpuDevice, create an SkCanvas and SkGpuDevice first,
2427         and fall back to raster creation only failure.  This saves on system
2428         RAM for the backing store (and possibly GDI resources).
2429
2430         Reviewed by James Robinson.
2431
2432         Covered by existing tests.
2433
2434         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2435         (WebCore::SharedGraphicsContext3D::get):
2436         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2437         Rename "SharedGraphicsContext3D::create()" to "get()" to more
2438         accurately reflect its function.
2439         * platform/graphics/skia/ImageBufferSkia.cpp:
2440         (WebCore::createAcceleratedCanvas):
2441         Refactor creation of accelerated ImageBuffer.
2442         (WebCore::ImageBuffer::ImageBuffer):
2443         Attempt creation of accelerated ImageBuffer first, and only fall back
2444         to bitmap-backed canvas creation if it fails.
2445
2446 2011-09-21  Dan Bernstein  <mitz@apple.com>
2447
2448         WebCore part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
2449         https://bugs.webkit.org/show_bug.cgi?id=68451
2450
2451         Reviewed by Darin Adler.
2452
2453         * WebCore.xcodeproj/project.pbxproj: Added a script build phase that invokes
2454         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "DOM" or "Web".
2455
2456 2011-09-21  Dan Bernstein  <mitz@apple.com>
2457
2458         <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
2459         https://bugs.webkit.org/show_bug.cgi?id=68550
2460
2461         Reviewed by Darin Adler.
2462
2463         Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
2464
2465         * rendering/RenderBlock.cpp:
2466         (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
2467         floating object set is empty, which can happen if there were no floats on previous lines
2468         (in which case, lastFloat is 0).
2469
2470 2011-09-21  ChangSeok Oh  <shivamidow@gmail.com>
2471
2472         [GTK] Fix build break when enabling webgl on r95593
2473         https://bugs.webkit.org/show_bug.cgi?id=68502
2474
2475         Reviewed by Martin Robinson.
2476
2477         Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
2478
2479         No tests required.
2480
2481         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2482         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
2483         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
2484
2485 2011-09-21  Vsevolod Vlasov  <vsevik@chromium.org>
2486
2487         Web Inspector: clear resource agent resource cache upon resource agent's disable.
2488         https://bugs.webkit.org/show_bug.cgi?id=67995
2489
2490         Reviewed by Pavel Feldman.
2491
2492         Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
2493
2494         * inspector/InspectorResourceAgent.cpp:
2495         (WebCore::InspectorResourceAgent::disable):
2496
2497 2011-09-21  David Hyatt  <hyatt@apple.com>
2498
2499         https://bugs.webkit.org/show_bug.cgi?id=68543
2500         
2501         Make sure that when regions change dimensions we recompute pagination slices.
2502
2503         Reviewed by Simon Fraser.
2504
2505         Added new tests in fast/regions.
2506
2507         * rendering/LayoutState.cpp:
2508         (WebCore::LayoutState::LayoutState):
2509         * rendering/LayoutState.h:
2510         * rendering/RenderFlowThread.cpp:
2511         (WebCore::RenderFlowThread::layout):
2512         (WebCore::RenderFlowThread::renderRegionForLine):
2513         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
2514         * rendering/RenderRegion.cpp:
2515         (WebCore::RenderRegion::layout):
2516         * rendering/RenderView.cpp:
2517         (WebCore::RenderView::pushLayoutState):
2518         * rendering/RenderView.h:
2519         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2520         (WebCore::LayoutStateMaintainer::push):
2521
2522 2011-09-21  Xianzhu Wang  <wangxianzhu@chromium.org>
2523
2524         Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
2525         https://bugs.webkit.org/show_bug.cgi?id=68206
2526
2527         Reviewed by Tony Chang.
2528
2529         Added two new wtf headers into ForwardingHeaders/wtf to make
2530         #include <wtf/...h> cross-platform.
2531         No new tests needed.
2532
2533         * ForwardingHeaders/wtf/MetaAllocator.h: Added.
2534         * ForwardingHeaders/wtf/RedBlackTree.h: Added.
2535
2536 2011-09-21  David Delaune  <david.delaune@googlemail.com>
2537
2538         [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
2539         https://bugs.webkit.org/show_bug.cgi?id=67469
2540
2541         Reviewed by Brent Fulgham.
2542
2543         No new functionality added in this change.
2544
2545         * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
2546
2547 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
2548
2549         Span element gets produced using backspace/delete to merge header with paragraph
2550         https://bugs.webkit.org/show_bug.cgi?id=68413
2551
2552         Reviewed by Darin Adler.
2553
2554         Add p element to the list of elements to retain appearance. Also modified removeStyleFromNode
2555         (and renamed to removeStyleFromRules) not to remove inline style declarations because
2556         inline styles need to stay on copy.
2557
2558         Test: editing/deleting/merge-paragraph-from-p-with-style.html
2559
2560         * editing/DeleteSelectionCommand.cpp:
2561         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2562         * editing/EditingStyle.cpp:
2563         (WebCore::EditingStyle::removeStyleFromRules): Renamed from removeStyleFromNode.
2564         * editing/EditingStyle.h:
2565         * editing/markup.cpp:
2566         (WebCore::isBlockNodeToRetainAppearance):
2567         (WebCore::StyledMarkupAccumulator::serializeNodes):
2568
2569 2011-09-21  Alice Boxhall  <aboxhall@chromium.org>
2570
2571         Report AXValueChanged when value changes in element with role=textbox.
2572         https://bugs.webkit.org/show_bug.cgi?id=68201
2573
2574         Reviewed by Chris Fleizach.
2575
2576         Test: platform/mac/accessibility/textbox-role-reports-notifications.html
2577
2578         * accessibility/AccessibilityObject.cpp:
2579         (WebCore::AccessibilityObject::isARIATextControl):
2580         * accessibility/AccessibilityObject.h:
2581         * accessibility/AccessibilityRenderObject.cpp:
2582         (WebCore::AccessibilityRenderObject::contentChanged):
2583         (WebCore::AccessibilityRenderObject::childrenChanged):
2584
2585 2011-09-21  Pavel Feldman  <pfeldman@google.com>
2586
2587         Web Inspector: introduce Page.enable and Page.disable
2588         https://bugs.webkit.org/show_bug.cgi?id=68530
2589
2590         Otherwise protocol is violating the contract of not sending
2591         notifications by default.
2592
2593         Reviewed by Yury Semikhatsky.
2594
2595         * inspector/Inspector.json:
2596
2597 2011-09-21  Pavel Feldman  <pfeldman@google.com>
2598
2599         Web Inspector: add minimal error handling to the DOM breakpoints.
2600         https://bugs.webkit.org/show_bug.cgi?id=68537
2601
2602         Reviewed by Yury Semikhatsky.
2603
2604         * inspector/InspectorDOMAgent.h:
2605         * inspector/InspectorDOMDebuggerAgent.cpp:
2606         (WebCore::domTypeForName):
2607         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
2608         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
2609
2610 2011-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
2611
2612         Web Inspector: make WebInspector a bit more timeline friendly.
2613         https://bugs.webkit.org/show_bug.cgi?id=68534
2614
2615         I found that the maximum captured stack frame depth tracked by timeline is not
2616         very convenient because the average depth of call stack considerably more than five.
2617         Another useful trick is console.timeStamp for all backend calls.
2618
2619         Reviewed by Yury Semikhatsky.
2620
2621         * inspector/CodeGeneratorInspector.pm:
2622         * inspector/front-end/TimelinePanel.js:
2623         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2624
2625 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2626
2627         [Qt][WK2] Implement Download support in WebProcess
2628         https://bugs.webkit.org/show_bug.cgi?id=68153
2629
2630         Reviewed by Andreas Kling.
2631
2632         Refactored QNetworkReplyHandler::finish() in order to add
2633         and use the static function QNetworkReplyHandler::errorForReply().
2634         This will be used by our Download implementation in WebKit2 (WebProcess)
2635         when handling ResourceError.
2636
2637         * platform/network/qt/QNetworkReplyHandler.cpp:
2638         (WebCore::QNetworkReplyHandler::finish):
2639         (WebCore::QNetworkReplyHandler::errorForReply):
2640         * platform/network/qt/QNetworkReplyHandler.h:
2641         * platform/network/qt/ResourceRequest.h:
2642
2643 2011-09-21  Pavel Feldman  <pfeldman@google.com>
2644
2645         Web Inspector: paint box model colors in Metrics sidebar at all times, do not draw box outlines.
2646         https://bugs.webkit.org/show_bug.cgi?id=68240
2647
2648         Today we paint backgrounds in Metrics box model on hover only - should be painted at all
2649         times for the reference. Outlining boxes is highlight is wrong since outlines are outside
2650         the corresponding box regions. We've seen few reports on that + Firebug does not do borders
2651         for that reason.
2652
2653         Reviewed by Yury Semikhatsky.
2654
2655         * inspector/DOMNodeHighlighter.cpp:
2656         * inspector/DOMNodeHighlighter.h:
2657         * inspector/Inspector.json:
2658         * inspector/InspectorDOMAgent.cpp:
2659         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
2660         * inspector/front-end/Color.js:
2661         * inspector/front-end/MetricsSidebarPane.js:
2662         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
2663         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
2664         * inspector/front-end/inspector.css:
2665         (.metrics .label):
2666         * inspector/front-end/inspector.js:
2667         (WebInspector.buildHighlightConfig):
2668
2669 2011-09-21  Andreas Kling  <kling@webkit.org>
2670
2671         Protect against misuse of EventListenerIterator.
2672         https://bugs.webkit.org/show_bug.cgi?id=68364
2673
2674         Reviewed by Darin Adler.
2675
2676         In debug mode, keep track of the number of active EventListenerIterators
2677         on an EventListenerMap, and assert that there are no iterators when the
2678         map is being modified.
2679
2680         * dom/EventListenerMap.cpp:
2681         (WebCore::EventListenerMap::EventListenerMap):
2682         (WebCore::EventListenerMap::clear):
2683         (WebCore::EventListenerMap::add):
2684         (WebCore::EventListenerMap::remove):
2685         (WebCore::EventListenerMap::find):
2686         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
2687         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
2688         (WebCore::EventListenerIterator::EventListenerIterator):
2689         (WebCore::EventListenerIterator::~EventListenerIterator):
2690         * dom/EventListenerMap.h:
2691
2692 2011-09-21  Pavel Feldman  <pfeldman@google.com>
2693
2694         Web Inspector: minor fixes in the DOM domain of the protocol.
2695         https://bugs.webkit.org/show_bug.cgi?id=68517
2696
2697         Reviewed by Yury Semikhatsky.
2698
2699         * inspector/Inspector.json:
2700         * inspector/InspectorDOMAgent.cpp:
2701         (WebCore::InspectorDOMAgent::setAttributesAsText):
2702         * inspector/InspectorDOMAgent.h:
2703         * inspector/front-end/DOMAgent.js:
2704         (WebInspector.DOMNode.prototype.setAttribute):
2705
2706 2011-09-16  Pavel Feldman  <pfeldman@google.com>
2707
2708         Web Inspector: limit the use of "Resource" term in the protocol.
2709         https://bugs.webkit.org/show_bug.cgi?id=68250
2710
2711         Reviewed by Yury Semikhatsky.
2712
2713         * inspector/Inspector.json:
2714         * inspector/InspectorResourceAgent.cpp:
2715         (WebCore::InspectorResourceAgent::markResourceAsCached):
2716         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2717         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
2718         (WebCore::InspectorResourceAgent::getResponseBody):
2719         * inspector/InspectorResourceAgent.h:
2720         * inspector/front-end/ExtensionServer.js:
2721         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
2722         * inspector/front-end/NetworkManager.js:
2723         (WebInspector.NetworkManager.prototype.requestContent):
2724         (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
2725         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
2726
2727 2011-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2728
2729         Unreviewed, rolling out r95608.
2730         http://trac.webkit.org/changeset/95608
2731         https://bugs.webkit.org/show_bug.cgi?id=68521
2732
2733         breaks GTK and Windows builds. Please check EWS next time.
2734         (Requested by philn-tp on #webkit).
2735
2736         * html/HTMLBodyElement.cpp:
2737         (WebCore::adjustForZoom):
2738         (WebCore::HTMLBodyElement::setScrollLeft):
2739         (WebCore::HTMLBodyElement::setScrollTop):
2740         * loader/HistoryController.cpp:
2741         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2742         * page/DOMWindow.cpp:
2743         (WebCore::DOMWindow::scrollX):
2744         (WebCore::DOMWindow::scrollY):
2745         (WebCore::DOMWindow::scrollTo):
2746         * page/Frame.cpp:
2747         (WebCore::Frame::pageScaleFactor):
2748         * page/Frame.h:
2749         * page/FrameView.cpp:
2750         (WebCore::FrameView::applyOverflowToViewport):
2751         (WebCore::FrameView::scrollXForFixedPosition):
2752         (WebCore::FrameView::scrollYForFixedPosition):
2753
2754 2011-09-21  Pavel Feldman  <pfeldman@google.com>
2755
2756         Web Inspector: console panel's scroller is not properly aligned.
2757         https://bugs.webkit.org/show_bug.cgi?id=68448
2758
2759         Reviewed by Yury Semikhatsky.
2760
2761         * inspector/front-end/inspector.css:
2762         (#console-view):
2763         (#console-messages):
2764         (#drawer #console-messages):
2765
2766 2011-09-20  Alpha Lam  <hclam@chromium.org>
2767
2768         https://bugs.webkit.org/show_bug.cgi?id=68081
2769         Fix scroll in page scaling mode.
2770
2771         Reviewed by Simon Fraser.
2772
2773         The following things are done in this patch:
2774         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
2775            reflect its purpose.
2776         2. Frame::frameScaleFactor() returns the scale factor of this frame with
2777            respect to the container. So for the main frame it'll return the scale
2778            factor of the page, inner frames will return 1.0
2779         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
2780            scale factor, causing incorrect coordinates reported to Javascript.
2781
2782         Tests: fast/events/scale-and-scroll-body.html
2783                fast/events/scale-and-scroll-iframe-body.html
2784                fast/events/scale-and-scroll-iframe-window.html
2785                fast/events/scale-and-scroll-window.html
2786
2787         * html/HTMLBodyElement.cpp:
2788         (WebCore::adjustForZoom):
2789         (WebCore::HTMLBodyElement::setScrollLeft):
2790         (WebCore::HTMLBodyElement::setScrollTop):
2791         * loader/HistoryController.cpp:
2792         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2793         * page/DOMWindow.cpp:
2794         (WebCore::DOMWindow::scrollX):
2795         (WebCore::DOMWindow::scrollY):
2796         (WebCore::DOMWindow::scrollTo):
2797         * page/Frame.cpp:
2798         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
2799                                             main frame, otherwise 1.0
2800         * page/Frame.h:
2801         * page/FrameView.cpp:
2802         (WebCore::FrameView::applyOverflowToViewport):
2803         (WebCore::FrameView::scrollXForFixedPosition):
2804         (WebCore::FrameView::scrollYForFixedPosition):
2805
2806 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
2807
2808         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
2809         https://bugs.webkit.org/show_bug.cgi?id=67702
2810
2811         Reviewed by Csaba Osztrogonác.
2812
2813         No new tests needed.
2814
2815         * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
2816         (WebCore::SelectorChecker::determineLinkStateSlowCase):
2817         * platform/VisitedLinkStrategy.h:
2818
2819 2011-09-16  MORITA Hajime  <morrita@google.com>
2820
2821         Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
2822         https://bugs.webkit.org/show_bug.cgi?id=68228
2823
2824         Reviewed by Dimitri Glazkov.
2825
2826         Currently style changes on forwarded shadow child triggers
2827         Node::reattach() only for the forwarded node. But it should
2828         invalidate whole renderers on the shadow tree because
2829         ShadowContentElement expects its inclusions to be attached and to
2830         create renderers in the inclusion order. But single node
2831         reattach() violates the expectation and possibly creates
2832         inconsistent render tree.
2833
2834         This change makes NodeRenderingContext to go
2835         AttachContentForwarded, where the ShadowContentElement::attach()
2836         happens, only during ShadowRoot::attach(), not for style-change
2837         triggered Node::attach() on the forwarded nodes.
2838
2839         Note that the altering phase AttachContentLight doesn't create
2840         renderers for the forwarded nodes. Instead of that, it possibly
2841         triggers shadow subtree reconstruction on
2842         NodeRenderingContext::hostChildrenChanged().
2843
2844         No new tests. This is a defensive change. There is no visible
2845         difference at this time.
2846
2847         * dom/NodeRenderingContext.cpp:
2848         (WebCore::NodeRenderingContext::NodeRenderingContext):
2849         * dom/ShadowRoot.cpp:
2850         (WebCore::ShadowRoot::isInclusionSelectorActive):
2851         * dom/ShadowRoot.h:
2852
2853 2011-09-20  MORITA Hajime  <morrita@google.com>
2854
2855         <meter> doesn't update rendering when its value is changed.
2856         https://bugs.webkit.org/show_bug.cgi?id=67614
2857
2858         Reviewed by Dimitri Glazkov.
2859
2860         It lacks repaint() when the value is changed. 
2861         
2862         For non-native appearance it works because the indicator is
2863         implemented in shadow DOM, for native appearance, repainting should be
2864         handled explicitly.
2865         
2866         Test: fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
2867
2868         * html/HTMLMeterElement.cpp:
2869         (WebCore::HTMLMeterElement::didElementStateChange):
2870         * rendering/RenderMeter.cpp:
2871         (WebCore::RenderMeter::updateFromElement):
2872         * rendering/RenderMeter.h:
2873         * rendering/RenderProgress.cpp:
2874         (WebCore::RenderProgress::updateAnimationState):
2875
2876 2011-09-20  Kent Tamura  <tkent@chromium.org>
2877
2878         Move RenderObject::markContainingBlocksForLayout() to RenderObject.cpp.
2879         https://bugs.webkit.org/show_bug.cgi?id=67989
2880
2881         Reviewed by Ryosuke Niwa.
2882
2883         No new tests because of no behavior change.
2884
2885         * rendering/RenderObject.cpp:
2886         (WebCore::objectIsRelayoutBoundary): Moved from RenderObject.h.
2887         (WebCore::RenderObject::markContainingBlocksForLayout): Moved from RenderObject.h
2888         * rendering/RenderObject.h:
2889
2890 2011-09-20  Rachel Blum  <groby@chromium.org>
2891
2892         Support for multiple <link rel="icon"> favicon elements.
2893         https://bugs.webkit.org/show_bug.cgi?id=65564
2894
2895         Reviewed by Darin Fisher.
2896
2897         No tests - purely an API change. (And API is not exposed to LayoutTests)
2898
2899         * dom/Document.cpp:
2900         (WebCore::Document::iconURLs):
2901         (WebCore::Document::addIconURL):
2902         * dom/Document.h:
2903         * dom/IconURL.cpp:
2904         (WebCore::toIconIndex):
2905         * dom/IconURL.h:
2906         (WebCore::IconURL::IconURL):
2907         * html/HTMLLinkElement.cpp:
2908         (WebCore::HTMLLinkElement::process):
2909         * loader/LinkLoader.cpp:
2910         (WebCore::LinkLoader::loadLink):
2911         * loader/LinkLoader.h:
2912         * loader/icon/IconController.cpp:
2913         (WebCore::IconController::urlsForTypes):
2914         (WebCore::IconController::appendToIconURLs):
2915         (WebCore::IconController::defaultURL):
2916
2917 2011-09-20  Ojan Vafai  <ojan@chromium.org>
2918
2919         [css3-flexbox] cleanup padding width calculations
2920         https://bugs.webkit.org/show_bug.cgi?id=68490
2921
2922         Reviewed by Tony Chang.
2923
2924         No new tests. Existing tests cover the refactor.
2925
2926         * rendering/RenderFlexibleBox.cpp:
2927         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
2928         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
2929         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
2930         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
2931         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2932         * rendering/RenderFlexibleBox.h:
2933
2934 2011-09-19  Jer Noble  <jer.noble@apple.com>
2935
2936         Fix clang compile errors in Web Audio
2937         https://bugs.webkit.org/show_bug.cgi?id=68384
2938
2939         Reviewed by David Levin.
2940
2941         No new tests; no net change in functionality.
2942
2943         * platform/graphics/MediaPlayer.h: Forward declare (instead of including directly)
2944             AudioSourceProvider.
2945         * webaudio/AudioChannelMerger.cpp:
2946         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput): Remove unused parameter name.
2947
2948 2011-09-20  John Gregg  <johnnyg@google.com>
2949
2950         Directory Upload: parent path can truncate first char of the correct path
2951         https://bugs.webkit.org/show_bug.cgi?id=66695
2952
2953         In some cases, if the parent path we compute ends with a separator
2954         character like '/' or 'C:\', by adding one in an attempt to grab the
2955         subsequent separator we actually grab a character of the real path,
2956         which is incorrect.
2957
2958         Reviewed by Darin Fisher.
2959
2960         * html/FileInputType.cpp:
2961         (WebCore::FileInputType::setFileList):
2962
2963 2011-09-20  Jochen Eisinger  <jochen@chromium.org>
2964
2965         Invoke CachedResourceLoader::canRequest for all URLs in a redirect chain
2966         https://bugs.webkit.org/show_bug.cgi?id=68279
2967
2968         Reviewed by Adam Barth.
2969
2970         * loader/cache/CachedResourceLoader.h:
2971         * loader/cache/CachedResourceRequest.cpp:
2972         (WebCore::CachedResourceRequest::willSendRequest):
2973
2974 2011-09-18  Ojan Vafai  <ojan@chromium.org>
2975
2976         change RenderFlexibleBox to act on logical coordinates
2977         https://bugs.webkit.org/show_bug.cgi?id=68129
2978
2979         Reviewed by David Hyatt.
2980
2981         This makes RenderFlexibleBox respect direction and writing-mode.
2982         We now properly support the default flex-flow value of "row".
2983
2984         Test: css3/flexbox/writing-modes.html
2985
2986         * rendering/RenderBlock.cpp:
2987         (WebCore::RenderBlock::setLogicalLocationForChild):
2988         * rendering/RenderBlock.h:
2989         * rendering/RenderFlexibleBox.cpp:
2990         (WebCore::RenderFlexibleBox::layoutBlock):
2991         (WebCore::RenderFlexibleBox::logicalBorderWidthForChild):
2992         (WebCore::RenderFlexibleBox::logicalPaddingWidthForChild):
2993         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
2994         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
2995         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
2996         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
2997         (WebCore::RenderFlexibleBox::layoutInlineDirection):
2998         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
2999         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
3000         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
3001         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
3002         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
3003         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
3004         * rendering/RenderFlexibleBox.h:
3005
3006 2011-09-20  Marshall Greenblatt  <marshall@chromium.org>
3007
3008         Use DEFINE_STATIC_LOCAL to intentionally leak the static RefCountedHFONT object returned from
3009         FontPlatformData::hashTableDeletedFontValue() to avoid global destructor ordering problems.
3010         https://bugs.webkit.org/show_bug.cgi?id=67906
3011
3012         Reviewed by Adam Barth.
3013
3014         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3015
3016 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
3017
3018         Hit testing on margins of body and head elements doesn't recur
3019         https://bugs.webkit.org/show_bug.cgi?id=40753
3020
3021         Reviewed by Darin Adler.
3022
3023         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
3024         of head/body and html elements when hit testing was done inside margins of head and body elements.
3025
3026         Fixed the bug by special-casing html element since margins of head and body elements are special.
3027
3028         Tests: editing/selection/click-on-body-margin.html
3029                editing/selection/click-on-head-margin.html
3030
3031         * rendering/RenderBlock.cpp:
3032         (WebCore::positionForPointRespectingEditingBoundaries):
3033
3034 2011-09-20  David Hyatt  <hyatt@apple.com>
3035
3036         https://bugs.webkit.org/show_bug.cgi?id=68480
3037         
3038         De-virtualize containingBlock() and make RenderView return 0 instead
3039         of itself to make the construction of normal loops that terminate via
3040         a null-check possible.
3041
3042         Fix the only two places in the tree that needed null checks.
3043
3044         Eliminating RenderTableCell::containingBlock() is fine since the base class
3045         does the same thing anyway.
3046
3047         Reviewed by Simon Fraser.
3048
3049         * editing/VisiblePosition.cpp:
3050         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation):
3051         * rendering/RenderObject.cpp:
3052         (WebCore::RenderObject::containingBlock):
3053         * rendering/RenderObject.h:
3054         * rendering/RenderTableCell.cpp:
3055         * rendering/RenderTableCell.h:
3056         * rendering/RenderTreeAsText.cpp:
3057         (WebCore::RenderTreeAsText::writeRenderObject):
3058         * rendering/RenderView.cpp:
3059         * rendering/RenderView.h:
3060
3061 2011-09-20  Anders Carlsson  <andersca@apple.com>
3062
3063         Remove ScrollView::platformContentsSize
3064         https://bugs.webkit.org/show_bug.cgi?id=68188
3065
3066         Reviewed by Darin Adler.
3067
3068         Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
3069         have to ask the underlying platform scroll view for contents size since it should always just
3070         be equal to m_contentsSize.
3071
3072         * platform/ScrollView.cpp:
3073         (WebCore::ScrollView::contentsSize):
3074         (WebCore::ScrollView::wheelEvent):
3075         * platform/ScrollView.h:
3076         * platform/mac/ScrollViewMac.mm:
3077         * platform/wx/ScrollViewWx.cpp:
3078
3079 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
3080
3081         [Qt] [WK2] Implement a persistent cookie storage.
3082         https://bugs.webkit.org/show_bug.cgi?id=65309
3083
3084         Reviewed by Chang Shu.
3085
3086         Implement a cookie storage for the Qt port on WebKit2.
3087         The implementation is using a SQLite database to store the cookies
3088         and restore them. It uses a static object as CookieJar is not an
3089         object but a set of global functions. The actual saving/restoring is on
3090         the WebProcess side where our network stack lives.
3091
3092         Existing tests cover the new implementation. Unfortunately there is one
3093         case that we can't easily simulate : login in a website, make sure that the webprocess
3094         is not running and then going back to this website and see that we are logged.
3095
3096         * WebCore.pri:
3097         * WebCore.pro:
3098         * platform/qt/CookieJarQt.cpp:
3099         (WebCore::getHostnamesWithCookies):
3100         (WebCore::deleteCookiesForHostname):
3101         (WebCore::deleteAllCookies):
3102         (WebCore::SharedCookieJarQt::shared):
3103         (WebCore::SharedCookieJarQt::create):
3104         (WebCore::SharedCookieJarQt::destroy):
3105         (WebCore::SharedCookieJarQt::getHostnamesWithCookies):
3106         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
3107         (WebCore::SharedCookieJarQt::deleteAllCookies):
3108         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
3109         (WebCore::SharedCookieJarQt::~SharedCookieJarQt):
3110         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
3111         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
3112         (WebCore::SharedCookieJarQt::loadCookies):
3113         * platform/qt/CookieJarQt.h: Added.
3114
3115 2011-09-20  David Hyatt  <hyatt@apple.com>
3116
3117         https://bugs.webkit.org/show_bug.cgi?id=68314
3118
3119         Make sure that the containing block loop when clipping to border-radius
3120         terminates by checking if you hit the RenderView. Null checking isn't sufficient
3121         for stupid historical reasons that should be fixed (i.e., the RenderView returns itself
3122         as its own containing block, even though this should just be changed).
3123
3124         Reviewed by Simon Fraser and Darin Adler.
3125
3126         Added new test in fast/clip.
3127
3128         * rendering/RenderLayer.cpp:
3129         (WebCore::inContainingBlockChain):
3130
3131 2011-09-20  Dan Bernstein  <mitz@apple.com>
3132
3133         MathML renderers do not override RenderObject::renderName()
3134         https://bugs.webkit.org/show_bug.cgi?id=68461
3135
3136         Reviewed by Darin Adler.
3137
3138         Added implementations of renderName() in MathML RenderObject subclasses.
3139
3140         * rendering/mathml/RenderMathMLBlock.h:
3141         (WebCore::RenderMathMLBlock::renderName):
3142         * rendering/mathml/RenderMathMLFenced.h:
3143         (WebCore::RenderMathMLFenced::renderName):
3144         * rendering/mathml/RenderMathMLFraction.h:
3145         (WebCore::RenderMathMLFraction::renderName):
3146         * rendering/mathml/RenderMathMLMath.h:
3147         (WebCore::RenderMathMLMath::renderName):
3148         * rendering/mathml/RenderMathMLOperator.h:
3149         (WebCore::RenderMathMLOperator::renderName):
3150         * rendering/mathml/RenderMathMLRoot.h:
3151         (WebCore::RenderMathMLRoot::renderName):
3152         * rendering/mathml/RenderMathMLRow.h:
3153         (WebCore::RenderMathMLRow::renderName):
3154         * rendering/mathml/RenderMathMLSquareRoot.h:
3155         (WebCore::RenderMathMLSquareRoot::renderName):
3156         * rendering/mathml/RenderMathMLSubSup.h:
3157         (WebCore::RenderMathMLSubSup::renderName):
3158         * rendering/mathml/RenderMathMLUnderOver.h:
3159         (WebCore::RenderMathMLUnderOver::renderName):
3160
3161 2011-09-20  ChangSeok Oh  <shivamidow@gmail.com>
3162
3163         [GTK] requestAnimationFrame support for gtk port
3164         https://bugs.webkit.org/show_bug.cgi?id=66280
3165
3166         Reviewed by Martin Robinson.
3167
3168         Add some files to build-target & activate ENABLE_REQUEST_ANIMATION_FRAME flag
3169         when enabling requestAnimationFrame option.
3170
3171         fast/animation/request-animation-frame-cancel.html
3172         fast/animation/request-animation-frame-cancel2.html
3173         fast/animation/request-animation-frame-display.html
3174         fast/animation/request-animation-frame-during-modal.html
3175         fast/animation/request-animation-frame-timestamps.html
3176         fast/animation/request-animation-frame-within-callback.html
3177         fast/animation/request-animation-frame.html
3178
3179         * GNUmakefile.am:
3180         * GNUmakefile.list.am:
3181
3182 2011-09-20  Aaron Boodman  <aa@chromium.org>
3183
3184         Rework script context creation/release notifications
3185         https://bugs.webkit.org/show_bug.cgi?id=67828
3186
3187         Reviewed by Adam Barth.
3188
3189         * bindings/v8/V8DOMWindowShell.cpp:
3190         (WebCore::V8DOMWindowShell::disposeContextHandles):
3191         (WebCore::V8DOMWindowShell::initContextIfNeeded):
3192         * bindings/v8/V8IsolatedContext.cpp:
3193         (WebCore::V8IsolatedContext::V8IsolatedContext):
3194         (WebCore::V8IsolatedContext::destroy):
3195         * bindings/v8/V8IsolatedContext.h:
3196         * loader/EmptyClients.h:
3197         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
3198         (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
3199         * loader/FrameLoaderClient.h:
3200
3201 2011-09-19  Oliver Hunt  <oliver@apple.com>
3202
3203         Refactor Heap allocation logic into separate AllocationSpace class
3204         https://bugs.webkit.org/show_bug.cgi?id=68409
3205
3206         Reviewed by Gavin Barraclough.
3207
3208         Adding a forwarding header.
3209
3210         * ForwardingHeaders/heap/AllocationSpace.h: Added.
3211
3212 2011-09-20  Geoffrey Garen  <ggaren@apple.com>
3213
3214         Build fix.
3215
3216         * WebCorePrefix.h: Removed stray text from accidental paste.
3217
3218 2011-09-19  Geoffrey Garen  <ggaren@apple.com>
3219
3220         Removed BREWMP* platform #ifdefs
3221         https://bugs.webkit.org/show_bug.cgi?id=68425
3222         
3223         BREWMP* has no maintainer, and this is dead code.
3224
3225         Reviewed by Darin Adler.
3226
3227         * WebCorePrefix.h:
3228         * loader/cache/CachedFont.cpp:
3229         * platform/DragData.h:
3230         * platform/DragImage.h:
3231         * platform/FileSystem.h:
3232         * platform/PlatformKeyboardEvent.h:
3233         * platform/PlatformMouseEvent.h:
3234         * platform/PlatformTouchEvent.h:
3235         * platform/PlatformTouchPoint.h:
3236         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
3237         * platform/Widget.h:
3238         * platform/graphics/IntPoint.h:
3239         * platform/graphics/IntSize.h:
3240         * platform/graphics/WOFFFileFormat.cpp:
3241         * platform/graphics/skia/FontCustomPlatformData.cpp:
3242         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3243         (WebCore::FontCustomPlatformData::fontPlatformData):
3244         (WebCore::createFontCustomPlatformData):
3245         * platform/graphics/skia/FontCustomPlatformData.h:
3246         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3247         * platform/text/TextBoundaries.cpp:
3248         * platform/text/TextEncoding.cpp:
3249         (WebCore::TextEncoding::encode):
3250         * platform/text/TextEncodingRegistry.cpp:
3251         * plugins/PluginViewNone.cpp:
3252
3253 2011-09-20  Pavel Feldman  <pfeldman@google.com>
3254
3255         Web Inspector: Copy Stack Trace lacks newlines on Windows
3256         https://bugs.webkit.org/show_bug.cgi?id=68447
3257
3258         Reviewed by Joseph Pecoraro.
3259
3260         * inspector/front-end/CallStackSidebarPane.js:
3261         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
3262
3263 2011-09-20  Pavel Feldman  <pfeldman@google.com>
3264
3265         Not reviewed: inspector sanity test fix.
3266
3267         * inspector/front-end/inspector.js:
3268         (WebInspector.showConsole):
3269
3270 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
3271
3272         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
3273         https://bugs.webkit.org/show_bug.cgi?id=68444
3274
3275         Reviewed by Andreas Kling.
3276
3277         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
3278
3279         No new tests : just stubs.
3280
3281         * CodeGenerators.pri:
3282         * WebCore.pro:
3283         * features.pri:
3284
3285 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3286
3287         Unreviewed, rolling out r95509.
3288         http://trac.webkit.org/changeset/95509
3289         https://bugs.webkit.org/show_bug.cgi?id=68446
3290
3291         crashes chromium fast/repaint/japanese-rl-selection-repaint-
3292         in-regions.html on Win and Linux (Requested by dslomov on
3293         #webkit).
3294
3295         * rendering/RenderBlock.cpp:
3296         (WebCore::positionForPointRespectingEditingBoundaries):
3297
3298 2011-09-20  Jarred Nicholls  <jarred@sencha.com>
3299
3300         [Qt] Permit qrc resources to load in QWebSettings::setUserStyleSheetUrl()
3301         https://bugs.webkit.org/show_bug.cgi?id=51159
3302         
3303         Permit any URL with a local scheme to set a user style sheet. Allow qrc
3304         resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
3305
3306         Reviewed by Kenneth Rohde Christiansen.
3307
3308         * page/Page.cpp:
3309         (WebCore::Page::userStyleSheetLocationChanged):
3310         * platform/qt/KURLQt.cpp:
3311         (WebCore::KURL::fileSystemPath):
3312
3313 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
3314
3315         [Qt][Mac] Buildfix after r95513.
3316         Forwarding headers for WebCore should be generated based on WebCore sources instead of WebKit2.
3317
3318         Rubber-stamped by Andras Becsi.
3319
3320         * DerivedSources.pro:
3321         * WebCore.pro: Add platform/mac/DisplaySleepDisabler.cpp to SOURCES.
3322
3323 2011-09-19  Pavel Feldman  <pfeldman@google.com>
3324
3325         Web Inspector: document Debugger.paused, introduce types for ids in Debugger domain.
3326         https://bugs.webkit.org/show_bug.cgi?id=68363
3327
3328         Migrates from poorly documented "details" object to explicit parameters
3329         containing break type and data.
3330
3331         Reviewed by Tony Gentilcore.
3332
3333         * inspector/InjectedScriptSource.js:
3334         ():
3335         * inspector/Inspector.json:
3336         * inspector/InspectorDOMDebuggerAgent.cpp:
3337         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
3338         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
3339         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
3340         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
3341         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
3342         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
3343         * inspector/InspectorDebuggerAgent.cpp:
3344         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3345         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
3346         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
3347         (WebCore::InspectorDebuggerAgent::pause):
3348         (WebCore::InspectorDebuggerAgent::didPause):
3349         (WebCore::InspectorDebuggerAgent::didContinue):
3350         (WebCore::InspectorDebuggerAgent::breakProgram):
3351         (WebCore::InspectorDebuggerAgent::clear):
3352         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
3353         * inspector/InspectorDebuggerAgent.h:
3354         * inspector/front-end/DOMBreakpointsSidebarPane.js:
3355         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
3356         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
3357         (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
3358         * inspector/front-end/DebuggerModel.js:
3359         (WebInspector.DebuggerModel.prototype._pausedScript):
3360         (WebInspector.DebuggerDispatcher.prototype.paused):
3361         * inspector/front-end/DebuggerPresentationModel.js:
3362         (WebInspector.PresentationCallFrame.prototype.evaluate):
3363         * inspector/front-end/ScopeChainSidebarPane.js:
3364         (WebInspector.ScopeChainSidebarPane.prototype.update):
3365         * inspector/front-end/ScriptsPanel.js:
3366         (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
3367         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
3368         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3369
3370 2011-09-19  Pavel Feldman  <pfeldman@google.com>
3371
3372         Web Inspector: use strict types for Breakpoint and CallFrame ids in the protocol definition.
3373         https://bugs.webkit.org/show_bug.cgi?id=68172
3374
3375         Reviewed by Tony Gentilcore.
3376
3377         * inspector/Inspector.json:
3378
3379 2011-09-15  Pavel Feldman  <pfeldman@google.com>
3380
3381         Web Inspector: refactor ConsoleView, Drawer, ConsolePanel trio. Remove animation
3382         from drawer -> panel transition.
3383         https://bugs.webkit.org/show_bug.cgi?id=68155
3384
3385         ConsoleView, ConsolePanel and Drawer are all Views with custom show/hide implementations
3386         and weird DOM element containment. As a result, we have a number of cases when switching
3387         console from full panel to drawer mode and back result in UI glitches.
3388         For the sake of code clarity and no glitches, I'd like to sacrifice the "grow into full
3389         screen" console animation.
3390
3391         Reviewed by Tony Gentilcore.
3392
3393         * inspector/front-end/ConsoleModel.js:
3394         (WebInspector.ConsoleModel):
3395         * inspector/front-end/ConsolePanel.js:
3396         (WebInspector.ConsolePanel):
3397         (WebInspector.ConsolePanel.prototype.get statusBarItems):
3398         (WebInspector.ConsolePanel.prototype.show):
3399         (WebInspector.ConsolePanel.prototype.hide):
3400         * inspector/front-end/ConsoleView.js:
3401         (WebInspector.ConsoleView):
3402         (WebInspector.ConsoleView.createFilterElement):
3403         (WebInspector.ConsoleView.get this):
3404         (WebInspector.ConsoleView.prototype.get statusBarItems):
3405         (WebInspector.ConsoleView.prototype.wasShown):
3406         * inspector/front-end/Drawer.js:
3407         (WebInspector.Drawer):
3408         (WebInspector.Drawer.prototype.get visible):
3409         (WebInspector.Drawer.prototype._constrainHeight):
3410         (WebInspector.Drawer.prototype.show.animationFinished):
3411         (WebInspector.Drawer.prototype.show):
3412         (WebInspector.Drawer.prototype.hide):
3413         (WebInspector.Drawer.prototype.resize):
3414         (WebInspector.Drawer.prototype._animationDuration):
3415         * inspector/front-end/inspector.html:
3416         * inspector/front-end/inspector.js:
3417         (WebInspector._createGlobalStatusBarItems):
3418         (WebInspector._toggleConsoleButtonClicked):
3419         (WebInspector.set attached):
3420         (WebInspector.windowResize):
3421         (WebInspector.documentKeyDown):
3422
3423 2011-09-19  Pavel Feldman  <pfeldman@google.com>
3424
3425         Web Inspector: streamline Console's MessageType and MessageSource semantics.
3426         https://bugs.webkit.org/show_bug.cgi?id=68342
3427
3428         This change fixes semantics of the MessageSource and MessageType:
3429         MessageSource is now the source of the message (be it Network, HTML
3430         parser or Console API). MessageType is only defined for the Console API
3431         messages and contains the name of the API call (log, dir, dirxml, etc.).
3432         Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
3433         private to the inspector.
3434
3435         Reviewed by Tony Gentilcore.
3436
3437         * dom/Document.cpp:
3438         (WebCore::Document::logExceptionToConsole):
3439         * inspector/ConsoleMessage.cpp:
3440         (WebCore::messageSourceValue):
3441         (WebCore::messageTypeValue):
3442         (WebCore::ConsoleMessage::addToFrontend):
3443         * inspector/Inspector.json:
3444         * inspector/InspectorConsoleAgent.cpp:
3445         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3446         (WebCore::InspectorConsoleAgent::didFailLoading):
3447         * inspector/front-end/ConsoleMessage.js:
3448         (WebInspector.ConsoleMessage.createTextMessage):
3449         (WebInspector.ConsoleMessage.prototype._formatMessage):
3450         (WebInspector.ConsoleMessage.prototype.toString):
3451         * page/Console.cpp:
3452         (WebCore::printMessageSourceAndLevelPrefix):
3453         (WebCore::Console::addMessage):
3454         (WebCore::Console::dir):
3455         (WebCore::Console::dirxml):
3456         (WebCore::Console::group):
3457         (WebCore::Console::groupCollapsed):
3458         (WebCore::Console::groupEnd):
3459         * page/ConsoleTypes.h:
3460         * websockets/WebSocketChannel.cpp:
3461         (WebCore::WebSocketChannel::didFailSocketStream):
3462
3463 2011-09-20  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
3464
3465         [Qt] resizeToContent seems to trigger infinite resize on some pages
3466         https://bugs.webkit.org/show_bug.cgi?id=43852
3467
3468         Reviewed by Kenneth Rohde Christiansen.
3469
3470         InnerHeight and InnerWidth are now calculated using ScrollView::visibleContentRect
3471         including the scrollbars (if any) instead of using ScrollView::frameRect as before.
3472
3473         This makes no behavior change while not using the tiled backing
3474         store and is compliant with the W3C definition stated in the CSSOM
3475         View Module.
3476
3477         Plus it will return the correct values for tiled backing store,
3478         thus fixing the original bug report by avoiding infinite resize
3479         events caused by wrong innerHeight and innerWidth values.
3480
3481         Test: innerWidth/Height are covered by existing tests. The
3482         non-infinite resizing is covered by a new Qt autotest at
3483         test_qgraphicswebview::windowResizeEvent()
3484
3485         * page/DOMWindow.cpp:
3486         (WebCore::DOMWindow::innerHeight): using ScrollView::visibleContentRect.
3487         (WebCore::DOMWindow::innerWidth): using ScrollView::visibleContentRect.
3488
3489 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
3490
3491         Web Inspector: implement reverse mapping for compiler source maps.
3492         https://bugs.webkit.org/show_bug.cgi?id=67850
3493
3494         Implement the mapping from source code to compiled code. It will be used for
3495         setting breakpoints on source code.
3496
3497         Reviewed by Pavel Feldman.
3498
3499         * inspector/front-end/CompilerSourceMapping.js:
3500         (WebInspector.ClosureCompilerSourceMapping):
3501         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
3502         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
3503         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
3504
3505 2011-09-08  Pavel Podivilov  <podivilov@chromium.org>
3506
3507         Web Inspector: extract RawSourceCode source mapping logic to helper classes.
3508         https://bugs.webkit.org/show_bug.cgi?id=67789
3509
3510         Reviewed by Pavel Feldman.
3511
3512         * inspector/front-end/SourceFile.js:
3513         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
3514         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
3515         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
3516         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
3517         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
3518         (WebInspector.RawSourceCode.prototype._createSourceMapping):
3519         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3520         (WebInspector.RawSourceCode.PlainSourceMapping):
3521         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
3522         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
3523         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.get uiSourceCode):
3524         (WebInspector.RawSourceCode.FormattedSourceMapping):
3525         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
3526         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
3527         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.get uiSourceCode):
3528
3529 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3530
3531         [GTK] WebProcess shouldn't use the GTK+ API
3532         https://bugs.webkit.org/show_bug.cgi?id=68062
3533
3534         Reviewed by Martin Robinson.
3535
3536         Move errors code that is common between webki1 and webkit2 to
3537         WebCore so that it can be shared.
3538
3539         * GNUmakefile.list.am: Add new files to compilation.
3540         * platform/gtk/ErrorsGtk.cpp: Added.
3541         (WebCore::cancelledError):
3542         (WebCore::blockedError):
3543         (WebCore::cannotShowURLError):
3544         (WebCore::interruptedForPolicyChangeError):
3545         (WebCore::cannotShowMIMETypeError):
3546         (WebCore::fileDoesNotExistError):
3547         (WebCore::pluginWillHandleLoadError):
3548         * platform/gtk/ErrorsGtk.h: Added.
3549
3550 2011-09-19  Mark Rowe  <mrowe@apple.com>
3551
3552         Attempt to fix the Leopard build.
3553         
3554         * platform/mac/DisplaySleepDisabler.cpp:
3555         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
3556         * platform/mac/DisplaySleepDisabler.h:
3557
3558 2011-09-19  Mark Rowe  <mrowe@apple.com>
3559
3560         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
3561
3562         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
3563         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
3564         a NoIdleSleep assertion as the latter is implied by the former.
3565
3566         Since there were multiple copies of the same code to disable display sleep spread across WebCore, WebKit and WebKit2
3567         this patch takes the approach of moving this functionality to a new DisplaySleepDisabler class that lives in WebCore.
3568         A class is used as it makes it easier to reason about the lifetime of the assertions and to ensure that the assertions will
3569         always be released when their owning objects go away.
3570
3571         Reviewed by Dan Bernstein.
3572
3573         * WebCore.exp.in:
3574         * WebCore.xcodeproj/project.pbxproj:
3575         * platform/mac/DisplaySleepDisabler.cpp:
3576         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler): Register for the NoDisplaySleep assertion, and start our
3577         system activity timer when on Leopard.
3578         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler): Unregister for the assertion.
3579         (WebCore::DisplaySleepDisabler::systemActivityTimerFired): Call UpdateSystemActivity to prevent the screensaver from
3580         triggering on Leopard.
3581         * platform/mac/DisplaySleepDisabler.h:
3582         (WebCore::DisplaySleepDisabler::create):
3583         * platform/mac/WebVideoFullscreenController.h:
3584         * platform/mac/WebVideoFullscreenController.mm:
3585         (-[WebVideoFullscreenController dealloc]):
3586         (-[WebVideoFullscreenController setupVideoOverlay:]): Remove the now-unnecessary explicit use of the WebCore namespace.
3587         (-[WebVideoFullscreenController mediaElement]): Ditto.
3588         (-[WebVideoFullscreenController setMediaElement:]): Ditto.
3589         (-[WebVideoFullscreenController windowDidExitFullscreen]): Ditto.
3590         (-[WebVideoFullscreenController updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
3591         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
3592         disabler that we own.
3593
3594 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
3595
3596         Hit testing on margins of body and head elements doesn't recur
3597         https://bugs.webkit.org/show_bug.cgi?id=40753
3598
3599         Reviewed by Darin Adler.
3600
3601         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
3602         of head/body and html elements when hit testing was done inside margins of head and body elements.
3603
3604         Fixed the bug by special-casing html element (any immediate child of render view with a render layer)
3605         since margins of head and body elements are special.
3606
3607         Tests: editing/selection/click-on-body-margin.html
3608                editing/selection/click-on-head-margin.html
3609
3610         * rendering/RenderBlock.cpp:
3611         (WebCore::positionForPointRespectingEditingBoundaries):
3612
3613 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3614
3615         Unreviewed, rolling out r95493 and r95496.
3616         http://trac.webkit.org/changeset/95493
3617         http://trac.webkit.org/changeset/95496
3618         https://bugs.webkit.org/show_bug.cgi?id=68418
3619
3620         Broke Windows build (Requested by rniwa on #webkit).
3621
3622         * ForwardingHeaders/heap/AllocationSpace.h: Removed.
3623
3624 2011-09-19  James Robinson  <jamesr@chromium.org>
3625
3626         [chromium] ContentLayer's texture updater deleted during paint when compositing turns off in the middle of paint
3627         https://bugs.webkit.org/show_bug.cgi?id=68405
3628
3629         Reviewed by Kenneth Russell.
3630
3631         Make TiledLayerChromium's textureUpdater refcounted and hold an explicit reference during paint in case
3632         compositing is turned off halfway through a paint.
3633
3634         * platform/graphics/chromium/ContentLayerChromium.h:
3635         * platform/graphics/chromium/ImageLayerChromium.cpp:
3636         (WebCore::ImageLayerTextureUpdater::create):
3637         * platform/graphics/chromium/ImageLayerChromium.h:
3638         * platform/graphics/chromium/LayerTextureUpdater.h:
3639         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
3640         (WebCore::LayerTextureUpdaterBitmap::create):
3641         (WebCore::LayerTextureUpdaterSkPicture::create):
3642         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
3643         * platform/graphics/chromium/TiledLayerChromium.cpp:
3644         (WebCore::TiledLayerChromium::prepareToUpdate):
3645
3646 2011-09-19  Luke Macpherson   <macpherson@chromium.org>
3647
3648         Eliminate Length::undefinedLength = -1 and replace with Undefined LengthType.
3649         https://bugs.webkit.org/show_bug.cgi?id=68057
3650
3651         Reviewed by Darin Adler.
3652
3653         There appear to be many cases where -1 is actually a valid Length.
3654         Encoding the validity of Length separately to the value is a natural solution.
3655
3656         No new tests / no behavioral changes.
3657
3658         * css/CSSComputedStyleDeclaration.cpp:
3659         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3660         * css/CSSPrimitiveValue.cpp:
3661         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3662         * css/CSSStyleApplyProperty.cpp:
3663         (WebCore::ApplyPropertyLength::applyValue):
3664         * platform/Length.h:
3665         (WebCore::Length::Length):
3666         (WebCore::Length::value):
3667         (WebCore::Length::calcValue):
3668         (WebCore::Length::calcMinValue):
3669         (WebCore::Length::calcFloatValue):
3670         (WebCore::Length::isUndefined):
3671         * rendering/RenderBlock.cpp:
3672         (WebCore::RenderBlock::computePreferredLogicalWidths):
3673         * rendering/RenderDeprecatedFlexibleBox.cpp:
3674         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
3675         * rendering/RenderFileUploadControl.cpp:
3676         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
3677         * rendering/RenderImage.cpp:
3678         (WebCore::RenderImage::isLogicalWidthSpecified):
3679         (WebCore::RenderImage::isLogicalHeightSpecified):
3680         * rendering/RenderListBox.cpp:
3681         (WebCore::RenderListBox::computePreferredLogicalWidths):
3682         * rendering/RenderMenuList.cpp:
3683         (WebCore::RenderMenuList::computePreferredLogicalWidths):
3684         * rendering/RenderReplaced.cpp:
3685         (WebCore::RenderReplaced::computePreferredLogicalWidths):
3686         * rendering/RenderSlider.cpp:
3687         (WebCore::RenderSlider::computePreferredLogicalWidths):
3688         * rendering/RenderTextControl.cpp:
3689         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3690         * rendering/style/RenderStyle.h:
3691         (WebCore::InheritedFlags::initialMaxSize):
3692         * rendering/svg/RenderSVGRoot.cpp:
3693         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
3694
3695 2011-09-19  Adam Barth  <abarth@webkit.org>
3696
3697         Always enable ENABLE(EVENTSOURCE)
3698         https://bugs.webkit.org/show_bug.cgi?id=68414
3699
3700         Reviewed by Eric Seidel.
3701
3702         EventSource seems to be here to stay.  This patch makes WebKit more
3703         hackable by removing this ENABLE macro, as discussed on webkit-dev.
3704
3705         * Configurations/FeatureDefines.xcconfig:
3706         * GNUmakefile.am:
3707         * bindings/cpp/WebDOMEventTarget.cpp:
3708         (toWebKit):
3709         * bindings/js/JSDOMWindowCustom.cpp:
3710         (WebCore::JSDOMWindow::eventSource):
3711         * bindings/js/JSEventSourceCustom.cpp:
3712         * bindings/js/JSEventTarget.cpp:
3713         (WebCore::toJS):
3714         (WebCore::toEventTarget):
3715         * bindings/js/JSWorkerContextCustom.cpp:
3716         (WebCore::JSWorkerContext::eventSource):
3717         * bindings/v8/V8DOMWrapper.cpp:
3718         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3719         * features.pri:
3720         * page/DOMWindow.idl:
3721         * page/EventSource.cpp:
3722         * page/EventSource.h:
3723         * page/EventSource.idl:
3724         * workers/WorkerContext.idl:
3725
3726 2011-09-19  Jeremy Apthorp  <jeremya@chromium.org>
3727
3728         Fix a use-after-free: clear the fullscreen change event target queue at
3729         detach time, rather than at destruction time. If this isn't done, it's
3730         possible for the event target queue to be the only thing that
3731         references the document. Then when the document is popped off the queue
3732         and dereferenced in Document::fullScreenChangeDelayTimerFired, the
3733         document is destroyed and the subsequent access to
3734         m_fullScreenChangeEventTargetQueue.isEmpty() accesses free'd memory.
3735         https://bugs.webkit.org/show_bug.cgi?id=67960
3736
3737         Reviewed by Adam Barth.
3738
3739         * dom/Document.cpp:
3740         (WebCore::Document::~Document):
3741         (WebCore::Document::detach):
3742
3743 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3744
3745         Unreviewed, rolling out r95482.
3746         http://trac.webkit.org/changeset/95482
3747         https://bugs.webkit.org/show_bug.cgi?id=68410
3748
3749         Broke chromium webkit-tests (Requested by dslomov on #webkit).
3750
3751         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3752         (WebCore::RGBAtoRGB):
3753
3754 2011-09-19  Oliver Hunt  <oliver@apple.com>
3755
3756         Refactor Heap allocation logic into separate AllocationSpace class
3757         https://bugs.webkit.org/show_bug.cgi?id=68409
3758
3759         Reviewed by Gavin Barraclough.
3760
3761         Adding a forwarding header.
3762
3763         * ForwardingHeaders/heap/AllocationSpace.h: Added.
3764
3765 2011-09-19  Adam Barth  <abarth@webkit.org>
3766
3767         [V8] document.all gets confused about its prototype chain
3768         https://bugs.webkit.org/show_bug.cgi?id=68393
3769
3770         Reviewed by Eric Seidel.
3771
3772         GetRealNamedPropertyInPrototypeChain doesn't call interceptors, so it's
3773         not a good idea to use its return value.  It turns out that all the
3774         callers of the API only cared about whether it returns a null handle.
3775
3776         Test: http/tests/security/document-all.html
3777
3778         * bindings/v8/V8Collection.h:
3779         (WebCore::collectionNamedPropertyGetter):
3780         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3781         (WebCore::V8DOMStringMap::namedPropertyDeleter):
3782         (WebCore::V8DOMStringMap::namedPropertySetter):
3783         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3784         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
3785         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3786         (WebCore::V8HTMLCollection::namedPropertyGetter):
3787         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3788         (WebCore::V8NamedNodeMap::namedPropertyGetter):
3789         * bindings/v8/custom/V8StorageCustom.cpp:
3790         (WebCore::storageSetter):
3791
3792 2011-09-19  Adam Barth  <abarth@webkit.org>
3793
3794         Named property confusion with __proto__
3795         https://bugs.webkit.org/show_bug.cgi?id=68221
3796
3797         Reviewed by Eric Seidel.
3798
3799         The __proto__ property is super magical because it's not a real named
3800         property and it has higher precedence than even interceptors.  This
3801         confuses this check, which is meant to detech which names will get
3802         handled by our interceptor.
3803
3804         Test: http/tests/security/window-named-proto.html
3805
3806         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3807         (WebCore::V8DOMWindow::namedSecurityCheck):
3808
3809 2011-09-19  Adam Barth  <abarth@webkit.org>
3810
3811         Rename ENABLE(OPENTYPE_SANITIZER) to USE(OPENTYPE_SANITIZER)
3812         https://bugs.webkit.org/show_bug.cgi?id=68292
3813
3814         Reviewed by Eric Seidel.
3815
3816         OpenType Sanitizer is a library for sanitizing type and not a feature.
3817         Therefore this macro should say that we USE the library.
3818
3819         * platform/graphics/WOFFFileFormat.cpp:
3820         * platform/graphics/WOFFFileFormat.h:
3821         * platform/graphics/mac/FontCustomPlatformData.cpp:
3822         (WebCore::createFontCustomPlatformData):
3823         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
3824         * platform/graphics/opentype/OpenTypeSanitizer.h:
3825         * platform/graphics/skia/FontCustomPlatformData.cpp:
3826         (WebCore::createFontCustomPlatformData):
3827         (WebCore::FontCustomPlatformData::supportsFormat):
3828
3829 2011-09-19  Adam Barth  <abarth@webkit.org>
3830
3831         Remove APPLICATION_CACHE_DYNAMIC_ENTRIES and associated code
3832         https://bugs.webkit.org/show_bug.cgi?id=68407
3833
3834         Reviewed by Eric Seidel.
3835
3836         As discussed on webkit-dev, no one appears to be using this code.
3837
3838         * GNUmakefile.list.am:
3839         * UseJSC.cmake:
3840         * WebCore.gypi:
3841         * WebCore.pro:
3842         * WebCore.vcproj/WebCore.vcproj:
3843         * WebCore.xcodeproj/project.pbxproj:
3844         * bindings/js/JSBindingsAllInOne.cpp:
3845         * bindings/js/JSDOMApplicationCacheCustom.cpp: Removed.
3846
3847 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3848
3849         Unreviewed, rolling out r95385 and r95457.
3850         http://trac.webkit.org/changeset/95385
3851         http://trac.webkit.org/changeset/95457
3852         https://bugs.webkit.org/show_bug.cgi?id=68395
3853
3854         Broke chromium browser_tests (Requested by dslomov on
3855         #webkit).
3856
3857         * bindings/v8/V8DOMWindowShell.cpp:
3858         (WebCore::V8DOMWindowShell::disposeContextHandles):
3859         (WebCore::V8DOMWindowShell::initContextIfNeeded):
3860         * bindings/v8/V8IsolatedContext.cpp:
3861         (WebCore::V8IsolatedContext::V8IsolatedContext):
3862         (WebCore::V8IsolatedContext::destroy):
3863         * bindings/v8/V8IsolatedContext.h:
3864         * loader/EmptyClients.h:
3865         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
3866         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
3867         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
3868         * loader/FrameLoaderClient.h:
3869
3870 2011-09-19  John Bauman  <jbauman@chromium.org>
3871
3872         Fix nonpremultiplied webgl toDataURL to jpeg
3873         https://bugs.webkit.org/show_bug.cgi?id=68366
3874
3875         The canvas spec says that toDataURL to formats without an alpha must
3876         be "composited onto a solid black background using the source-over
3877         operator." Do that.
3878
3879         Reviewed by Kenneth Russell.
3880
3881         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
3882         (WebCore::RGBAtoRGB):
3883
3884 2011-09-19  Chris Marrin  <cmarrin@apple.com>
3885
3886         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
3887         https://bugs.webkit.org/show_bug.cgi?id=67510
3888
3889         Reviewed by Adam Roben.
3890         
3891         Another fix to take care of one last crash when running pause-crash.html. 
3892         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
3893         exist.
3894         
3895         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it 
3896         from catching the null pointer exception generated by the pause-crash.html test 
3897         before this bug was fixed. Windows was ignoring the exception, so the testcase 
3898         would appear to succeed, even though it should have crashed.
3899
3900         This is a resubmission of http://trac.webkit.org/changeset/95243 with a build fix.
3901
3902         * WebCore.vcproj/WebCore.vcproj:
3903         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3904         (WebCore::LayerChangesFlusher::hookCallback):
3905         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3906         (PlatformCAAnimation::copy):
3907         * platform/win/StructuredExceptionHandlerSupressor.h: Added.
3908         (WebCore::StructuredExceptionHandlerSupressor::StructuredExceptionHandlerSupressor):
3909         (WebCore::StructuredExceptionHandlerSupressor::~StructuredExceptionHandlerSupressor):
3910
3911 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
3912
3913         Incorrect selection with absolutely positioned div
3914         https://bugs.webkit.org/show_bug.cgi?id=39503
3915
3916         Reviewed by Kenneth Rohde Christiansen.
3917
3918         The bug was caused by a false assumption in RenderBlock::positionForPoint. Because the last child box
3919         can be positioned, floated, invisible, etc..., we can't always trust last child's logicalTop to tell us
3920         whether a given point is inside or below the last child box.
3921
3922         Fixed the bug by using the last hit-test candidate instead.
3923
3924         Test: editing/selection/block-with-positioned-lastchild.html
3925
3926         * rendering/RenderBlock.cpp:
3927         (WebCore::RenderBlock::positionForPoint):
3928
3929 2011-09-19  Dmitry Titov  <dimich@chromium.org>
3930
3931         [Chromium] Crash after magic iframe transfer for Pepper/NaCl plugins.
3932         https://bugs.webkit.org/show_bug.cgi?id=68267
3933         Make adoptNode() to not enable live iframe transfer when the iframe's subtree contains plugins.
3934
3935         Reviewed by Adam Barth.
3936
3937         Test: fast/frames/iframe-reparenting-embed-elements.html
3938
3939         * dom/Document.cpp:
3940         (WebCore::Document::adoptNode):
3941         * html/HTMLFrameElementBase.cpp:
3942         (WebCore::hasPluginElements):
3943         (WebCore::HTMLFrameElementBase::canRemainAliveOnRemovalFromTree):
3944         * html/HTMLFrameElementBase.h:
3945
3946 2011-09-19  Abhishek Arya  <inferno@chromium.org>
3947
3948         Issues with merging ruby bases.
3949         https://bugs.webkit.org/show_bug.cgi?id=67240
3950
3951         Reviewed by James Robinson.
3952
3953         1) Change fromBeforeChild to beforeChild to match
3954         webkit rendering naming conventions.
3955         2) Add assert to verify ruby base is indeed emptied
3956         after collecting all children in a single base.
3957         3) Fix condition in mergeBlockChildren to bail out only
3958         when we have no children and there is no work to merge
3959         children to toBase.
3960
3961         Test: fast/ruby/ruby-overhang-crash.html
3962
3963         * rendering/RenderRubyBase.cpp:
3964         (WebCore::RenderRubyBase::moveChildren):
3965         (WebCore::RenderRubyBase::moveInlineChildren):
3966         (WebCore::RenderRubyBase::moveBlockChildren):
3967         (WebCore::RenderRubyBase::mergeBlockChildren):
3968         * rendering/RenderRubyBase.h:
3969         * rendering/RenderRubyRun.cpp:
3970         (WebCore::RenderRubyRun::removeChild):
3971
3972 2011-09-16  Abhishek Arya  <inferno@chromium.org>
3973
3974         Child not placed correctly when beforeChild (table part)
3975         has both :before, :after content.
3976         https://bugs.webkit.org/show_bug.cgi?id=67656
3977
3978         Reviewed by James Robinson.
3979
3980         Tests: fast/table/table-cell-before-after-content-around-table-block.html
3981                fast/table/table-cell-before-after-content-around-table-row.html
3982                fast/table/table-cell-before-after-content-around-table.html
3983                fast/table/table-row-before-after-content-around-block.html
3984                fast/table/table-row-before-after-content-around-table.html
3985
3986         * rendering/RenderBlock.cpp:
3987         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
3988         1. Use the new helper functions findAfterContentRenderer,
3989            anonymousContainer.
3990         2. Rename anonymousChild to better name - beforeChildAnonymousContainer.
3991         * rendering/RenderObject.cpp:
3992         (WebCore::RenderObject::addChild):
3993         When adding a new child, if beforeChild is a table part(
3994         Table/TableSection/TableRow), we need to check if both
3995         :before, :after content are shoved in one of the anonymous child.
3996         If yes, we need to split the :before, :after content before adding
3997         newChild. Easiest approach is to destroy the :before content, then add
3998         the newChild and then call updateBeforeAfterContent to recreate the
3999         :before content.   
4000         * rendering/RenderObject.h:
4001         (WebCore::RenderObject::findBeforeContentRenderer): same as
4002         beforePseudoElementRenderer, but ignores text childs since they are
4003         sequentially added.
4004         (WebCore::RenderObject::findAfterContentRenderer): same.
4005         (WebCore::RenderObject::anonymousContainer):
4006         (WebCore::objectIsRelayoutBoundary):
4007         * rendering/RenderTable.cpp:
4008         (WebCore::RenderTable::addChild): use the new helpers and functionally
4009         correct functions - findAfterContentRenderer, anonymousContainer. previous
4010         implementation was wrong since it would not go inside, if :after content
4011         is embedded deeper than one level.
4012         * rendering/RenderTableRow.cpp:
4013         (WebCore::RenderTableRow::addChild): same.
4014         * rendering/RenderTableSection.cpp:
4015         (WebCore::RenderTableSection::addChild): same.
4016
4017 2011-09-19  Robert Kroeger  <rjkroege@chromium.org>
4018
4019         [chromium] Gesture recognizer fires taptype only every other touch
4020         down/up sequence https://bugs.webkit.org/show_bug.cgi?id=68368
4021  
4022         Reviewed by Adam Barth.
4023
4024         The addition of doubletap detection to the gesture recognizer missed some of the
4025         outgoing edges in the recognizer state machine. This change simplifies the logic
4026         and handles all outgoing edges.
4027
4028         * platform/chromium/GestureRecognizerChromium.cpp:
4029         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
4030         (WebCore::GestureRecognizerChromium::isInSecondClickTimeWindow):
4031         (WebCore::GestureRecognizerChromium::updateValues):
4032         (WebCore::GestureRecognizerChromium::touchDown):
4033         (WebCore::GestureRecognizerChromium::click):
4034         * platform/chromium/GestureRecognizerChromium.h:
4035
4036 2011-09-19  Tom Sepez  <tsepez@chromium.org>
4037
4038         Fix xssauditor bypass with unterminated closing tag by making the HTMLSourceTracker
4039         and the HTMLParser interact more closely with each other.  HTMLParser should be
4040         setting the end range for the token itself to account for buffering that the
4041         HTMLSourceTracker can't know about, but there are a lot of paths that would need
4042         updating. First step is to cover this one path.
4043         https://bugs.webkit.org/show_bug.cgi?id=68281
4044
4045         Reviewed by Adam Barth.
4046
4047         Test: http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html
4048
4049         * html/parser/HTMLSourceTracker.cpp:
4050         (WebCore::HTMLSourceTracker::end):
4051         * html/parser/HTMLTokenizer.cpp:
4052         (WebCore::HTMLTokenizer::nextToken):
4053
4054 2011-09-19  Peter Rybin  <peter.rybin@gmail.com>
4055
4056         TextPosition refactoring: Merge ZeroBasedNumber and OneBasedNumber classes
4057         https://bugs.webkit.org/show_bug.cgi?id=63541
4058
4059         Reviewed by Adam Barth.
4060
4061         No new tests because this patch is not changing behavior.
4062
4063         * bindings/js/JavaScriptCallFrame.cpp:
4064         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
4065         * bindings/js/JavaScriptCallFrame.h:
4066         (WebCore::JavaScriptCallFrame::create):
4067         (WebCore::JavaScriptCallFrame::position):
4068         (WebCore::JavaScriptCallFrame::update):
4069         * bindings/js/ScriptController.cpp:
4070         (WebCore::ScriptController::eventHandlerLineNumber):
4071         * bindings/js/ScriptDebugServer.cpp:
4072         (WebCore::ScriptDebugServer::hasBreakpoint):
4073         (WebCore::ScriptDebugServer::dispatchDidParseSource):
4074         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
4075         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
4076         * bindings/js/ScriptDebugServer.h:
4077         * bindings/js/ScriptSourceCode.h:
4078         (WebCore::ScriptSourceCode::ScriptSourceCode):
4079         * bindings/js/StringSourceProvider.h:
4080         (WebCore::StringSourceProvider::create):
4081         (WebCore::StringSourceProvider::startPosition):
4082         (WebCore::StringSourceProvider::StringSourceProvider):
4083         * bindings/v8/ScheduledAction.cpp:
4084         (WebCore::ScheduledAction::ScheduledAction):
4085         * bindings/v8/ScriptController.cpp:
4086         (WebCore::ScriptController::eventHandlerPosition):
4087