Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-11  Jens Alfke  <snej@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
6
7         * bindings/v8/DOMData.cpp:
8         (WebCore::DOMData::getCurrent):  Moved getCurrentMainThread to MainThreadDOMData::getCurrent
9             so it can be inlined by its caller.
10         * bindings/v8/DOMData.h:
11         * bindings/v8/MainThreadDOMData.cpp:
12         (WebCore::MainThreadDOMData::getCurrent):  Moved here from DOMData.cpp.
13         (WebCore::MainThreadDOMData::getMainThreadStore):  Added UNLIKELY macro to improve codegen.
14         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):  Combination of getCurrentMainThread
15             and getStore, which inline both calls together.
16         * bindings/v8/MainThreadDOMData.h:
17         (WebCore::MainThreadDOMData::getStore):  Broke out nonvirtual getMainThreadStore for inlineability.
18         * bindings/v8/V8DOMMap.cpp:
19         (WebCore::getDOMNodeMap):  Call new getCurrentMainThreadStore, which is faster.
20
21 2009-11-11  Nate Chapin  <japhet@chromium.org>
22
23         Reviewed by Dimitri Glazkov.
24
25         Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle.
26
27         https://bugs.webkit.org/show_bug.cgi?id=31357
28
29         * platform/KURLGoogle.cpp:
30         (WebCore::isSchemeFirstChar):
31         (WebCore::isSchemeChar):
32         (WebCore::KURL::hasPort):
33         (WebCore::KURL::removePort):
34         (WebCore::protocolIsValid):
35
36 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
37
38         Build fix, no reviewed.
39
40         Correct setPlatformFillColor and setPlatformStrokeColor calls
41         to match new ColorSpace-supporting signatures.
42
43         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add the
44           color space to the set[...]Color calls.
45
46 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
47
48         Reviewed by Sam Weinig.
49
50         https://bugs.webkit.org/show_bug.cgi?id=31327
51         Clean up SocketStreamHandleClient interface
52
53         No change in behavior.
54
55         * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData.
56         (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by
57         the only client (WebSocketChannel), and it's not clear what this callback's semantics
58         should be.
59         (WebCore::SocketStreamHandleClient::willSendData): Ditto.
60         (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced.
61         For ResourceHandle, this method is called when the user cancels authentication sheet,
62         not when something happens with the stream.
63
64         * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any
65         reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge.
66
67         * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related
68         callbacks have no real implementation yet.
69
70 2009-11-11  Zoltan Horvath  <zoltan@webkit.org>
71
72         Reviewed by Eric Seidel.
73
74         Allow custom memory allocation control for the part of page directory in WebCore
75         https://bugs.webkit.org/show_bug.cgi?id=31350
76
77         Inherits the following classes from Noncopyable because these are instantiated
78         by 'new' and these are no need to be copyable:
79
80         class DragController         - instantiated at: WebCore/page/Page.cpp:107
81         class FocusController        - instantiated at: WebCore/page/Page.cpp:109
82         class Settings               - instantiated at: WebCore/page/Page.cpp:116
83         class PluginHalter           - instantiated at: WebCore/page/Page.cpp:160
84         struct ScheduledEvent        - instantiated at: WebCore/page/FrameView.cpp:1275
85         class UserScript             - instantiated at: WebCore/page/PageGroup.cpp:208
86         struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182
87         class XSSAuditor             - instantiated at: WebCore/bindings/js/ScriptController.cpp:70
88         class UserStyleSheet         - instantiated at: WebCore/page/PageGroup.cpp:222
89
90         Inherits PropertyWrapperBase class from Noncopyable because (its child class) 
91         PropertyWrapper is instantiated by 'new' in 
92         WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable.
93
94         * page/DragController.h:
95         * page/EventHandler.h:
96         * page/FocusController.h:
97         * page/FrameView.cpp:
98         * page/PluginHalter.h:
99         * page/Settings.h:
100         * page/UserScript.h:
101         * page/UserStyleSheet.h:
102         * page/XSSAuditor.h:
103         * page/animation/AnimationBase.cpp:
104
105 2009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
106
107         Reviewed by Kenneth Rohde Christiansen.
108
109         https://bugs.webkit.org/show_bug.cgi?id=31323
110         Fix a few compiler warnings
111
112         No new tests as there is no new functionality.
113
114         * editing/htmlediting.cpp:
115         (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit
116         parentheses to silence gcc 4.4 -Wparentheses warnings
117
118 2009-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
119
120         Reviewed by Mark Rowe.
121
122         Set m_hasPendingGeometryChange to true by default, so that
123         at least one call to NPP_SetWindow is executed, which is
124         needed by the DRT plugin testing framework.
125
126         * plugins/PluginView.cpp:
127         (WebCore::PluginView::PluginView):
128
129 2009-11-11  Csaba Osztrogonác  <ossy@webkit.org>
130
131         Rubber-stamped by Kenneth Rohde Christiansen.
132
133         https://bugs.webkit.org/show_bug.cgi?id=31348
134         [Qt] Remove unnecessary LUT creator from WebCore.pro
135
136         * WebCore.pro:
137
138 2009-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
139
140         Reviewed by Tor Arne Vestbø.
141
142         Introduce a function for querying the input method status
143         in QWebPageClient.
144
145         * platform/qt/QWebPageClient.h:
146
147 2009-11-11  Benjamin Otte  <otte@gnome.org>
148
149         Reviewed by Jan Alonzo.
150
151         [GTK] Black artifacts in youtube.com/html5
152
153         Paint the video to the given size. It's the job of the callers to keep
154         track of aspect ratio. RenderVideo.cpp does it for the <video>
155         element.
156         https://bugs.webkit.org/show_bug.cgi?id=30925
157
158         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
159         (WebCore::MediaPlayerPrivate::paint):
160
161 2009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
162
163         Reviewed by Reviewed by Jan Alonzo.
164
165         https://bugs.webkit.org/show_bug.cgi?id=30901
166         [Gtk] Need to de-lint the Atk a11y code
167
168         Cleaned up some missed capitalization style-guideline violations.
169
170         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
171
172 2009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
173
174         Reviewed by Eric Seidel.
175
176         [Qt] Make the default style background color valid.
177         Currently the color is transparent but invalid, this causes
178         list boxes in QtWebKit to be drawn with a black background
179         since r49242.
180         https://bugs.webkit.org/show_bug.cgi?id=31295
181
182         * rendering/style/RenderStyle.h:
183         (WebCore::InheritedFlags::initialBackgroundColor):
184         * rendering/style/StyleBackgroundData.cpp:
185         (WebCore::StyleBackgroundData::StyleBackgroundData):
186
187 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
188
189         Reviewed by Geoff Garen.
190
191         Simplify the ownership model for worlds - rather than having a pair of weak references
192         between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
193         ref pointer to the former.  This reduces complexity & cost of the caching entries in the
194         back forward cache.
195
196         * WebCore.base.exp:
197         * bindings/js/JSDOMBinding.cpp:
198         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
199         * bindings/js/JSDOMBinding.h:
200         (WebCore::DOMWrapperWorld::forgetDocument):
201         * bindings/js/ScriptCachedFrameData.cpp:
202         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
203         (WebCore::ScriptCachedFrameData::restore):
204         (WebCore::ScriptCachedFrameData::clear):
205         * bindings/js/ScriptCachedFrameData.h:
206         * bindings/js/ScriptController.cpp:
207         (WebCore::ScriptController::~ScriptController):
208         (WebCore::ScriptController::clearWindowShell):
209         (WebCore::ScriptController::initScript):
210         (WebCore::ScriptController::updateDocument):
211         * bindings/js/ScriptController.h:
212
213 2009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
214
215         Reviewed by Darin Adler.
216
217         rename counter to makeCounterNode in RenderCounter.cpp
218         https://bugs.webkit.org/show_bug.cgi?id=31289
219
220         No new test because this is just a small refactoring.
221
222         * rendering/RenderCounter.cpp:
223         (WebCore::findPlaceForCounter):
224         (WebCore::makeCounterNode):
225         (WebCore::RenderCounter::originalText):
226
227 2009-11-10  Daniel Bates  <dbates@webkit.org>
228
229         Reviewed by Oliver Hunt.
230
231         https://bugs.webkit.org/show_bug.cgi?id=30754
232
233         Patch 2 of 2.
234
235         Removed method EventHandler::dragSourceMovedTo, since it is no longer
236         needed. This method fired a drag event whenever the mouse moved, but
237         section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
238         model independent of when the mouse moves. See "Among other changes..."
239         in the change log for patch 1 for more details.
240
241         * WebCore.DragSupport.exp:
242         * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
243         (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
244         * page/EventHandler.h:
245
246 2009-11-10  Daniel Bates  <dbates@webkit.org>
247
248         Reviewed by Oliver Hunt.
249
250         https://bugs.webkit.org/show_bug.cgi?id=30754
251
252         Patch 1 of 2.
253
254         As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
255         the drag event should always fire before the dragover event.
256
257         In fixing this bug, this patch also makes our drag processing model
258         conform to the HTML 5 spec.
259
260         Among the changes, this patch ensures that the drag event isn't fired outside
261         of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
262         Currently, the drag event is fired whenever the mouse button is down and the OS
263         detects the mouse moved. But, as per the spec, the drag event should
264         fire approx. every 350ms so long as the mouse button is down.
265
266         Test: fast/events/drag-and-drop-fire-drag-dragover.html
267
268         * page/EventHandler.cpp:
269         (WebCore::EventHandler::clear):
270         (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
271         Modified to determine when we are in the correct instance of EventHandler to service the drag
272         and drop operation.
273         (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
274         into this method.
275         (WebCore::EventHandler::cancelDragAndDrop):
276         (WebCore::EventHandler::performDragAndDrop):
277         (WebCore::EventHandler::clearDragState):
278         * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
279         we should fire both drag and dragover events or only the dragover event.
280
281 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
282
283         Reviewed by Dimitri Glazkov.
284
285         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
286         https://bugs.webkit.org/show_bug.cgi?id=31301
287
288         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
289
290         Allowed passing V8Proxy for the calling JS context:
291         * bindings/v8/V8DOMWrapper.h:
292         (WebCore::V8DOMWrapper::getXPathNSResolver):
293         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
294         (WebCore::V8CustomXPathNSResolver::create):
295         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
296         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
297         * bindings/v8/custom/V8CustomXPathNSResolver.h:
298         * bindings/v8/custom/V8DocumentCustom.cpp:
299         (WebCore::CALLBACK_FUNC_DECL):
300
301 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
302
303         Reviewed by Timothy Hatcher.
304
305         Implement URL decomposition IDL attributes for HTMLAnchorElement.
306         https://bugs.webkit.org/show_bug.cgi?id=29972.
307
308         Add methods for setting different parts of the URL in href attribute.
309
310         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
311                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
312                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
313                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
314                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
315                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
316                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
317
318         * bindings/js/JSLocationCustom.cpp:
319         (WebCore::JSLocation::setPort):
320         * html/HTMLAnchorElement.cpp:
321         (WebCore::parsePortFromStringPosition):
322         (WebCore::HTMLAnchorElement::setHash):
323         (WebCore::HTMLAnchorElement::setHost):
324         (WebCore::HTMLAnchorElement::setHostname):
325         (WebCore::HTMLAnchorElement::setPathname):
326         (WebCore::HTMLAnchorElement::setPort):
327         (WebCore::HTMLAnchorElement::setProtocol):
328         (WebCore::HTMLAnchorElement::setSearch):
329         * html/HTMLAnchorElement.h:
330         * html/HTMLAnchorElement.idl:
331         * loader/FrameLoader.cpp:
332         (WebCore::FrameLoader::iconURL):
333         * platform/KURL.cpp:
334         (WebCore::KURL::removePort):
335         (WebCore::KURL::setPort):
336         (WebCore::KURL::prettyURL):
337         (WebCore::protocolIsValid):
338         * platform/KURL.h:
339         (WebCore::KURL::canSetHostOrPort):
340         (WebCore::KURL::canSetPathname):
341         (WebCore::KURL::hasPort):
342         * platform/network/soup/ResourceHandleSoup.cpp:
343         (WebCore::):
344
345 2009-11-10  Nate Chapin  <japhet@chromium.org>
346
347         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
348
349         * platform/chromium/PopupMenuChromium.cpp:
350         (WebCore::PopupContainer::paintBorder):
351         (WebCore::PopupListBox::paint):
352         (WebCore::PopupListBox::paintRow):
353         * platform/graphics/chromium/TransparencyWin.cpp:
354         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
355         * platform/graphics/skia/GraphicsContextSkia.cpp:
356         (WebCore::GraphicsContext::fillRect):
357         (WebCore::GraphicsContext::fillRoundedRect):
358         (WebCore::GraphicsContext::setPlatformFillColor):
359         (WebCore::GraphicsContext::setPlatformStrokeColor):
360         * rendering/RenderMediaControlsChromium.cpp:
361         (WebCore::paintMediaSlider):
362         (WebCore::paintMediaVolumeSlider):
363         (WebCore::paintMediaTimelineContainer):
364         * rendering/RenderThemeChromiumMac.mm:
365         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
366
367 2009-11-10  Brady Eidson  <beidson@apple.com>
368
369         Reviewed by Sam Weinig.
370
371         Repro crash saving pcmag.com article as a webarchive.
372         <rdar://problem/7381219> and https://webkit.org/b/31322
373
374         Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
375
376         * css/CSSStyleSheet.cpp:
377         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
378           of creating a CSSRuleList (and subjecting ourselves to the security origin check)
379
380 2009-11-10  Beth Dakin  <bdakin@apple.com>
381
382         Attempt 2 to fix Tiger build. No review needed.
383
384         * platform/graphics/cg/GraphicsContextCG.cpp:
385         (WebCore::deviceRGBColorSpaceRef):
386         (WebCore::sRGBColorSpaceRef):
387
388 2009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
389
390         wx build fix. Changes needed after r50760.
391
392         * platform/graphics/wx/GraphicsContextWx.cpp:
393         (WebCore::GraphicsContext::GraphicsContext):
394         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
395         (WebCore::drawTextWithSpacing):
396
397 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
398
399         Qt build fix.
400
401         * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
402         that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
403
404 2009-11-10  Beth Dakin  <bdakin@apple.com>
405
406         Tiger build fix. No review needed.
407
408         * platform/graphics/cg/GraphicsContextCG.cpp:
409         (WebCore::sRGBColorSpaceRef):
410
411 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
412
413         Reviewed by Dan Bernstein.
414
415         https://bugs.webkit.org/show_bug.cgi?id=31312
416         Decouple authentication panel callbacks from ResourceHandle
417
418         No change in functionality.
419
420         SocketStreamHandle also needs to request credentials, so it's not appropriate to store
421         ResourceHandle as delegate.
422
423         * WebCore.vcproj/WebCore.vcproj:
424         * platform/network/AuthenticationClient.h: Added.
425         Added a new interface for listening to authentication panel notifications.
426
427         * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
428         it wants with the project file.
429
430         (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
431         interface class.
432         (WebCore::AuthenticationClient::deref): Ditto.
433
434         * platform/network/ResourceHandle.h:
435         (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
436         (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
437
438         * platform/network/cf/AuthenticationCF.cpp:
439         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
440         (WebCore::AuthenticationChallenge::platformCompare):
441         * platform/network/cf/AuthenticationChallenge.h:
442         (WebCore::AuthenticationChallenge::authenticationClient):
443         * platform/network/chromium/AuthenticationChallenge.h:
444         (WebCore::AuthenticationChallenge::authenticationClient):
445         * platform/network/curl/AuthenticationChallenge.h:
446         (WebCore::AuthenticationChallenge::authenticationClient):
447         Keeping a reference to AuthenticationClient, not to ResourceHandle.
448
449 2009-11-10  Beth Dakin  <bdakin@apple.com>
450
451        Second attempted gtk build fix. No review needed.
452
453         * html/canvas/CanvasStyle.cpp:
454         (WebCore::CanvasStyle::applyStrokeColor):
455
456
457 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
458
459         Reviewed by Geoff Garen.
460
461         Fix back/forwards cache with JSC isolated worlds.
462         https://bugs.webkit.org/show_bug.cgi?id=31310
463         <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
464
465         Store the global object for all worlds, not just the normal world.
466         Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
467         so we can forget global objects if a world goes away.
468
469         * bindings/js/JSDOMBinding.cpp:
470         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
471         * bindings/js/JSDOMBinding.h:
472         (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
473         (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
474         * bindings/js/ScriptCachedFrameData.cpp:
475         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
476         (WebCore::ScriptCachedFrameData::forgetWorld):
477         (WebCore::ScriptCachedFrameData::domWindow):
478         (WebCore::ScriptCachedFrameData::restore):
479         (WebCore::ScriptCachedFrameData::clear):
480         * bindings/js/ScriptCachedFrameData.h:
481         * bindings/js/ScriptController.h:
482
483 2009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
484
485         [Qt] Unreviewed buildfix after r50760.
486
487         * platform/graphics/qt/GraphicsContextQt.cpp:
488         (WebCore::GraphicsContext::GraphicsContext):
489
490 2009-11-10  Beth Dakin  <bdakin@apple.com>
491
492         Attempted build fix. (No review needed.)
493
494         * GNUmakefile.am: Adding ColorSpace.h
495
496 2009-11-10  Brian Weinstein  <bweinstein@apple.com>
497
498         Reviewed by NOBODY - Build Fix.
499
500         Updated function calls to take a ColorSpace argument, passing
501         in DeviceColorSpace for now - this should be fixed. Also added
502         ColorSpace.h to WebCore project.
503
504         * WebCore.vcproj/WebCore.vcproj:
505         * platform/graphics/win/FontCGWin.cpp:
506         (WebCore::Font::drawGlyphs):
507         * platform/graphics/win/GraphicsContextCGWin.cpp:
508         (WebCore::GraphicsContext::GraphicsContext):
509         * platform/win/PopupMenuWin.cpp:
510         (WebCore::PopupMenu::paint):
511         * platform/win/WebCoreTextRenderer.cpp:
512         (WebCore::doDrawTextAtPoint):
513         * rendering/RenderThemeSafari.cpp:
514         (WebCore::RenderThemeSafari::paintMenuListButton):
515
516 2009-11-10  Jens Alfke  <snej@chromium.org>
517
518         Reviewed by Darin Adler.
519
520         Optimizations to Element::getAttribute
521         https://bugs.webkit.org/show_bug.cgi?id=30926
522
523         * dom/Element.cpp:
524         (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
525         * dom/NamedAttrMap.cpp:
526         (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
527         * platform/text/PlatformString.h:
528         (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
529
530 2009-11-10  Beth Dakin  <bdakin@apple.com>
531
532         Reviewed by Darin Adler.
533
534         Fix for <rdar://problem/7059710> 
535         -and corresponding-
536         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
537         color-correction for CSS colors
538
539         New exported symbol for GraphicsContext::fillColor() which now 
540         accepts a ColorSpace as an optional parameter.
541         * WebCore.base.exp:
542
543         Added a new file, ColorSpace.h, to define the ColorSpace enum.
544         * WebCore.xcodeproj/project.pbxproj:
545
546         Computed Style for -webkit-color-correction
547         * css/CSSComputedStyleDeclaration.cpp:
548         (WebCore::):
549         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
550
551         Parse -webkit-color-correction
552         * css/CSSParser.cpp:
553         (WebCore::CSSParser::parseValue):
554
555        Map CSS identifiers to the appropriate values of the ColorSpace enum
556         * css/CSSPrimitiveValueMappings.h:
557         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
558         (WebCore::CSSPrimitiveValue::operator ColorSpace):
559
560         New property -webkit-color-correction
561         * css/CSSPropertyNames.in:
562
563         Map -webkit-color-correction into the RenderStyle.
564         * css/CSSStyleSelector.cpp:
565         (WebCore::CSSStyleSelector::applyProperty):
566
567         Add new value sRGB.
568         * css/CSSValueKeywords.in:
569
570         Comment out the reference to sRGB since it will now be inherited as 
571         a value from CSSValueKeywords.
572         * css/SVGCSSValueKeywords.in:
573
574         Definition of the ColorSpace enum.
575         * platform/graphics/ColorSpace.h: Added.
576         (WebCore::):
577
578         These functions all now take a ColorSpace as a parameter.
579         * platform/graphics/GraphicsContext.cpp:
580         (WebCore::GraphicsContext::setStrokeColor):
581         (WebCore::GraphicsContext::setFillColor):
582         (WebCore::GraphicsContext::drawHighlightForText):
583
584         Return the appropriate ColorSpace.
585         (WebCore::GraphicsContext::strokeColorSpace):
586         (WebCore::GraphicsContext::fillColorSpace):
587
588         These functions all call other functions which require a ColorSpace 
589         as a parameter.
590         (WebCore::GraphicsContext::setStrokePattern):
591         (WebCore::GraphicsContext::setFillPattern):
592         (WebCore::GraphicsContext::setStrokeGradient):
593         (WebCore::GraphicsContext::setFillGradient):
594
595         All of the GraphicsContext functions that take a Color should now 
596         also take a ColorSpace.
597         * platform/graphics/GraphicsContext.h:
598
599         Added new member variables stokeColorSpace and fillColorSpace.
600         * platform/graphics/GraphicsContextPrivate.h:
601         (WebCore::GraphicsContextState::GraphicsContextState):
602
603         Attempt to keep the Cairo port building with all of the massive 
604         changes to GraphicsContext.        
605         * platform/graphics/cairo/GraphicsContextCairo.cpp:
606         (WebCore::GraphicsContext::fillRect):
607         (WebCore::GraphicsContext::setPlatformFillColor):
608         (WebCore::GraphicsContext::setPlatformStrokeColor):
609         (WebCore::GraphicsContext::fillRoundedRect):
610
611         
612         * platform/graphics/cg/GraphicsContextCG.cpp:
613         (WebCore::sRGBColorSpaceRef): New static function that returns a 
614         CGColorSpaceRef for the sRGB color space.
615         (WebCore::deviceRGBColorSpaceRef): New static function that returns 
616         a CGColorSpaceRef for the device RGB color space.
617
618         (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
619         sets the fill color to the specified color in the given ColorSpace.
620         (WebCore::setCGStrokeColor): Same, but for stroke.
621
622         (WebCore::setCGFillColorSpace): New static to set the 
623         CGFillColorSpace to the given ColorSpace
624         (WebCore::setCGStrokeColorSpace): Same, but for stroke.
625
626         Send ColorSpaces when appropriate, set ColorSpaces when 
627         appropriate, and check ColorSpaces when appropriate.
628         (WebCore::GraphicsContext::GraphicsContext):
629         (WebCore::GraphicsContext::drawRect):
630         (WebCore::GraphicsContext::drawLine):
631         (WebCore::GraphicsContext::fillPath):
632         (WebCore::GraphicsContext::strokePath):
633         (WebCore::GraphicsContext::fillRect):
634         (WebCore::GraphicsContext::fillRoundedRect):
635         (WebCore::GraphicsContext::strokeRect):
636         (WebCore::GraphicsContext::drawLineForText):
637         (WebCore::GraphicsContext::setPlatformStrokeColor):
638         (WebCore::GraphicsContext::setPlatformFillColor):
639
640         Attempt to keep Haiku building.
641         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
642         (WebCore::GraphicsContext::fillRect):
643         (WebCore::GraphicsContext::fillRoundedRect):
644         (WebCore::GraphicsContext::setPlatformStrokeColor):
645         (WebCore::GraphicsContext::setPlatformFillColor):
646
647         Attempt to keep QT building.
648         * platform/graphics/qt/GraphicsContextQt.cpp:
649         (WebCore::GraphicsContext::fillRect):
650         (WebCore::GraphicsContext::fillRoundedRect):
651         (WebCore::GraphicsContext::setPlatformStrokeColor):
652         (WebCore::GraphicsContext::setPlatformFillColor):
653
654         Attempt to keep Wince building.
655         * platform/graphics/wince/GraphicsContextWince.cpp:
656         (WebCore::GraphicsContext::fillRect):
657         (WebCore::GraphicsContext::setPlatformFillColor):
658         (WebCore::GraphicsContext::setPlatformStrokeColor):
659         (WebCore::GraphicsContext::clearRect):
660         (WebCore::GraphicsContext::fillRoundedRect):
661         (WebCore::GraphicsContext::setPlatformShadow):
662
663         Attempt to keep WX building.
664         * platform/graphics/wx/GraphicsContextWx.cpp:
665         (WebCore::GraphicsContext::fillRect):
666         (WebCore::GraphicsContext::fillRoundedRect):
667         (WebCore::GraphicsContext::setPlatformStrokeColor):
668         (WebCore::GraphicsContext::setPlatformFillColor):
669
670         Added functions colorSpace() and setColorSpace()
671         * rendering/style/RenderStyle.h:
672         (WebCore::InheritedFlags::colorSpace):
673         (WebCore::InheritedFlags::setColorSpace):
674
675         The ColorSpace is stored here.
676         * rendering/style/StyleRareInheritedData.cpp:
677         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
678         (WebCore::StyleRareInheritedData::operator==):
679         * rendering/style/StyleRareInheritedData.h:
680
681         All of these call sites call GraphicsContext functions which now 
682         require ColorSpaces.
683         * editing/SelectionController.cpp:
684         (WebCore::SelectionController::paintCaret):
685         * html/canvas/CanvasRenderingContext2D.cpp:
686         (WebCore::CanvasRenderingContext2D::drawTextInternal):
687         * html/canvas/CanvasStyle.cpp:
688         (WebCore::CanvasStyle::applyStrokeColor):
689         (WebCore::CanvasStyle::applyFillColor):
690         * inspector/InspectorController.cpp:
691         (WebCore::drawOutlinedQuad):
692         * page/FrameView.cpp:
693         (WebCore::FrameView::paintContents):
694         * platform/ScrollbarTheme.h:
695         (WebCore::ScrollbarTheme::paintScrollCorner):
696         * platform/ScrollbarThemeComposite.cpp:
697         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
698         * platform/graphics/Image.cpp:
699         (WebCore::Image::fillWithSolidColor):
700         * platform/graphics/mac/FontMac.mm:
701         (WebCore::Font::drawGlyphs):
702         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
703         (WebCore::MediaPlayerPrivate::paint):
704         * rendering/EllipsisBox.cpp:
705         (WebCore::EllipsisBox::paint):
706         * rendering/InlineFlowBox.cpp:
707         (WebCore::InlineFlowBox::paintTextDecorations):
708         * rendering/InlineTextBox.cpp:
709         (WebCore::updateGraphicsContext):
710         (WebCore::paintTextWithShadows):
711         (WebCore::InlineTextBox::paint):
712         (WebCore::InlineTextBox::paintSelection):
713         (WebCore::InlineTextBox::paintCompositionBackground):
714         (WebCore::InlineTextBox::paintDecoration):
715         (WebCore::InlineTextBox::paintTextMatchMarker):
716         (WebCore::InlineTextBox::paintCompositionUnderline):
717         * rendering/InlineTextBox.h:
718         * rendering/RenderBlock.cpp:
719         (WebCore::RenderBlock::fillHorizontalSelectionGap):
720         (WebCore::RenderBlock::fillVerticalSelectionGap):
721         (WebCore::RenderBlock::fillLeftSelectionGap):
722         (WebCore::RenderBlock::fillRightSelectionGap):
723         * rendering/RenderBoxModelObject.cpp:
724         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
725         (WebCore::RenderBoxModelObject::paintBoxShadow):
726         * rendering/RenderFileUploadControl.cpp:
727         (WebCore::RenderFileUploadControl::paintObject):
728         * rendering/RenderFrameSet.cpp:
729         (WebCore::RenderFrameSet::paintColumnBorder):
730         (WebCore::RenderFrameSet::paintRowBorder):
731         * rendering/RenderImage.cpp:
732         (WebCore::RenderImage::paintReplaced):
733         * rendering/RenderLayer.cpp:
734         (WebCore::RenderLayer::paintScrollCorner):
735         (WebCore::RenderLayer::paintResizer):
736         * rendering/RenderListBox.cpp:
737         (WebCore::RenderListBox::paintItemForeground):
738         (WebCore::RenderListBox::paintItemBackground):
739         * rendering/RenderListMarker.cpp:
740         (WebCore::RenderListMarker::paint):
741         * rendering/RenderObject.cpp:
742         (WebCore::RenderObject::drawLineForBoxSide):
743         (WebCore::RenderObject::drawArcForBoxSide):
744         * rendering/RenderReplaced.cpp:
745         (WebCore::RenderReplaced::paint):
746         * rendering/RenderScrollbarTheme.cpp:
747         (WebCore::RenderScrollbarTheme::paintScrollCorner):
748         * rendering/RenderThemeMac.mm:
749         (WebCore::RenderThemeMac::paintMenuListButton):
750         * rendering/RenderView.cpp:
751         (WebCore::RenderView::paintBoxDecorations):
752         * rendering/RenderWidget.cpp:
753         (WebCore::RenderWidget::paint):
754         * rendering/SVGInlineTextBox.cpp:
755         (WebCore::SVGInlineTextBox::paintSelection):
756         * svg/graphics/SVGPaintServerGradient.cpp:
757         (WebCore::SVGPaintServerGradient::setup):
758         * svg/graphics/SVGPaintServerSolid.cpp:
759         (WebCore::SVGPaintServerSolid::setup):
760
761 2009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
762
763         Reviewed by Timothy Hatcher.
764
765         Web Inspector: Speed up syntax highlighter
766         https://bugs.webkit.org/show_bug.cgi?id=31291
767
768         * inspector/front-end/SourceFrame.js:
769         (WebInspector.SourceFrame.prototype._loaded):
770         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
771         (WebInspector.SourceSyntaxHighlighter.prototype.process):
772         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
773         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
774         (WebInspector.CSSSourceSyntaxHighlighter):
775         (WebInspector.JavaScriptSourceSyntaxHighlighter):
776
777 2009-11-09  Jeremy Orlow  <jorlow@chromium.org>
778
779         Reviewed by Eric Seidel.
780
781         Remove session storage setting
782         https://bugs.webkit.org/show_bug.cgi?id=31279
783
784         Remove session storage from Settings.  It was added temporarily so we could
785         disable it by default at runtime in Chromium.  We now disable these things in a
786         different way, so it's time to remove it.  Qt also depended on this setting for
787         a short period of time, but after talking to them we agreed that it should be
788         removed.
789
790         This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
791
792         * page/DOMWindow.cpp:
793         (WebCore::DOMWindow::sessionStorage):
794         * page/Settings.cpp:
795         (WebCore::Settings::Settings):
796         * page/Settings.h:
797
798 2009-11-10  Dan Bernstein  <mitz@apple.com>
799
800         Reviewed by Eric Carlson and Darin Adler.
801
802         WebCore part of making full-screen video pause during scrubbing.
803
804         * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
805         and HTMLMediaElement::endScrubbing().
806
807 2009-11-10  Anton Muhin  <antonm@chromium.org>
808
809         Reviewed by Adam Barth.
810
811         Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
812         https://bugs.webkit.org/show_bug.cgi?id=31051
813
814         * bindings/v8/V8GCController.cpp:
815         (WebCore::V8GCController::gcEpilogue):
816         (WebCore::V8GCController::checkMemoryUsage):
817         * bindings/v8/V8GCController.h:
818         * bindings/v8/V8Proxy.cpp:
819         (WebCore::V8Proxy::evaluate):
820         (WebCore::V8Proxy::runScript):
821         (WebCore::V8Proxy::callFunction):
822
823 2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
824
825         Reviewed by Darin Adler.
826
827         Allow custom memory allocation control for the part of loader directory in WebCore
828         https://bugs.webkit.org/show_bug.cgi?id=31161
829
830         Inherits the following classes from Noncopyable because these are instantiated
831         by 'new' and these are no need to be copyable:
832
833         class Request - WebCore/loader/loader.cpp:100
834         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
835         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
836         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
837         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
838         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
839
840         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
841         MainThreadBridge is instantiated by 'new' in 
842         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
843
844         ThreadableLoaderClient's inheriting has been changed to public.
845
846         * loader/ImageLoader.cpp:
847         * loader/ProgressTracker.cpp:
848         * loader/RedirectScheduler.cpp:
849         * loader/Request.h:
850         * loader/ThreadableLoaderClient.h:
851         * loader/WorkerThreadableLoader.h:
852         * loader/appcache/ApplicationCacheHost.h:
853         * loader/appcache/ApplicationCacheStorage.h:
854
855 2009-11-10  Philippe Normand  <pnormand@igalia.com>
856
857         Reviewed by Eric Seidel.
858
859         https://bugs.webkit.org/show_bug.cgi?id=31047
860         [GTK] Failing test media/video-played-ranges-1.html
861
862         WebKit coding style fixes.
863
864         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
865         (WebCore::mediaPlayerPrivateMessageCallback):
866         (WebCore::MediaPlayerPrivate::naturalSize):
867         (WebCore::MediaPlayerPrivate::paint):
868         (WebCore::mimeTypeCache):
869
870 2009-11-10  Oliver Hunt  <oliver@apple.com>
871
872         Remove build failure introduced by earlier build fix.
873
874         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
875
876 2009-11-10  Oliver Hunt  <oliver@apple.com>
877
878         Is this the last build fix? grep tells me yes.
879
880         * bindings/v8/custom/V8DocumentCustom.cpp:
881         (WebCore::CALLBACK_FUNC_DECL):
882
883 2009-11-10  Oliver Hunt  <oliver@apple.com>
884
885         Hopefully the last one.  Why aren't these autogenerated?
886
887         * bindings/v8/V8DOMWrapper.cpp:
888         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
889         (WebCore::V8DOMWrapper::getTemplate):
890         (WebCore::V8DOMWrapper::convertToV8Object):
891
892 2009-11-10  Oliver Hunt  <oliver@apple.com>
893
894         Another chrome build fix.
895
896         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
897         (WebCore::CALLBACK_FUNC_DECL):
898
899 2009-11-10  Oliver Hunt  <oliver@apple.com>
900
901         Yet another chrome buildfix
902
903         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
904         (WebCore::CALLBACK_FUNC_DECL):
905         * bindings/v8/custom/V8WebGLArrayCustom.h:
906         (WebCore::constructCanvasArray):
907         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
908         (WebCore::CALLBACK_FUNC_DECL):
909         (WebCore::INDEXED_PROPERTY_GETTER):
910         (WebCore::INDEXED_PROPERTY_SETTER):
911         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
912         (WebCore::CALLBACK_FUNC_DECL):
913         (WebCore::INDEXED_PROPERTY_GETTER):
914         (WebCore::INDEXED_PROPERTY_SETTER):
915         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
916         (WebCore::CALLBACK_FUNC_DECL):
917         (WebCore::INDEXED_PROPERTY_GETTER):
918         (WebCore::INDEXED_PROPERTY_SETTER):
919         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
920         (WebCore::CALLBACK_FUNC_DECL):
921         (WebCore::vertexAttribAndUniformHelperf):
922         (WebCore::uniformHelperi):
923         (WebCore::uniformMatrixHelper):
924         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
925         (WebCore::CALLBACK_FUNC_DECL):
926         (WebCore::INDEXED_PROPERTY_GETTER):
927         (WebCore::INDEXED_PROPERTY_SETTER):
928         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
929         (WebCore::CALLBACK_FUNC_DECL):
930         (WebCore::INDEXED_PROPERTY_GETTER):
931         (WebCore::INDEXED_PROPERTY_SETTER):
932         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
933         (WebCore::CALLBACK_FUNC_DECL):
934         (WebCore::INDEXED_PROPERTY_GETTER):
935         (WebCore::INDEXED_PROPERTY_SETTER):
936         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
937         (WebCore::CALLBACK_FUNC_DECL):
938         (WebCore::INDEXED_PROPERTY_GETTER):
939         (WebCore::INDEXED_PROPERTY_SETTER):
940
941 2009-11-10  Oliver Hunt  <oliver@apple.com>
942
943         Chrome build fix.
944
945         * bindings/v8/V8Index.h:
946
947 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
948
949         Reviewed by Reviewed by Jan Alonzo.
950
951         https://bugs.webkit.org/show_bug.cgi?id=30901
952         [Gtk] Need to de-lint the Atk a11y code
953
954         Removal of various and sundry style-violating nits.
955
956         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
957
958 2009-11-10  Philippe Normand  <pnormand@igalia.com>
959
960         Reviewed by Jan Alonzo.
961
962         https://bugs.webkit.org/show_bug.cgi?id=31047
963         [GTK] Failing test media/video-played-ranges-1.html
964
965         Fix playback rate setter by remembering the rate was changed. Also
966         correctly handle reverse playback by doing a seek from end to
967         beginning of the media.
968
969         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
970         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
971         (WebCore::MediaPlayerPrivate::currentTime):
972         (WebCore::MediaPlayerPrivate::seek):
973         (WebCore::MediaPlayerPrivate::hasAudio):
974         (WebCore::MediaPlayerPrivate::setVolume):
975         (WebCore::MediaPlayerPrivate::setRate):
976         (WebCore::MediaPlayerPrivate::updateStates):
977         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
978
979 2009-11-10  Oliver Hunt  <oliver@apple.com>
980
981         Reviewed by Maciej Stachowiak.
982
983         Rename 3D Canvas related classes to use WebGL prefix
984         https://bugs.webkit.org/show_bug.cgi?id=29095
985
986         Automatic rename of all WebGL related types from Canvas* to
987         WebGL* per more recent version of the WebGL spec.
988
989         Due to the automatic rename I've removed the 600+ line change list.
990
991 2009-11-09  Dirk Schulze  <krit@webkit.org>
992
993         Reviewed by Oliver Hunt.
994
995         SVG feDisplacementMap is not implemented
996         [https://bugs.webkit.org/show_bug.cgi?id=31255]
997
998         This is the implementation of the SVG filter effect
999         feDisplacementMap. 
1000
1001         Test: svg/filters/feDisplacementMap.svg
1002
1003         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1004         (WebCore::FEDisplacementMap::apply):
1005
1006 2009-11-09  Kent Tamura  <tkent@chromium.org>
1007
1008         Reviewed by Darin Adler.
1009
1010         Add a comment about null strings and hash functions.
1011         https://bugs.webkit.org/show_bug.cgi?id=29118
1012
1013         * platform/text/StringHash.h:
1014
1015 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
1016
1017         Reviewed by Darin Adler.
1018
1019         Compiler warnings in InspectorResource.h
1020         https://bugs.webkit.org/show_bug.cgi?id=29231
1021
1022         Fix compilation warnings by removing addition operation on an enum type.
1023
1024         * inspector/InspectorResource.h:
1025         (WebCore::InspectorResource::):
1026         (WebCore::InspectorResource::Changes::hasChange):
1027         (WebCore::InspectorResource::Changes::set):
1028         (WebCore::InspectorResource::Changes::setAll):
1029
1030 2009-11-09  Anders Carlsson  <andersca@apple.com>
1031
1032         Reviewed by Darin Adler and Dan Bernstein.
1033
1034         <rdar://problem/7328395>
1035         https://bugs.webkit.org/show_bug.cgi?id=31277
1036
1037         When an object tag's style changes (for example when child nodes are added/removed),
1038         reuse its Frame (if it has one) instead of creating multiple Frames.
1039
1040         Test: fast/dom/HTMLObjectElement/children-changed.html
1041
1042         * loader/FrameLoader.cpp:
1043         (WebCore::FrameLoader::requestObject):
1044
1045 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
1046
1047         Reviewed by Kenneth Rohde Christiansen.
1048
1049         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
1050         since adjustment of RW-section base address will be needed for all new symbian
1051         tool chains, specifically for arm and gcc compilation targets.
1052         Also, change target address to 0xE00000 to be sufficient for all targets.
1053
1054         * WebCore.pro:
1055
1056 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
1057
1058         Reviewed by Timothy Hatcher.
1059
1060         Web Inspector: Crash when inspecting
1061         WebCore\manual-tests\inspector\dom-mutation.html
1062
1063         https://bugs.webkit.org/show_bug.cgi?id=31259
1064
1065         * inspector/InspectorDOMAgent.cpp:
1066         (WebCore::InspectorDOMAgent::handleEvent):
1067
1068 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1069
1070         Reviewed by Kenneth Rohde Christiansen.
1071
1072         [Qt] Few classes have virtual functions but non-virtual destructor
1073         https://bugs.webkit.org/show_bug.cgi?id=31269
1074
1075         No new tests as there is no functional change.
1076
1077         * platform/qt/QWebPageClient.h:
1078         (QWebPageClient::~QWebPageClient): Add virtual destructor.
1079
1080 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
1081
1082         Reviewed by Kenneth Rohde Christiansen.
1083
1084         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
1085         https://bugs.webkit.org/show_bug.cgi?id=31140
1086
1087         QtNetwork interprets null string as request to remove the header, not add it.
1088         Replace null values with empty values before passing them to QtNetwork.
1089
1090         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
1091
1092         * platform/network/qt/ResourceRequestQt.cpp:
1093         (WebCore::ResourceRequest::toNetworkRequest):
1094
1095 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
1096
1097         Reviewed by Kevin Ollivier.
1098
1099         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
1100         simply ignored before resulting in transparent areas being black in PNG
1101         images for example.
1102         
1103         https://bugs.webkit.org/show_bug.cgi?id=30823
1104
1105         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1106         (WebCore::RGBA32Buffer::asNewNativeImage):
1107
1108 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1109
1110         Reviewed by Kenneth Rohde Christiansen.
1111
1112         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
1113         https://bugs.webkit.org/show_bug.cgi?id=31040
1114
1115         No new tests as there is no functional change.
1116
1117         * dom/Document.cpp:
1118         (WebCore::Document::recalcStyleSelector):
1119         * editing/TextIterator.cpp:
1120         (WebCore::pushFullyClippedState):
1121         * editing/VisibleSelection.cpp:
1122         (WebCore::VisibleSelection::appendTrailingWhitespace):
1123         * html/HTMLLinkElement.cpp:
1124         (WebCore::HTMLLinkElement::process):
1125         * loader/RedirectScheduler.cpp:
1126         (WebCore::RedirectScheduler::mustLockBackForwardList):
1127         * loader/appcache/ApplicationCacheGroup.cpp:
1128         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1129         * platform/graphics/qt/FontCacheQt.cpp:
1130         (WebCore::FontPlatformDataCacheKey::computeHash):
1131         * rendering/RenderBlock.cpp:
1132         (WebCore::RenderBlock::handleRunInChild):
1133         * rendering/RenderBox.cpp:
1134         (WebCore::RenderBox::calcHeight):
1135         * rendering/RenderTextControlMultiLine.cpp:
1136         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1137         * rendering/style/RenderStyle.cpp:
1138         (WebCore::RenderStyle::diff):
1139         * svg/SVGAnimateElement.cpp:
1140         (WebCore::parseNumberValueAndUnit):
1141         * svg/SVGAnimationElement.cpp:
1142         (WebCore::SVGAnimationElement::startedActiveInterval):
1143         * svg/SVGPreserveAspectRatio.cpp:
1144         (WebCore::SVGPreserveAspectRatio::getCTM):
1145
1146 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
1147
1148         Reviewed by Dimitri Glazkov.
1149
1150         Win chromium is slow to draw transparent texts
1151         https://bugs.webkit.org/show_bug.cgi?id=31258
1152
1153         Clip graphics context to reduce calculation.
1154
1155         No new tests because this change only affects performance.
1156
1157         * platform/graphics/chromium/FontChromiumWin.cpp:
1158         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1159         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1160
1161 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
1162
1163         Reviewed by Darin Adler.
1164
1165         showTree(CounterNode*) generates too little info and has too many spaces.
1166         https://bugs.webkit.org/show_bug.cgi?id=31212
1167
1168         No new tests as the change has no functional effect it is just for
1169         improved debugging.
1170
1171         * rendering/CounterNode.cpp:
1172         (WebCore::showTreeAndMark):
1173         Changed to also show addresses of parent, next and previous
1174         siblings.
1175
1176 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
1177
1178         Reviewed by Darin Adler.
1179
1180         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
1181         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=31083
1184
1185         No new tests; implementation is unchanged.
1186
1187         * page/Frame.cpp:
1188         (WebCore::Frame::setUseSecureKeyboardEntry):
1189         * page/mac/FrameMac.mm:
1190
1191 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1192
1193         Reviewed by Jan Alonzo.
1194
1195         Make XP_UNIX tests consistent
1196         https://bugs.webkit.org/show_bug.cgi?id=31250
1197
1198         No new tests as there is no functional change.
1199
1200         * plugins/PluginView.cpp:
1201         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
1202         instead of the value of the macro
1203
1204         * plugins/gtk/PluginViewGtk.cpp:
1205         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
1206         defined instead of using the PLATFORM macro to be consistent
1207         (WebCore::PluginView::getValue): Ditto.
1208
1209 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
1210
1211         Reviewed by Darin Adler.
1212
1213         Thunk to the main thread from ~Database to deref Database's m_document.
1214
1215         If the Database was the Document's last referrer, then ~Document occurs on the
1216         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
1217         ASSERT in debug builds.
1218
1219         * storage/Database.cpp:
1220         (WebCore::derefDocument):
1221         (WebCore::Database::~Database):
1222
1223 2009-11-09  Mark Mentovai  <mark@chromium.org>
1224
1225         Reviewed by Dan Bernstein.
1226
1227         Track "can have scrollbar" state within FrameView independently of the
1228         individual scrollbar states in ScrollView.
1229
1230         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
1231         REGRESSION (r48064): mint.com loses scrollbars after coming out of
1232         edit mode.
1233
1234         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
1235         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
1236
1237         Test: fast/overflow/scrollbar-restored.html
1238
1239         * WebCore.base.exp:
1240         * page/FrameView.cpp:
1241         (WebCore::FrameView::FrameView):
1242         (WebCore::FrameView::resetScrollbars):
1243         (WebCore::FrameView::setCanHaveScrollbars):
1244         (WebCore::FrameView::updateCanHaveScrollbars):
1245         (WebCore::FrameView::layout):
1246         * page/FrameView.h:
1247         * platform/ScrollView.h:
1248
1249 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
1250
1251         Reviewed by Timothy Hatcher.
1252
1253         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
1254         https://bugs.webkit.org/show_bug.cgi?id=31257
1255
1256         * inspector/front-end/SourceFrame.js:
1257
1258 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
1259
1260         Reviewed by Timothy Hatcher.
1261
1262         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
1263         https://bugs.webkit.org/show_bug.cgi?id=31252
1264
1265         Route F1-F12 keypresses in the Console view to the current panel if there is one.
1266
1267         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
1268
1269         * inspector/front-end/ConsoleView.js:
1270         (WebInspector.ConsoleView.prototype._promptKeyDown):
1271         * inspector/front-end/utilities.js:
1272         ():
1273         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
1274
1275 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
1276
1277         Reviewed by Kenneth Rohde Christiansen.
1278
1279         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
1280         https://bugs.webkit.org/show_bug.cgi?id=31208
1281
1282         After r42483, the credentials are no longer passed to the network request
1283         in the URL of the request.
1284         Pass the credentials from XMLHTTPRequest to the network request, the same
1285         way that other ports do.
1286
1287         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
1288
1289         * platform/network/qt/ResourceHandleQt.cpp:
1290         (WebCore::ResourceHandle::start):
1291         (WebCore::ResourceHandle::loadResourceSynchronously):
1292
1293 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1294
1295         Unreviewed.
1296
1297         https://bugs.webkit.org/show_bug.cgi?id=31161
1298
1299         Roll back r50657 because it breaks the MAC builds.
1300
1301         * loader/ImageLoader.cpp:
1302         * loader/ProgressTracker.cpp:
1303         * loader/RedirectScheduler.cpp:
1304         * loader/Request.h:
1305         * loader/ThreadableLoaderClient.h:
1306         * loader/WorkerThreadableLoader.h:
1307         * loader/appcache/ApplicationCacheHost.h:
1308         * loader/appcache/ApplicationCacheStorage.h:
1309         * loader/icon/IconDatabaseClient.h:
1310
1311 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1312
1313         Reviewed by Darin Adler.
1314
1315         Allow custom memory allocation control for the part of loader directory in WebCore
1316         https://bugs.webkit.org/show_bug.cgi?id=31161
1317
1318         Inherits the following classes from Noncopyable because these are instantiated
1319         by 'new' and these are no need to be copyable:
1320
1321         class Request - WebCore/loader/loader.cpp:100
1322         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
1323         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
1324         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
1325         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
1326         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
1327         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
1328
1329         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
1330         MainThreadBridge is instantiated by 'new' in 
1331         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
1332
1333         ThreadableLoaderClient's inheriting has been changed to public.
1334
1335         * loader/ImageLoader.cpp:
1336         * loader/ProgressTracker.cpp:
1337         * loader/RedirectScheduler.cpp:
1338         * loader/Request.h:
1339         * loader/ThreadableLoaderClient.h:
1340         * loader/WorkerThreadableLoader.h:
1341         * loader/appcache/ApplicationCacheHost.h:
1342         * loader/appcache/ApplicationCacheStorage.h:
1343         * loader/icon/IconDatabaseClient.h:
1344
1345 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1346
1347         Reviewed by Darin Adler.
1348
1349         Allow custom memory allocation control for WebCore's DocLoader
1350         https://bugs.webkit.org/show_bug.cgi?id=31163
1351
1352         Inherits DocLoader class from Noncopyable because it is
1353         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
1354         it is no need to be copyable.
1355
1356         * loader/DocLoader.h:
1357
1358 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1359
1360         Reviewed by Darin Adler.
1361
1362         Allow custom memory allocation control for WebCore's Tokenizer
1363         https://bugs.webkit.org/show_bug.cgi?id=31162
1364
1365         Inherits Tokenizer class from Noncopyable because (its child class)
1366         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
1367         and it is no need to be copyable.
1368
1369         * dom/Tokenizer.h:
1370
1371 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1372
1373         Reviewed by Darin Adler.
1374
1375         Allow custom memory allocation control for WebCore's DeleteButtonController
1376         https://bugs.webkit.org/show_bug.cgi?id=31105
1377
1378         Inherits DeleteButtonController class from Noncopyable because it is 
1379         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
1380         it is no need to be copyable.  
1381
1382         * editing/DeleteButtonController.h:
1383
1384 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
1385
1386         Reviewed by Jan Alonzo.
1387
1388         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
1389         https://bugs.webkit.org/show_bug.cgi?id=30482
1390
1391         Expose Page::tabKeyCyclesThroughElements as a property of
1392         WebKitWebView.
1393
1394         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
1395
1396         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
1397         (WebCore::singleCharacterString):
1398
1399 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1400
1401         Reviewed by Xan Lopez.
1402
1403         https://bugs.webkit.org/show_bug.cgi?id=25415
1404         [GTK][ATK] Please implement support for get_text_at_offset
1405
1406         Fix a crasher that occurred with text which included newline
1407         chars in the markup.
1408
1409         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1410         (convertUniCharToUTF8):
1411
1412 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
1413
1414         Reviewed by Holger Freyther.
1415
1416         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
1417         https://bugs.webkit.org/show_bug.cgi?id=31144
1418
1419         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
1420         documents that end prematurely but are not considered invalid by QXmlStream.
1421         This is to stay compatible with the libxml2 implementation.
1422         However, that code path would be also hit in situations when it should not,
1423         i.e. the error would have already been caught and handled. As a result, the
1424         same error would be reported twice.
1425
1426         No new tests, because the problem is already covered by
1427         fast/parser/xml-declaration-missing-ending-mark.html.
1428
1429         * dom/XMLTokenizerQt.cpp:
1430         (WebCore::XMLTokenizer::doEnd):
1431
1432 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
1433
1434         Reviewed by Pavel Feldman.
1435
1436         Web Inspector: Inspector should support copy() in the command line
1437         https://bugs.webkit.org/show_bug.cgi?id=31238
1438
1439         * inspector/InspectorBackend.cpp:
1440         (WebCore::InspectorBackend::copyText): Added.
1441         * inspector/InspectorBackend.h: Added copyText
1442         * inspector/InspectorBackend.idl: Added copyText
1443         * inspector/front-end/InjectedScript.js:
1444         (InjectedScript._copy): Added.
1445         (InjectedScript._ensureCommandLineAPIInstalled):
1446
1447 2009-11-08  Drew Wilson  <atwilson@chromium.org>
1448
1449         Reviewed by Dimitri Glazkov.
1450
1451         V8 WorkerContextExecutionProxy does not handle SharedWorkers
1452         https://bugs.webkit.org/show_bug.cgi?id=31226
1453
1454         Now checks to see what type of context is active and creates the
1455         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
1456
1457         Added support for converting to SharedWorkers and SharedWorkerContexts.
1458
1459         Test: Existing layout tests cover this case (start passing in Chrome).
1460
1461         * bindings/v8/WorkerContextExecutionProxy.cpp:
1462         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1463         Now generates the right type of DOMWrapper for SharedWorkerContexts.
1464         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1465         Added support for SHAREDWORKERCONTEXT.
1466         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1467         Added support for SharedWorker and SharedWorkerContext.
1468
1469 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
1470
1471         Reviewed by Dimitri Glazkov.
1472
1473         https://bugs.webkit.org/show_bug.cgi?id=31224
1474         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
1475
1476         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
1477
1478         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1479         (WebCore::NAMED_PROPERTY_GETTER):
1480
1481 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1482
1483         Reviewed by Timothy Hatcher.
1484
1485         Web Inspector: "Search again" on scripts panel switches
1486         to the script this search started with.
1487
1488         https://bugs.webkit.org/show_bug.cgi?id=31243
1489
1490         * inspector/front-end/Panel.js:
1491         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1492
1493 2009-11-08  Kent Tamura  <tkent@chromium.org>
1494
1495         Reviewed by Darin Adler.
1496
1497         Simplify Icon interface.
1498         https://bugs.webkit.org/show_bug.cgi?id=31154
1499
1500         - Remove Icon::createIconForFile().  createIconForFiles() covers
1501           createIconForFile()'s role.
1502         - Remove FileChooser::chooseIcon()
1503         - Change the parameter types of FileChooser constructor and the
1504           factory method, String -> const Vector<String>&, in order to
1505           support initialization with multiple files.
1506         - Remove the icon loading code in IconChromiumWin.cpp, which
1507           doesn't work because of the sandbox.
1508
1509         No tests because it's just a refactoring.
1510
1511         * platform/FileChooser.cpp:
1512         (WebCore::FileChooser::FileChooser):
1513         (WebCore::FileChooser::create):
1514         (WebCore::FileChooser::chooseFile):
1515         (WebCore::FileChooser::chooseFiles):
1516         * platform/FileChooser.h:
1517         * platform/graphics/Icon.h:
1518         * platform/graphics/chromium/IconChromiumLinux.cpp:
1519         * platform/graphics/chromium/IconChromiumMac.cpp:
1520         * platform/graphics/chromium/IconChromiumWin.cpp:
1521         (WebCore::Icon::createIconForFiles):
1522         * platform/graphics/gtk/IconGtk.cpp:
1523         (WebCore::Icon::createIconForFiles):
1524         * platform/graphics/haiku/IconHaiku.cpp:
1525         * platform/graphics/mac/IconMac.mm:
1526         (WebCore::Icon::createIconForFiles):
1527         * platform/graphics/qt/IconQt.cpp:
1528         (WebCore::Icon::createIconForFiles):
1529         * platform/graphics/win/IconWin.cpp:
1530         (WebCore::Icon::createIconForFiles):
1531         * platform/graphics/wx/IconWx.cpp:
1532         * rendering/RenderFileUploadControl.cpp:
1533         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
1534
1535 2009-11-08  Daniel Bates  <dbates@webkit.org>
1536
1537         Reviewed by Adam Barth.
1538
1539         https://bugs.webkit.org/show_bug.cgi?id=31098
1540
1541         Allows same-origin plugin-based content to load.
1542
1543         Test: http/tests/security/xssAuditor/object-src-inject.html
1544
1545         * page/XSSAuditor.cpp:
1546         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
1547         (WebCore::XSSAuditor::canLoadObject): Ditto.
1548         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
1549         (WebCore::XSSAuditor::isSameOriginResource): Added.
1550         * page/XSSAuditor.h:
1551
1552 2009-11-08  David Levin  <levin@chromium.org>
1553
1554         Reviewed by NOBODY (chromium build fix).
1555
1556         * platform/network/HTTPParsers.cpp:
1557         (WebCore::parseDate): Changed this to not
1558         use a date parser that needs ExecState passed.
1559         
1560 2009-11-08  David Levin  <levin@chromium.org>
1561
1562         Unreviewed build fix for chromium.
1563
1564         * platform/graphics/skia/GraphicsContextSkia.cpp:
1565         (WebCore::GraphicsContext::fillPath):
1566         (WebCore::GraphicsContext::fillRect):
1567         (WebCore::GraphicsContext::strokePath):
1568         (WebCore::GraphicsContext::strokeRect):
1569
1570 2009-11-08  David Levin  <levin@chromium.org>
1571
1572         Unreviewed build fix for chromium.
1573
1574         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
1575         Clean up GraphicsContext's current concept of ColorSpace
1576
1577         * platform/graphics/skia/GraphicsContextSkia.cpp:
1578         (WebCore::GraphicsContext::fillPath):
1579         (WebCore::GraphicsContext::fillRect):
1580         (WebCore::GraphicsContext::strokePath):
1581         (WebCore::GraphicsContext::strokeRect):
1582
1583 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1584
1585         Reviewed by Timothy Hatcher.
1586
1587         Web Inspector: [REGRESSION] committing style edit
1588         clears elements panel selection.
1589
1590         https://bugs.webkit.org/show_bug.cgi?id=31242
1591
1592         * inspector/front-end/ElementsTreeOutline.js:
1593         (WebInspector.ElementsTreeOutline.prototype.update):
1594         * inspector/front-end/StylesSidebarPane.js:
1595         (WebInspector.StylePropertyTreeElement.prototype.):
1596         (WebInspector.StylePropertyTreeElement.prototype):
1597
1598 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
1599
1600         Reviewed by Holger Freyther.
1601
1602         ResourceRequest to be class instead of struct
1603         https://bugs.webkit.org/show_bug.cgi?id=30670
1604
1605         Started as a compilation fix for Symbian where the compiler makes a distinction between
1606         class and struct in function argument signatures.
1607         Changed all forward declarations of ResourceRequest to have class in the forward
1608         declaration instead of struct and changed the definition of ResourceRequest to be class
1609         and added access qualifiers where missing. Additionally two references of friend
1610         struct ResourceRequestBase changed to class instead.
1611
1612         * history/HistoryItem.h:
1613         * inspector/InspectorController.h:
1614         * inspector/InspectorResource.h:
1615         * loader/DocumentThreadableLoader.h:
1616         * loader/FrameLoaderClient.h:
1617         * loader/MainResourceLoader.h:
1618         * loader/ResourceLoadNotifier.h:
1619         * loader/SubresourceLoader.h:
1620         * loader/SubresourceLoaderClient.h:
1621         * loader/ThreadableLoader.h:
1622         * loader/WorkerThreadableLoader.h:
1623         * loader/appcache/ApplicationCache.h:
1624         * loader/appcache/ApplicationCacheHost.h:
1625         * platform/CrossThreadCopier.h:
1626         * platform/network/ResourceHandle.h:
1627         * platform/network/ResourceHandleClient.h:
1628         * platform/network/ResourceRequestBase.h:
1629         * platform/network/cf/ResourceRequest.h:
1630         * platform/network/cf/ResourceRequestCFNet.h:
1631         * platform/network/chromium/ResourceRequest.h:
1632         * platform/network/curl/ResourceRequest.h:
1633         * platform/network/qt/ResourceRequest.h:
1634         * platform/network/soup/ResourceRequest.h:
1635         * xml/XMLHttpRequest.h:
1636
1637 2009-11-08  Dan Bernstein  <mitz@apple.com>
1638
1639         Reviewed by Simon Fraser.
1640
1641         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
1642         below FrameView::layout
1643         https://bugs.webkit.org/show_bug.cgi?id=31093
1644
1645         Test: fast/block/positioning/relative-positioned-inline-container.html
1646
1647         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
1648         to mark the object for layout, doing so without marking its ancestors.
1649         However, RenderBlock::skipLeadingWhitespace and
1650         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
1651         positioned inline container, causing it to be marked for layout without
1652         ever going back to give it layout, and thus layout could end with a
1653         dirty object still in the tree, leading to all sorts of badness.
1654
1655         The fix is to revert setStaticY() to not marking the object dirty, and
1656         instead do it in the call sites that require it, which are in
1657         RenderBlock and RenderFlexibleBox.
1658
1659         * rendering/RenderBlock.cpp:
1660         (WebCore::RenderBlock::adjustPositionedBlock):
1661         * rendering/RenderFlexibleBox.cpp:
1662         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1663         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1664         * rendering/RenderLayer.cpp:
1665         * rendering/RenderLayer.h:
1666         (WebCore::RenderLayer::setStaticY):
1667
1668 2009-11-07  Daniel Bates  <dbates@webkit.org>
1669
1670         Reviewed by Darin Adler.
1671
1672         https://bugs.webkit.org/show_bug.cgi?id=20780
1673         
1674         Fixes an issue where the onchange event handler is not fired when the 
1675         input field is autocompleted.
1676         
1677         We cannot test this using DRT since DRT cannot emulate autocompletion.
1678         So, a manual-test is included.
1679
1680         Tests: manual-tests/autocompletion-fire-onchange.html
1681
1682         * manual-tests/autocompletion-fire-onchange.html: Added.
1683         * rendering/RenderTextControl.cpp:
1684         (WebCore::RenderTextControl::setInnerTextValue):
1685
1686 2009-11-07  Benjamin Otte  <otte@gnome.org>
1687
1688         Reviewed by Holger Freyther.
1689
1690         Mark redrawn areas on image surfaces as dirty.
1691
1692         This is required to conform to the Cairo API, but is currently only
1693         used by debugging tools like cairo-trace.
1694
1695         * platform/graphics/cairo/ImageBufferCairo.cpp:
1696         (WebCore::ImageBuffer::platformTransformColorSpace):
1697         (WebCore::putImageData):
1698
1699 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1700
1701         Reviewed by Xan Lopez.
1702
1703         https://bugs.webkit.org/show_bug.cgi?id=30878
1704         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
1705
1706         If the end_offset is -1, use the String length as the end_offset.
1707
1708         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1709         (webkit_accessible_text_get_text):
1710
1711 2009-11-06  Beth Dakin  <bdakin@apple.com>
1712
1713         Reviewed by Adele Peterson.
1714
1715         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
1716         GraphicsContext's current concept of ColorSpace
1717
1718         ColorSpace is now called ColorType. The variables on the state we 
1719         appropriately re-named as well. I removed strokeColorSpace() and 
1720         fillColorSpace() from GraphicsContext since they were never called. 
1721
1722         * platform/graphics/GraphicsContext.cpp:
1723         (WebCore::GraphicsContext::setStrokeColor):
1724         (WebCore::GraphicsContext::setFillColor):
1725         (WebCore::GraphicsContext::setStrokePattern):
1726         (WebCore::GraphicsContext::setFillPattern):
1727         (WebCore::GraphicsContext::setStrokeGradient):
1728         (WebCore::GraphicsContext::setFillGradient):
1729         * platform/graphics/GraphicsContext.h:
1730         (WebCore::):
1731         * platform/graphics/GraphicsContextPrivate.h:
1732         (WebCore::GraphicsContextState::GraphicsContextState):
1733         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1734         (WebCore::GraphicsContext::fillPath):
1735         (WebCore::GraphicsContext::strokePath):
1736         * platform/graphics/cg/GraphicsContextCG.cpp:
1737         (WebCore::calculateDrawingMode):
1738         (WebCore::GraphicsContext::drawPath):
1739         (WebCore::GraphicsContext::fillPath):
1740         (WebCore::GraphicsContext::strokePath):
1741         (WebCore::GraphicsContext::fillRect):
1742         (WebCore::GraphicsContext::strokeRect):
1743         * platform/graphics/qt/GraphicsContextQt.cpp:
1744         (WebCore::GraphicsContext::fillPath):
1745         (WebCore::GraphicsContext::strokePath):
1746         (WebCore::GraphicsContext::fillRect):
1747         * platform/graphics/wince/GraphicsContextWince.cpp:
1748         (WebCore::GraphicsContext::fillPath):
1749         (WebCore::GraphicsContext::fillRect):
1750
1751 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
1752
1753         Reviewed by Tim Hatcher.
1754
1755         Fixes <http://webkit.org/b/31177>.
1756         Web Inspector: Bind backspace to delete cookies and DOM Storage.
1757         
1758         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
1759         places in the inspector can use editing in DataGrid (added a FIXME for
1760         some stuff that needs to be generalized).
1761         
1762         Also added deleting functionality to DataGrid, and implemented it for
1763         Cookies and DOM Storage. The reason this patch is so big is because of
1764         the refactoring of editing code, which won't be used yet in a cross-datagrid
1765         way, but should be able to.
1766         
1767         Additionally, moved the callbacks members from DOMStorageDataGrid to
1768         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
1769         make the architecture of DOM Storage look a lot more like the Cookies view.
1770         
1771         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
1772         inspector from beeping at you when you delete an element.
1773
1774         * WebCore.gypi: Removed DOMStorageDataGrid.
1775         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
1776         * inspector/front-end/CookieItemsView.js:
1777         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
1778         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1779         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
1780         * inspector/front-end/DOMStorageDataGrid.js: Removed.
1781         * inspector/front-end/DOMStorageItemsView.js:
1782         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
1783         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
1784         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1785         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
1786         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
1787         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
1788         * inspector/front-end/DataGrid.js:
1789         (WebInspector.DataGrid):
1790         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
1791         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
1792         (WebInspector.DataGrid.prototype._startEditing): Ditto.
1793         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
1794         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
1795         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
1796         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
1797         * inspector/front-end/ElementsTreeOutline.js:
1798         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
1799         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
1800         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
1801
1802 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1803
1804         Qt build fix: added an ExecState parameter.
1805
1806         * bridge/qt/qt_runtime.cpp:
1807         (JSC::Bindings::convertValueToQVariant):
1808         (JSC::Bindings::convertQVariantToValue):
1809
1810 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1811
1812         https://bugs.webkit.org/show_bug.cgi?id=31197
1813         Implemented a timezone cache not based on Mac OS X's notify_check API.
1814
1815         Updated for JavaScriptCore internal API change.
1816
1817         * bridge/qt/qt_runtime.cpp:
1818         (JSC::Bindings::convertValueToQVariant):
1819         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
1820
1821         * platform/network/HTTPParsers.cpp:
1822         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
1823         (This function probably shouldn't be using a JavaScript date parser
1824         to begin with, but oh well.)
1825
1826 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
1827
1828         Reviewed by Adam Barth.
1829
1830         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
1831         which affects Chromium only.
1832         
1833         Changes to V8HTMLDocumentCustom.cpp are as below:-
1834         1. The HTMLDocumentOpen function would cause a crash in Chromium if
1835            there was no calling javascript context. We now check for this case
1836            and pass in NULL to the HTMLDocument::open function which can handle
1837            a NULL document parameter.
1838         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
1839            had ASSERTS for a NULL caller frame, which was bogus as it would crash
1840            anyway. We now check for this case and return a failure.
1841            
1842         Changes to V8DOMWindowCustom.cpp are as below:-
1843         1. Instead of failing the window.open call made by NPAPI for lack of a
1844            calling javascript context, we now use the entered context as the calling
1845            context.
1846
1847         Tests: plugins/document-open.html
1848                plugins/window-open.html
1849
1850         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1851         (WebCore::CALLBACK_FUNC_DECL):
1852         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1853         (WebCore::CALLBACK_FUNC_DECL):
1854
1855 2009-11-06  Steve Block  <steveblock@google.com>
1856
1857         Reviewed by Eric Seidel.
1858
1859         Geolocation error code UNKNOWN_ERROR is deprecated.
1860         https://bugs.webkit.org/show_bug.cgi?id=31184
1861
1862         Remove this error code from PositionError, both for use from C++ code and from the JS object.
1863
1864         Updated fast/dom/Geolocation/error.html to test this.
1865
1866         * page/PositionError.h: Modified.
1867         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
1868         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
1869         * page/Geolocation.cpp: Modified.
1870         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1871         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1872         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1873
1874 2009-11-06  Dirk Schulze  <krit@webkit.org>
1875
1876         Reviewed by Nikolas Zimmermann.
1877
1878         feMorphology filter is not implemented
1879         [https://bugs.webkit.org/show_bug.cgi?id=5863]
1880
1881         The Implementation of feMorphology.
1882         
1883         Test: We have allready a test for feMorphology
1884               svg/W3C-SVG-1.1/filters-morph-01-f.svg
1885
1886         * svg/graphics/filters/SVGFEMorphology.cpp:
1887         (WebCore::FEMorphology::apply):
1888
1889 2009-11-06  Steve Block  <steveblock@google.com>
1890
1891         Reviewed by Eric Seidel.
1892
1893         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
1894         https://bugs.webkit.org/show_bug.cgi?id=31209
1895
1896         Build fix only. No new tests possible.
1897
1898         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
1899
1900 2009-11-06  Drew Wilson  <atwilson@chromium.org>
1901
1902         Reviewed by David Levin.
1903
1904         V8 bindings do not support SharedWorkers as event targets
1905         https://bugs.webkit.org/show_bug.cgi?id=31199
1906
1907         No new tests because existing layout tests suffice (they currently
1908         crash on Chromium)
1909
1910         * bindings/v8/V8DOMWrapper.cpp:
1911         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1912         Added clause to create a DOM wrapper for SharedWorkers.
1913
1914 2009-11-06  Anton Muhin  <antonm@chromium.org>
1915
1916         Reviewed by Adam Barth.
1917
1918         Do not unnecessarly synchronzie in weak reference callbacks.
1919         https://bugs.webkit.org/show_bug.cgi?id=31191
1920
1921         * bindings/v8/DOMData.h:
1922         (WebCore::DOMData::handleWeakObject):
1923
1924 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
1925
1926         Reviewed by Pavel Feldman.
1927
1928         Fix resource content search.
1929         https://bugs.webkit.org/show_bug.cgi?id=31202
1930
1931         * inspector/front-end/AbstractTimelinePanel.js:
1932         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1933         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
1934         * inspector/front-end/TimelinePanel.js:
1935         (WebInspector.TimelineGraph.prototype.refresh):
1936
1937 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
1938
1939         Reviewed by Eric Seidel.
1940
1941         Fix ASSERT(currentStyle = renderStyle()).
1942         https://bugs.webkit.org/show_bug.cgi?id=31152
1943
1944         * dom/Element.cpp:
1945         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
1946
1947 2009-11-05  Alpha Lam  <hclam@chromium.org>
1948
1949         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
1950
1951         * bindings/v8/V8GCController.cpp:
1952         (WebCore::V8GCController::gcEpilogue):
1953         * bindings/v8/V8GCController.h:
1954         * bindings/v8/V8Proxy.cpp:
1955         (WebCore::V8Proxy::evaluate):
1956         (WebCore::V8Proxy::runScript):
1957         (WebCore::V8Proxy::callFunction):
1958
1959 2009-11-05  Adam Barth  <abarth@webkit.org>
1960
1961         Reviewed by Sam Weinig.
1962
1963         Cross-domain access to stylesheet text should not be allowed
1964         https://bugs.webkit.org/show_bug.cgi?id=20527
1965
1966         Check whether whether the current document can read the cssRules from
1967         the style sheet.  Firefox throws a security error here, but we return
1968         null instead because that's what we usually do in these cases.
1969
1970         Test: http/tests/security/cannot-read-cssrules-redirect.html
1971               http/tests/security/cannot-read-cssrules.html
1972
1973         * css/CSSStyleSheet.cpp:
1974         (WebCore::CSSStyleSheet::cssRules):
1975
1976 2009-11-05  Steve Block  <steveblock@google.com>
1977
1978         Reviewed by Eric Seidel.
1979
1980         If the Geolocation service fails to start, invoke the error callback asynchronously.
1981         https://bugs.webkit.org/show_bug.cgi?id=28276
1982
1983         All Geolocation callbacks must be invoked asynchronously.
1984         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
1985
1986         No new tests possible with current LayoutTestController.
1987
1988         * page/Geolocation.cpp:
1989         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
1990         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
1991         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
1992
1993 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
1994
1995         Reviewed by Eric Seidel.
1996
1997         Removed the "this is part of the KDE project" comments from 
1998         all *.h, *.cpp, *.idl, and *.pm files.
1999         
2000         https://bugs.webkit.org/show_bug.cgi?id=31167
2001         
2002         The maintenance and architecture page in the project wiki lists
2003         this as a task.
2004         
2005         This change includes no changes or additions to test cases 
2006         since the change affects only comments.
2007
2008         * bindings/scripts/CodeGeneratorV8.pm:
2009         * bindings/scripts/IDLParser.pm:
2010         * bindings/scripts/IDLStructure.pm:
2011         * css/CSSInheritedValue.cpp:
2012         * css/CSSInitialValue.cpp:
2013         * css/CSSMediaRule.cpp:
2014         * css/CSSNamespace.h:
2015         * css/CSSProperty.cpp:
2016         * css/CSSProperty.h:
2017         * css/CSSRuleList.cpp:
2018         * css/CSSRuleList.h:
2019         * css/CSSSelector.h:
2020         * css/CSSValueList.cpp:
2021         * css/FontValue.cpp:
2022         * css/MediaFeatureNames.cpp:
2023         * css/MediaFeatureNames.h:
2024         * css/Pair.h:
2025         * css/SVGCSSStyleSelector.cpp:
2026         * css/ShadowValue.cpp:
2027         * css/StyleSheet.cpp:
2028         * css/StyleSheetList.cpp:
2029         * css/maketokenizer:
2030         * dom/BeforeUnloadEvent.cpp:
2031         * dom/BeforeUnloadEvent.h:
2032         * dom/CSSMappedAttributeDeclaration.cpp:
2033         * dom/EventNames.cpp:
2034         * dom/EventTarget.cpp:
2035         * dom/MappedAttributeEntry.h:
2036         * dom/MouseRelatedEvent.h:
2037         * dom/RangeException.h:
2038         * dom/StyleElement.h:
2039         * dom/Tokenizer.h:
2040         * html/HTMLHeadElement.h:
2041         * html/HTMLHeadingElement.cpp:
2042         * html/HTMLHeadingElement.h:
2043         * html/HTMLHtmlElement.h:
2044         * html/HTMLImageLoader.h:
2045         * html/HTMLMetaElement.h:
2046         * html/HTMLModElement.cpp:
2047         * html/HTMLModElement.h:
2048         * html/HTMLOptionsCollection.cpp:
2049         * html/HTMLPlugInElement.cpp:
2050         * html/HTMLPreElement.cpp:
2051         * html/HTMLPreElement.h:
2052         * html/HTMLTableCellElement.cpp:
2053         * html/HTMLTableCellElement.h:
2054         * html/HTMLTableColElement.cpp:
2055         * html/HTMLTableColElement.h:
2056         * html/HTMLTablePartElement.cpp:
2057         * html/HTMLTablePartElement.h:
2058         * html/HTMLTitleElement.h:
2059         * page/MouseEventWithHitTestResults.h:
2060         * platform/StaticConstructors.h:
2061         * platform/text/AtomicStringImpl.h:
2062         * platform/text/qt/TextBreakIteratorQt.cpp:
2063         * rendering/AutoTableLayout.h:
2064         * rendering/CounterNode.cpp:
2065         * rendering/EllipsisBox.cpp:
2066         * rendering/EllipsisBox.h:
2067         * rendering/FixedTableLayout.cpp:
2068         * rendering/FixedTableLayout.h:
2069         * rendering/HitTestRequest.h:
2070         * rendering/HitTestResult.h:
2071         * rendering/InlineRunBox.h:
2072         * rendering/PointerEventsHitRules.cpp:
2073         * rendering/PointerEventsHitRules.h:
2074         * rendering/RenderBR.cpp:
2075         * rendering/RenderBR.h:
2076         * rendering/RenderButton.cpp:
2077         * rendering/RenderButton.h:
2078         * rendering/RenderFieldset.cpp:
2079         * rendering/RenderFrameSet.cpp:
2080         * rendering/RenderListItem.cpp:
2081         * rendering/RenderTableRow.cpp:
2082         * rendering/RenderView.h:
2083         * rendering/RootInlineBox.h:
2084         * rendering/SVGInlineTextBox.cpp:
2085         * rendering/SVGInlineTextBox.h:
2086         * rendering/TableLayout.h:
2087         * rendering/break_lines.h:
2088         * rendering/style/SVGRenderStyle.cpp:
2089         * rendering/style/SVGRenderStyle.h:
2090         * rendering/style/SVGRenderStyleDefs.cpp:
2091         * rendering/style/SVGRenderStyleDefs.h:
2092         * svg/GradientAttributes.h:
2093         * svg/LinearGradientAttributes.h:
2094         * svg/PatternAttributes.h:
2095         * svg/RadialGradientAttributes.h:
2096         * svg/SVGAElement.cpp:
2097         * svg/SVGAngle.idl:
2098         * svg/SVGAnimateColorElement.cpp:
2099         * svg/SVGAnimateColorElement.h:
2100         * svg/SVGAnimateElement.cpp:
2101         * svg/SVGAnimateElement.h:
2102         * svg/SVGAnimateTransformElement.h:
2103         * svg/SVGAnimatedPathData.cpp:
2104         * svg/SVGAnimatedPathData.h:
2105         * svg/SVGAnimatedPoints.cpp:
2106         * svg/SVGAnimatedPoints.h:
2107         * svg/SVGAnimationElement.cpp:
2108         * svg/SVGCircleElement.cpp:
2109         * svg/SVGClipPathElement.cpp:
2110         * svg/SVGColor.cpp:
2111         * svg/SVGColor.idl:
2112         * svg/SVGComponentTransferFunctionElement.cpp:
2113         * svg/SVGComponentTransferFunctionElement.h:
2114         * svg/SVGCursorElement.cpp:
2115         * svg/SVGDefsElement.cpp:
2116         * svg/SVGDescElement.cpp:
2117         * svg/SVGDescElement.h:
2118         * svg/SVGDocument.idl:
2119         * svg/SVGElement.idl:
2120         * svg/SVGElementInstanceList.cpp:
2121         * svg/SVGElementInstanceList.h:
2122         * svg/SVGEllipseElement.cpp:
2123         * svg/SVGExternalResourcesRequired.cpp:
2124         * svg/SVGFEBlendElement.cpp:
2125         * svg/SVGFEBlendElement.h:
2126         * svg/SVGFEColorMatrixElement.cpp:
2127         * svg/SVGFEColorMatrixElement.h:
2128         * svg/SVGFEComponentTransferElement.cpp:
2129         * svg/SVGFEComponentTransferElement.h:
2130         * svg/SVGFECompositeElement.cpp:
2131         * svg/SVGFECompositeElement.h:
2132         * svg/SVGFEFloodElement.cpp:
2133         * svg/SVGFEFloodElement.h:
2134         * svg/SVGFEFuncAElement.cpp:
2135         * svg/SVGFEFuncAElement.h:
2136         * svg/SVGFEFuncBElement.cpp:
2137         * svg/SVGFEFuncBElement.h:
2138         * svg/SVGFEFuncGElement.cpp:
2139         * svg/SVGFEFuncGElement.h:
2140         * svg/SVGFEFuncRElement.cpp:
2141         * svg/SVGFEFuncRElement.h:
2142         * svg/SVGFEGaussianBlurElement.cpp:
2143         * svg/SVGFEGaussianBlurElement.h:
2144         * svg/SVGFEImageElement.cpp:
2145         * svg/SVGFEMergeElement.cpp:
2146         * svg/SVGFEMergeElement.h:
2147         * svg/SVGFEMergeNodeElement.cpp:
2148         * svg/SVGFEOffsetElement.cpp:
2149         * svg/SVGFEOffsetElement.h:
2150         * svg/SVGFETileElement.cpp:
2151         * svg/SVGFETileElement.h:
2152         * svg/SVGFETurbulenceElement.cpp:
2153         * svg/SVGFETurbulenceElement.h:
2154         * svg/SVGFilterElement.cpp:
2155         * svg/SVGGElement.cpp:
2156         * svg/SVGGradientElement.cpp:
2157         * svg/SVGHKernElement.idl:
2158         * svg/SVGLangSpace.cpp:
2159         * svg/SVGLangSpace.h:
2160         * svg/SVGLength.cpp:
2161         * svg/SVGLength.h:
2162         * svg/SVGLength.idl:
2163         * svg/SVGLengthList.cpp:
2164         * svg/SVGLengthList.h:
2165         * svg/SVGLineElement.cpp:
2166         * svg/SVGLinearGradientElement.h:
2167         * svg/SVGList.h:
2168         * svg/SVGListTraits.h:
2169         * svg/SVGLocatable.h:
2170         * svg/SVGMaskElement.cpp:
2171         * svg/SVGMatrix.idl:
2172         * svg/SVGMetadataElement.cpp:
2173         * svg/SVGMetadataElement.h:
2174         * svg/SVGMetadataElement.idl:
2175         * svg/SVGNumber.idl:
2176         * svg/SVGNumberList.cpp:
2177         * svg/SVGNumberList.h:
2178         * svg/SVGPaint.cpp:
2179         * svg/SVGPathElement.cpp:
2180         * svg/SVGPathSeg.h:
2181         * svg/SVGPathSegArc.cpp:
2182         * svg/SVGPathSegArc.h:
2183         * svg/SVGPathSegClosePath.cpp:
2184         * svg/SVGPathSegClosePath.h:
2185         * svg/SVGPathSegCurvetoCubic.cpp:
2186         * svg/SVGPathSegCurvetoCubic.h:
2187         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
2188         * svg/SVGPathSegCurvetoCubicSmooth.h:
2189         * svg/SVGPathSegCurvetoQuadratic.cpp:
2190         * svg/SVGPathSegCurvetoQuadratic.h:
2191         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2192         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2193         * svg/SVGPathSegLineto.cpp:
2194         * svg/SVGPathSegLineto.h:
2195         * svg/SVGPathSegLinetoHorizontal.cpp:
2196         * svg/SVGPathSegLinetoHorizontal.h:
2197         * svg/SVGPathSegLinetoVertical.cpp:
2198         * svg/SVGPathSegLinetoVertical.h:
2199         * svg/SVGPathSegMoveto.cpp:
2200         * svg/SVGPathSegMoveto.h:
2201         * svg/SVGPatternElement.cpp:
2202         * svg/SVGPoint.idl:
2203         * svg/SVGPointList.cpp:
2204         * svg/SVGPointList.h:
2205         * svg/SVGPolyElement.cpp:
2206         * svg/SVGPolygonElement.cpp:
2207         * svg/SVGPolygonElement.h:
2208         * svg/SVGPolylineElement.cpp:
2209         * svg/SVGPolylineElement.h:
2210         * svg/SVGPreserveAspectRatio.cpp:
2211         * svg/SVGPreserveAspectRatio.h:
2212         * svg/SVGRadialGradientElement.h:
2213         * svg/SVGRect.idl:
2214         * svg/SVGRectElement.cpp:
2215         * svg/SVGRenderingIntent.h:
2216         * svg/SVGSVGElement.idl:
2217         * svg/SVGScriptElement.cpp:
2218         * svg/SVGSetElement.cpp:
2219         * svg/SVGSetElement.h:
2220         * svg/SVGStopElement.cpp:
2221         * svg/SVGStringList.cpp:
2222         * svg/SVGStringList.h:
2223         * svg/SVGStylable.cpp:
2224         * svg/SVGStylable.h:
2225         * svg/SVGStyleElement.cpp:
2226         * svg/SVGStyleElement.h:
2227         * svg/SVGStyledElement.h:
2228         * svg/SVGStyledLocatableElement.cpp:
2229         * svg/SVGStyledLocatableElement.h:
2230         * svg/SVGStyledTransformableElement.cpp:
2231         * svg/SVGStyledTransformableElement.h:
2232         * svg/SVGSwitchElement.cpp:
2233         * svg/SVGSymbolElement.cpp:
2234         * svg/SVGTRefElement.cpp:
2235         * svg/SVGTSpanElement.cpp:
2236         * svg/SVGTSpanElement.h:
2237         * svg/SVGTests.h:
2238         * svg/SVGTextElement.cpp:
2239         * svg/SVGTextElement.h:
2240         * svg/SVGTextPathElement.cpp:
2241         * svg/SVGTextPositioningElement.cpp:
2242         * svg/SVGTextPositioningElement.h:
2243         * svg/SVGTitleElement.cpp:
2244         * svg/SVGTitleElement.h:
2245         * svg/SVGTransform.cpp:
2246         * svg/SVGTransform.h:
2247         * svg/SVGTransform.idl:
2248         * svg/SVGTransformList.cpp:
2249         * svg/SVGTransformList.h:
2250         * svg/SVGTransformable.h:
2251         * svg/SVGURIReference.h:
2252         * svg/SVGUnitTypes.h:
2253         * svg/SVGUseElement.cpp:
2254         * svg/SVGViewElement.cpp:
2255         * svg/SVGZoomAndPan.cpp:
2256         * svg/SVGZoomAndPan.h:
2257         * svg/SVGZoomEvent.cpp:
2258
2259 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2260
2261         Reviewed by Dimitri Glazkov.
2262
2263         REGRESSION Clean up security origin usage in DOM Storage.
2264         https://bugs.webkit.org/show_bug.cgi?id=31188
2265
2266         Clean up security origin usage in DOM Storage.  This fixes a bug in my
2267         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
2268
2269         Instead of having StorageAreaSync's constructor (which is called in the
2270         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
2271         database identifier, simply have StorageAreaImpl pass the identifier into
2272         StorageAreaSync.
2273
2274         No test because there's no change in externally observable behavior.
2275
2276         * storage/StorageAreaImpl.cpp:
2277         (WebCore::StorageAreaImpl::StorageAreaImpl):
2278         * storage/StorageAreaImpl.h:
2279         * storage/StorageAreaSync.cpp:
2280         (WebCore::StorageAreaSync::create):
2281         (WebCore::StorageAreaSync::StorageAreaSync):
2282         * storage/StorageAreaSync.h:
2283
2284 2009-11-05  Scott Violet  <sky@google.com>
2285
2286         Reviewed by Dimitri Glazkov.
2287
2288         Need notification of scrolling frame
2289         https://bugs.webkit.org/show_bug.cgi?id=31145
2290
2291         Adds FrameLoaderClient::didChangeScrollOffset that is called when
2292         the frame scrolls. This will be used to know when history state
2293         needs to be updated.
2294
2295         * loader/FrameLoaderClient.h:
2296         (WebCore::FrameLoaderClient::didChangeScrollOffset):
2297         * page/FrameView.cpp:
2298         (WebCore::FrameView::valueChanged):
2299
2300 2009-11-05  Kenneth Russell  <kbr@google.com>
2301
2302         Reviewed by Dimitri Glazkov.
2303
2304         [V8] Update bindings to use new API for external arrays
2305         https://bugs.webkit.org/show_bug.cgi?id=31181
2306
2307         No new tests; covered by existing WebGL tests.
2308
2309         * bindings/v8/V8DOMWrapper.cpp:
2310         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
2311         (WebCore::V8DOMWrapper::getTemplate):
2312         (WebCore::V8DOMWrapper::convertToV8Object):
2313         * bindings/v8/V8DOMWrapper.h:
2314         * bindings/v8/custom/V8CanvasArrayCustom.h:
2315         (WebCore::constructCanvasArray):
2316
2317 2009-11-05  Alpha Lam  <hclam@chromium.org>
2318
2319         Not reviewed, Chromium build fix.
2320
2321         50561 introduces a custom method for SVGMatrix, we need to implement
2322         this in V8.
2323
2324         * bindings/v8/custom/V8CustomBinding.h:
2325         Adding definition for V8SVGMatrixMultiply.
2326         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2327         (WebCore::CALLBACK_FUNC_DECL):
2328         Implement V8SVGMatrixMultiply according to the same method in JSC.
2329
2330 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2331
2332         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
2333
2334         * page/DOMWindow.cpp:
2335         (WebCore::DOMWindow::sessionStorage):
2336         * page/Settings.cpp:
2337         (WebCore::Settings::Settings):
2338         (WebCore::Settings::setSessionStorageEnabled):
2339         * page/Settings.h:
2340         (WebCore::Settings::sessionStorageEnabled):
2341
2342 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2343
2344         Reviewed by Timothy Hatcher.
2345
2346         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
2347
2348         https://bugs.webkit.org/show_bug.cgi?id=30884
2349
2350         Test: inspector/styles-iframe.html
2351
2352         * inspector/front-end/DOMAgent.js:
2353         (WebInspector.DOMNode):
2354         * inspector/front-end/InjectedScript.js:
2355         (InjectedScript.getStyles):
2356         (InjectedScript.getComputedStyle):
2357         (InjectedScript.addStyleSelector):
2358         * inspector/front-end/TestController.js:
2359         (WebInspector.TestController.prototype.notifyDone):
2360         (WebInspector.TestController.prototype.runAfterPendingDispatches):
2361         (WebInspector.evaluateForTestInFrontend.invokeMethod):
2362         (WebInspector.evaluateForTestInFrontend):
2363
2364 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
2365
2366         Reviewed by Geoffrey Garen and Dimitri Glazkov.
2367
2368         Rehashing of EventListenerMap leads to loss of EvenListenerList.
2369         https://bugs.webkit.org/show_bug.cgi?id=31027
2370
2371         Tested by new fast/events/event-listener-map-rehash-crash.html.
2372
2373         EventListenerMap modified to store pointers to listener vectors:
2374         * dom/EventTarget.cpp:
2375         (WebCore::EventTargetData::~EventTargetData):
2376         (WebCore::EventTarget::addEventListener):
2377         (WebCore::EventTarget::removeEventListener):
2378         (WebCore::EventTarget::fireEventListeners):
2379         (WebCore::EventTarget::getEventListeners):
2380         (WebCore::EventTarget::removeAllEventListeners):
2381         * dom/EventTarget.h:
2382
2383         Usages updated after interface changes:
2384         * inspector/InspectorDOMAgent.cpp:
2385         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2386         * svg/SVGUseElement.cpp:
2387         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
2388
2389 2009-11-05  Dan Kegel  <dank@chromium.org>
2390
2391         Reviewed by Dmitri Titov.
2392
2393         Add missing initialization for m_createdByParser.
2394         https://bugs.webkit.org/show_bug.cgi?id=31089
2395
2396         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
2397
2398         * dom/ProcessingInstruction.cpp:
2399         (WebCore::ProcessingInstruction::ProcessingInstruction):
2400
2401 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2402
2403         Reviewed by Adam Barth.
2404
2405         DOM Storage runtime flag changes
2406         https://bugs.webkit.org/show_bug.cgi?id=30602
2407
2408         Part 2/2.
2409
2410         Revert my changes to Settings and instead implement DOM Storage enabling via
2411         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
2412
2413         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
2414         LayoutTest visible changes and thus no tests.
2415
2416         * bindings/v8/custom/V8CustomBinding.h:
2417         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2418         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2419         * page/DOMWindow.cpp:
2420         (WebCore::DOMWindow::sessionStorage):
2421         * page/DOMWindow.idl:
2422         * page/Settings.cpp:
2423         (WebCore::Settings::Settings):
2424         * page/Settings.h:
2425         * storage/Storage.cpp:
2426         (WebCore::Storage::setLocalStorageAvailable):
2427         (WebCore::Storage::localStorageAvailable):
2428         (WebCore::Storage::setSessionStorageAvailable):
2429         (WebCore::Storage::sessionStorageAvailable):
2430         * storage/Storage.h:
2431
2432 2009-11-05  Jian Li  <jianli@chromium.org>
2433
2434         Reviewed by Pavel Feldman.
2435
2436         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
2437         https://bugs.webkit.org/show_bug.cgi?id=31108
2438
2439         * bindings/v8/V8AbstractEventListener.cpp:
2440         (WebCore::V8AbstractEventListener::invokeEventHandler):
2441         * bindings/v8/V8Utilities.cpp:
2442         (WebCore::reportException):
2443
2444 2009-11-05  Jian Li  <jianli@chromium.org>
2445
2446         Reviewed by Dmitri Titov.
2447
2448         We should not bubble up events if we drag something to an iframe that
2449         has an invalid source.
2450         https://bugs.webkit.org/show_bug.cgi?id=30469
2451
2452         Test: http/tests/misc/bubble-drag-events.html
2453
2454         * page/EventHandler.cpp:
2455         (WebCore::EventHandler::handleDragAndDropForTarget):
2456         (WebCore::EventHandler::updateDragAndDrop):
2457         (WebCore::EventHandler::cancelDragAndDrop):
2458         (WebCore::EventHandler::performDragAndDrop):
2459         * page/EventHandler.h:
2460         (WebCore::EventHandler::):
2461
2462 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2463
2464         Reviewed by Timothy Hatcher.
2465
2466         Web Inspector: speed up Timelines Clear by a factor of thousands.
2467
2468         https://bugs.webkit.org/show_bug.cgi?id=31160
2469
2470         * inspector/front-end/utilities.js:
2471         (Element.prototype.removeChildren):
2472
2473 2009-11-05  Anton Muhin  <antonm@chromium.org>
2474
2475         Reviewed by Adam Barth.
2476
2477         If high memory usage is detected, hint to V8 that it might be due
2478         to external objects retained by V8 objects.
2479         https://bugs.webkit.org/show_bug.cgi?id=31051
2480
2481         * bindings/v8/V8GCController.cpp:
2482         (WebCore::GetMemoryUsageInMB):
2483         (WebCore::V8GCController::gcEpilogue):
2484         (WebCore::V8GCController::checkMemoryUsage):
2485         * bindings/v8/V8GCController.h:
2486         * bindings/v8/V8Proxy.cpp:
2487         (WebCore::V8Proxy::evaluate):
2488         (WebCore::V8Proxy::runScript):
2489         (WebCore::V8Proxy::callFunction):
2490
2491 2009-11-05  Jeff Schiller  <codedread@gmail.com>
2492
2493         Reviewed by Simon Fraser.
2494
2495         Correct order of matrix multiplication for SVGMatrix.
2496         https://bugs.webkit.org/show_bug.cgi?id=16062
2497
2498         Test: svg/dom/SVGMatrix-interface.xhtml
2499
2500         * bindings/js/JSSVGMatrixCustom.cpp:
2501         (WebCore::JSSVGMatrix::multiply):
2502         * svg/SVGMatrix.idl:
2503
2504 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2505
2506         Reviewed by Timothy Hatcher.
2507
2508         Web Inspector: Make resource-related records in timeline
2509         actually take some time.
2510
2511         https://bugs.webkit.org/show_bug.cgi?id=31139
2512
2513         * English.lproj/localizedStrings.js:
2514         * inspector/front-end/TimelinePanel.js:
2515         (WebInspector.TimelinePanel):
2516         (WebInspector.TimelinePanel.prototype._formatRecord):
2517         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2518         (WebInspector.TimelinePanel.prototype.reset):
2519
2520 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2521
2522         Reviewed by Darin Fisher.
2523
2524         Simplify LocalStorageThread
2525         https://bugs.webkit.org/show_bug.cgi?id=30935
2526
2527         This is a re-submit of 50519.  LocalStorageTask should have never been ref
2528         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
2529
2530         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2531         of the method names a bit more clear. Assert proper thread usage. Join rather
2532         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2533         variables on the background thread when simple to do so.  Also create a generic
2534         scheduleTask function rather than one for each task.
2535
2536         No behavior should have changed.
2537
2538         * storage/LocalStorageTask.h:
2539         * storage/LocalStorageThread.cpp:
2540         (WebCore::LocalStorageThread::create):
2541         (WebCore::LocalStorageThread::LocalStorageThread):
2542         (WebCore::LocalStorageThread::~LocalStorageThread):
2543         (WebCore::LocalStorageThread::start):
2544         (WebCore::LocalStorageThread::threadEntryPointCallback):
2545         (WebCore::LocalStorageThread::threadEntryPoint):
2546         (WebCore::LocalStorageThread::scheduleTask):
2547         (WebCore::LocalStorageThread::terminate):
2548         (WebCore::LocalStorageThread::performTerminate):
2549         * storage/LocalStorageThread.h:
2550         * storage/StorageSyncManager.cpp:
2551         (WebCore::StorageSyncManager::StorageSyncManager):
2552         (WebCore::StorageSyncManager::~StorageSyncManager):
2553         (WebCore::StorageSyncManager::scheduleImport):
2554         (WebCore::StorageSyncManager::scheduleSync):
2555         * storage/StorageSyncManager.h:
2556
2557 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2558
2559         Reviewed by Darin Fisher.
2560
2561         Calling databaseIdentifier on LocalStorage's background thread is not safe.
2562         https://bugs.webkit.org/show_bug.cgi?id=31149
2563
2564         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
2565         is not safe.  databaseIdentifier does a bunch of string concatenation which
2566         ref-counts StringImpls in some cases.  This was caught by valgrind thread
2567         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
2568
2569         There's no way to test for such racyness, unfortunately.
2570
2571         * storage/StorageAreaSync.cpp:
2572         (WebCore::StorageAreaSync::StorageAreaSync):
2573         (WebCore::StorageAreaSync::performImport):
2574         * storage/StorageAreaSync.h:
2575         * storage/StorageSyncManager.cpp:
2576         (WebCore::StorageSyncManager::fullDatabaseFilename):
2577         * storage/StorageSyncManager.h:
2578
2579 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2580
2581         Reviewed by Darin Fisher.
2582
2583         Clean up StorageAreaSync
2584         https://bugs.webkit.org/show_bug.cgi?id=31100
2585
2586         Major fixes: Break the ref count cycle for StorageArea on the main
2587         thread, not the background thread since the latter is not safe.
2588         Length() needs to block on the import completing.
2589
2590         Small fixes: setItem needs to handle the copy on write case even if it
2591         has an exception.  setItem and removeItem should just bail from the
2592         the function if the value hasn't changed rather than wrapping the end
2593         in an if block.  Clear should only send an event if it wasn't already
2594         cleared.  StorageAreaSync should assert that the final sync was
2595         scheduled.
2596
2597         * storage/StorageAreaImpl.cpp:
2598         (WebCore::StorageAreaImpl::length):
2599           Forgot to block on the import.
2600         (WebCore::StorageAreaImpl::key):
2601         (WebCore::StorageAreaImpl::setItem):
2602           Handle the copy on write case even when there's an exception.
2603         (WebCore::StorageAreaImpl::removeItem):
2604         (WebCore::StorageAreaImpl::clear):
2605         * storage/StorageAreaSync.cpp:
2606         (WebCore::StorageAreaSync::~StorageAreaSync):
2607         (WebCore::StorageAreaSync::scheduleFinalSync):
2608         (WebCore::StorageAreaSync::performImport):
2609         (WebCore::StorageAreaSync::markImported):
2610         (WebCore::StorageAreaSync::blockUntilImportComplete):
2611         * storage/StorageAreaSync.h:
2612
2613 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
2614
2615         Reviewed by Eric Seidel.
2616
2617         Allow custom memory allocation control for WebCore's CachedResource
2618         https://bugs.webkit.org/show_bug.cgi?id=31114
2619
2620         Inherits CachedResource class from Noncopyable because its (its child
2621         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
2622         and it is no need to be copyable.
2623
2624         * loader/CachedResource.h:
2625
2626 2009-11-04  Mark Mentovai  <mark@chromium.org>
2627
2628         Reviewed by Mark Rowe.
2629
2630         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
2631         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
2632         which is true when targeting 10.6 or later.
2633
2634         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
2635         is present in the CGInterpolationQuality enum, and must be handled
2636         by a switch that has cases for each enumerated value.
2637
2638         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
2639         on 10.6 or later, and that CoreGraphics will understand when
2640         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
2641
2642         * platform/graphics/cg/GraphicsContextCG.cpp:
2643         (WebCore::GraphicsContext::setImageInterpolationQuality):
2644         (WebCore::GraphicsContext::imageInterpolationQuality):
2645
2646 2009-11-04  Dan Kegel  <dank@chromium.org>
2647
2648         Reviewed by Alexey Proskuryakov.
2649
2650         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
2651         https://bugs.webkit.org/show_bug.cgi?id=31138
2652
2653         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
2654
2655         * page/Page.cpp:
2656         (WebCore::Page::userStyleSheetLocationChanged):
2657
2658 2009-11-04  Timothy Hatcher  <timothy@apple.com>
2659
2660         Update the Web Inspector Timeline panel to better match the mock-up.
2661
2662         https://bugs.webkit.org/show_bug.cgi?id=31150
2663
2664         Reviewed by Pavel Feldman.
2665
2666         * inspector/front-end/TimelinePanel.js:
2667         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2668         (WebInspector.TimelinePanel.prototype._dragWindow):
2669         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
2670         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
2671         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
2672         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2673         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
2674         (WebInspector.TimelineCategoryGraph):
2675         * inspector/front-end/inspector.css:
2676
2677 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
2678
2679         Reviewed by Adele Peterson.
2680
2681         https://bugs.webkit.org/show_bug.cgi?id=25439
2682         Deleting when in front of a block image removes character from previous paragraph
2683
2684         Added editing/deleting/25439-{1,2,3}.html
2685
2686         * editing/DeleteSelectionCommand.cpp:
2687         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
2688         be made inline with other content.  Instead of merging, just move the caret to just before 
2689         the selection we deleted.
2690         * editing/htmlediting.cpp:
2691         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
2692         doesn't necessarily contain pos (suppose pos was [img, 0]).
2693         (WebCore::lastInSpecialElement): Ditto.
2694         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
2695         * editing/htmlediting.h:
2696         * editing/visible_units.cpp:
2697         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
2698         5027702 is now squarely in first/lastInSpecialElement
2699         (WebCore::endOfParagraph): Ditto.
2700         
2701 2009-11-04  Enrica Casucci  <enrica@apple.com>
2702
2703         Reviewed by Adele Peterson.
2704
2705         Hang in Mail on attempting to change indent level.
2706         <rdar://problem/7131805>
2707         https://bugs.webkit.org/show_bug.cgi?id=31127
2708
2709         The hang was caused by an infinite loop inside outdentRegion.
2710         The code did not account for the fact that, when a list item
2711         contains multiple paragraphs, outdent moves all paragraphs at
2712         once, invalidating some of the positions we keep track of in the loop.
2713         Some code refactoring has also been done to minimize duplicated code.
2714         
2715         Test: editing/execCommand/outdent-multiparagraph-list.html
2716
2717         * editing/IndentOutdentCommand.cpp:
2718         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
2719         outdentRegion to doApply.
2720         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
2721         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
2722         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
2723         indentRegion and outdentRegion.
2724
2725 2009-11-04  Alpha Lam  <hclam@chromium.org>
2726
2727         Reviewed by Eric Carlson.
2728
2729         Volume slider doesn't have a thumb
2730         https://bugs.webkit.org/show_bug.cgi?id=31135
2731
2732         Fixed an incorrect if statement that prevents volume slider
2733         being updated.
2734
2735         The statement checks if the slider value equals to the current
2736         volume value of the media control to avoid updating the volume
2737         slider. Updating the volume slider control shouldn't be within
2738         this condition because we explicitly set them to be equals
2739         during creation of the controls and also when mouse events are
2740         received on the volume control.
2741
2742         No new tests because existing code breaks:
2743         LayoutTests/media/video-volume-slider.html
2744
2745         It should now start passing on Chromium.
2746
2747         * rendering/MediaControlElements.cpp:
2748         (WebCore::MediaControlVolumeSliderElement::update):
2749         Update the volume slider regardless of the current volume value
2750         of the media control.
2751
2752 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
2753
2754         Reviewed by David Levin.
2755
2756         Need to properly disable applicationCache at runtime
2757         https://bugs.webkit.org/show_bug.cgi?id=30417
2758
2759         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
2760
2761         No new exposed functionality, so no new tests.
2762
2763         * bindings/v8/RuntimeEnabledFeatures.cpp:
2764         * bindings/v8/RuntimeEnabledFeatures.h:
2765         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
2766         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
2767         * bindings/v8/custom/V8CustomBinding.h:
2768         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2769         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2770         * page/DOMWindow.idl:
2771
2772 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
2773
2774         Reviewed by Dan Bernstein.
2775
2776         https://bugs.webkit.org/show_bug.cgi?id=31143
2777         Assertion failure in CredentialStorage::set() when proxy credentials are being set
2778
2779         No test, cannot test proxy behavior.
2780
2781         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
2782         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
2783         add "://" to origin set, which is weird, but safe.
2784
2785 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2786
2787         Reviewed by Timothy Hatcher.
2788
2789         Web Inspector: Leftover Breakpoints in the Sidebar Pane
2790         https://bugs.webkit.org/show_bug.cgi?id=30659
2791
2792         No new tests.
2793
2794         * inspector/front-end/ScriptsPanel.js:
2795         (WebInspector.ScriptsPanel.prototype.addScript):
2796
2797 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2798
2799         Reviewed by Timothy Hatcher.
2800
2801         WebInspector: Use a different method to identify the webkit port in
2802         InspectorBackent::platform().
2803         This corrects the inspector expected behavior with Qt on Windows.
2804         https://bugs.webkit.org/show_bug.cgi?id=31116
2805
2806         * inspector/InspectorBackend.cpp:
2807         (WebCore::InspectorBackend::platform):
2808         (WebCore::InspectorBackend::port):
2809         * inspector/InspectorBackend.h:
2810         * inspector/InspectorBackend.idl:
2811         * inspector/front-end/InspectorControllerStub.js:
2812         (.WebInspector.InspectorControllerStub.prototype.port):
2813         * inspector/front-end/inspector.css:
2814         * inspector/front-end/inspector.js:
2815         (WebInspector.loaded):
2816         (WebInspector.toolbarDragStart):
2817
2818 2009-11-04  Benjamin Otte  <otte@gnome.org>
2819
2820         Reviewed by Gustavo Noronha.
2821
2822         Update Cairo requirement to 1.6.
2823
2824         Also remove all conditional code and workarounds for older versions of
2825         Cairo.
2826         In particular, gain image quality by removing the use of
2827         CAIRO_FILTER_NEAREST when rendering images and use the default
2828         bilinear filter instead.
2829         https://bugs.webkit.org/show_bug.cgi?id=19266
2830
2831         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2832         (WebCore::GraphicsContext::clipOut):
2833         * platform/graphics/cairo/ImageCairo.cpp:
2834         (WebCore::BitmapImage::draw):
2835         (WebCore::BitmapImage::drawPattern):
2836         * platform/graphics/cairo/PathCairo.cpp:
2837         (WebCore::Path::isEmpty):
2838         (WebCore::Path::boundingRect):
2839         * platform/gtk/RenderThemeGtk.cpp:
2840         (WebCore::paintMozWidget):
2841
2842 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
2843
2844         wx build fix. Restore removed string conversion after cleanup.
2845
2846         * platform/graphics/wx/FontPlatformDataWx.cpp:
2847         (WebCore::FontPlatformData::computeHash):
2848
2849 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
2850
2851         Reviewed by Beth Dakin.
2852
2853         Need to implement ARIA role="combobox"
2854         https://bugs.webkit.org/show_bug.cgi?id=31096
2855
2856         Test: accessibility/aria-combobox.html
2857
2858         * accessibility/AccessibilityObject.h:
2859         (WebCore::AccessibilityObject::isComboBox):
2860         (WebCore::AccessibilityObject::isExpanded):
2861         (WebCore::AccessibilityObject::expandObject):
2862         (WebCore::AccessibilityObject::increment):
2863         (WebCore::AccessibilityObject::decrement):
2864         * accessibility/AccessibilityRenderObject.cpp:
2865         (WebCore::AccessibilityRenderObject::expandObject):
2866         (WebCore::AccessibilityRenderObject::isExpanded):
2867         (WebCore::createARIARoleMap):
2868         * accessibility/AccessibilityRenderObject.h:
2869         * accessibility/mac/AccessibilityObjectWrapper.mm:
2870         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2871         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2872         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2873         * html/HTMLAttributeNames.in:
2874
2875 2009-11-04  Kelly Norton  <knorton@google.com>
2876
2877         Reviewed by Pavel Feldman.
2878
2879         Fixes naming inconsistencies in TimelineRecordFactory.
2880         https://bugs.webkit.org/show_bug.cgi?id=31132
2881
2882         * inspector/InspectorTimelineAgent.cpp:
2883         (WebCore::InspectorTimelineAgent::willPaint):
2884         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2885         (WebCore::InspectorTimelineAgent::willLoadXHR):
2886         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2887         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2888         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2889         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2890         * inspector/TimelineRecordFactory.cpp:
2891         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
2892         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
2893         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
2894         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2895         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
2896         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
2897         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
2898         (WebCore::TimelineRecordFactory::createPaintRecord):
2899         * inspector/TimelineRecordFactory.h:
2900
2901 2009-11-04  Eric Z. Ayers  <zundel@google.com>
2902
2903         Reviewed by Pavel Feldman.
2904
2905         Followon to bug 31080, which protects Timeline
2906         instrumentation in the case where InspectorTimelineAgent
2907         is enabled or disabled during an event dispatch.
2908         
2909         https://bugs.webkit.org/show_bug.cgi?id=31121
2910
2911         * bindings/v8/V8Proxy.cpp:
2912         (WebCore::V8Proxy::evaluate):
2913         * dom/Document.cpp:
2914         (WebCore::Document::recalcStyle):
2915         * dom/Node.cpp:
2916         (WebCore::Node::dispatchGenericEvent):
2917         * html/HTMLTokenizer.cpp:
2918         (WebCore::HTMLTokenizer::write):
2919         * page/DOMWindow.cpp:
2920         (WebCore::DOMWindow::inspectorTimelineAgent):
2921         (WebCore::DOMWindow::dispatchEvent):
2922         * page/DOMWindow.h:
2923         * page/FrameView.cpp:
2924         (WebCore::FrameView::layout):
2925         (WebCore::FrameView::paintContents):
2926         * xml/XMLHttpRequest.cpp:
2927         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2928
2929 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2930
2931         Revert 50519 while I work out what went wrong.
2932
2933         * storage/LocalStorageThread.cpp:
2934         (WebCore::LocalStorageThread::create):
2935         (WebCore::LocalStorageThread::LocalStorageThread):
2936         (WebCore::LocalStorageThread::start):
2937         (WebCore::LocalStorageThread::localStorageThreadStart):
2938         (WebCore::LocalStorageThread::localStorageThread):
2939         (WebCore::LocalStorageThread::scheduleImport):
2940         (WebCore::LocalStorageThread::scheduleSync):
2941         (WebCore::LocalStorageThread::terminate):
2942         (WebCore::LocalStorageThread::performTerminate):
2943         * storage/LocalStorageThread.h:
2944         * storage/StorageSyncManager.cpp:
2945         (WebCore::StorageSyncManager::StorageSyncManager):
2946         (WebCore::StorageSyncManager::~StorageSyncManager):
2947         (WebCore::StorageSyncManager::scheduleImport):
2948         (WebCore::StorageSyncManager::scheduleSync):
2949         * storage/StorageSyncManager.h:
2950
2951 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2952
2953         Reviewed by Timothy Hatcher.
2954
2955         Web Inspector: Add basic support for resource events and marks.
2956         Couple of drive-by fixes. Enabling the panel!
2957
2958         https://bugs.webkit.org/show_bug.cgi?id=31130
2959
2960         * English.lproj/localizedStrings.js:
2961         * inspector/front-end/TimelinePanel.js:
2962         (WebInspector.TimelinePanel):
2963         (WebInspector.TimelinePanel.prototype._formatRecord):
2964         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2965         (WebInspector.TimelinePanel.prototype.reset):
2966         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
2967         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2968         * inspector/front-end/inspector.js:
2969         (WebInspector._createPanels):
2970
2971 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2972
2973         Reviewed by Darin Fisher.
2974
2975         Simplify LocalStorageThread
2976         https://bugs.webkit.org/show_bug.cgi?id=30935
2977
2978         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2979         of the method names a bit more clear. Assert proper thread usage. Join rather
2980         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2981         variables on the background thread when simple to do so.  Also create a generic
2982         scheduleTask function rather than one for each task.
2983
2984         No behavior should have changed.
2985
2986         * storage/LocalStorageThread.cpp:
2987         (WebCore::LocalStorageThread::create):
2988         (WebCore::LocalStorageThread::LocalStorageThread):
2989         (WebCore::LocalStorageThread::~LocalStorageThread):
2990         (WebCore::LocalStorageThread::start):
2991         (WebCore::LocalStorageThread::threadEntryPointCallback):
2992         (WebCore::LocalStorageThread::threadEntryPoint):
2993         (WebCore::LocalStorageThread::scheduleTask):
2994         (WebCore::LocalStorageThread::terminate):
2995         (WebCore::LocalStorageThread::performTerminate):
2996         * storage/LocalStorageThread.h:
2997         * storage/StorageSyncManager.cpp:
2998         (WebCore::StorageSyncManager::StorageSyncManager):
2999         (WebCore::StorageSyncManager::~StorageSyncManager):
3000         (WebCore::StorageSyncManager::scheduleImport):
3001         (WebCore::StorageSyncManager::scheduleSync):
3002         * storage/StorageSyncManager.h:
3003
3004 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
3005
3006         Reviewed by Eric Seidel.
3007
3008         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
3009
3010         * platform/graphics/wx/FontPlatformDataWx.cpp:
3011         (WebCore::FontPlatformData::computeHash):
3012
3013 2009-11-04  Kelly Norton  <knorton@google.com>
3014
3015         Reviewed by Pavel Feldman.
3016
3017         Adds lightweight network resources to InspectorTimelineAgent.
3018         https://bugs.webkit.org/show_bug.cgi?id=31065
3019
3020         * inspector/InspectorController.cpp:
3021         (WebCore::InspectorController::willSendRequest):
3022         (WebCore::InspectorController::didReceiveResponse):
3023         (WebCore::InspectorController::didFinishLoading):
3024         (WebCore::InspectorController::didFailLoading):
3025         * inspector/InspectorTimelineAgent.cpp:
3026         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3027         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
3028         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3029         * inspector/InspectorTimelineAgent.h:
3030         (WebCore::):
3031         * inspector/TimelineRecordFactory.cpp:
3032         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
3033         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
3034         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
3035         * inspector/TimelineRecordFactory.h:
3036         * inspector/front-end/TimelineAgent.js:
3037
3038 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
3039
3040         Reviewed by Tor Arne Vestbø.
3041
3042         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
3043         https://bugs.webkit.org/show_bug.cgi?id=31077
3044
3045         Allow sending the response body under the same conditions that we
3046         allow it to finish without reporting an error.
3047
3048         * platform/network/qt/QNetworkReplyHandler.cpp:
3049         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3050
3051 2009-11-04  Adam Roben  <aroben@apple.com>
3052
3053         Sort WebCore.base.exp
3054
3055         Rubber-stamped by Dan Bernstein.
3056
3057         * WebCore.base.exp: Sorted.
3058
3059 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
3060
3061         Unreviewed rollout.
3062
3063         Revert r50496 because it broke all layout tests on QtBuildBot.
3064
3065         * WebCore.pro:
3066         * platform/graphics/qt/FontCacheQt.cpp:
3067         (WebCore::fontCache):
3068         (WebCore::FontCache::FontCache):
3069         (WebCore::FontCache::getTraitsInFamily):
3070         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
3071         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
3072         (WebCore::FontPlatformDataCacheKey::):
3073         (WebCore::FontPlatformDataCacheKey::operator==):
3074         (WebCore::FontPlatformDataCacheKey::hash):
3075         (WebCore::FontPlatformDataCacheKey::computeHash):
3076         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
3077         (WebCore::FontPlatformDataCacheKeyHash::hash):
3078         (WebCore::FontPlatformDataCacheKeyHash::equal):
3079         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
3080         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
3081         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
3082         (WebCore::FontCache::getCachedFontPlatformData):
3083         (WebCore::FontCache::getCachedFontData):
3084         (WebCore::FontCache::getLastResortFallbackFont):
3085         (WebCore::FontCache::releaseFontData):
3086         (WebCore::FontCache::purgeInactiveFontData):
3087         (WebCore::FontCache::addClient):
3088         (WebCore::FontCache::removeClient):
3089         (WebCore::FontCache::invalidate):
3090         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
3091         (WebCore::FontFallbackList::FontFallbackList):
3092         (WebCore::FontFallbackList::invalidate):
3093         (WebCore::FontFallbackList::releaseFontData):
3094         (WebCore::FontFallbackList::determinePitch):
3095         (WebCore::FontFallbackList::fontDataAt):
3096         (WebCore::FontFallbackList::fontDataForCharacters):
3097         (WebCore::FontFallbackList::setPlatformFont):
3098         * platform/graphics/qt/FontPlatformData.h:
3099         (WebCore::FontPlatformData::pixelSize):
3100         * platform/graphics/qt/FontPlatformDataQt.cpp:
3101         (WebCore::FontPlatformData::FontPlatformData):
3102
3103 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3104
3105         Reviewed by Jan Alonzo.
3106
3107         https://bugs.webkit.org/show_bug.cgi?id=31044
3108         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
3109
3110         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3111         (atkParentOfWebView):
3112         (webkit_accessible_get_index_in_parent):
3113         (webkit_accessible_get_parent):
3114
3115 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
3116
3117         Reviewed by Eric Seidel.
3118
3119         https://bugs.webkit.org/show_bug.cgi?id=15914
3120         [GTK] Implement Unicode functionality using GLib
3121
3122         Initial version of this patch by Jürg Billeter and Naiem Shaik.
3123         Patch 2/4 - Moving TextCodecs to GLib
3124         
3125         Added probing for a hard-coded lists of text encodings.
3126         The basis of this list is taken from the encodings supported by iconv,
3127         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
3128         a number of Chinese ones.
3129
3130         Probing is necessary with the current design of text codecs
3131         as iconv/GLib do not support enumerating available encodings.
3132
3133         * GNUmakefile.am:
3134         * platform/ThreadGlobalData.cpp:
3135         (WebCore::ThreadGlobalData::ThreadGlobalData):
3136         (WebCore::ThreadGlobalData::~ThreadGlobalData):
3137         * platform/text/TextEncoding.cpp:
3138         (WebCore::TextEncoding::encode):
3139         * platform/text/TextEncodingRegistry.cpp:
3140         (WebCore::buildBaseTextCodecMaps):
3141         (WebCore::extendTextCodecMaps):
3142         * platform/text/gtk/TextCodecGtk.cpp: Added.
3143         (WebCore::):
3144         (WebCore::newTextCodecGtk):
3145         (WebCore::TextCodecGtk::isEncodingAvailable):
3146         (WebCore::TextCodecGtk::registerEncodingNames):
3147         (WebCore::TextCodecGtk::registerCodecs):
3148         (WebCore::TextCodecGtk::registerBaseEncodingNames):
3149         (WebCore::TextCodecGtk::registerBaseCodecs):
3150         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
3151         (WebCore::TextCodecGtk::registerExtendedCodecs):
3152         (WebCore::TextCodecGtk::TextCodecGtk):
3153         (WebCore::TextCodecGtk::~TextCodecGtk):
3154         (WebCore::TextCodecGtk::releaseIConv):
3155         (WebCore::TextCodecGtk::createIConvDecoder):
3156         (WebCore::TextCodecGtk::createIConvEncoder):
3157         (WebCore::TextCodecGtk::decode):
3158         (WebCore::TextCodecGtk::encode):
3159         * platform/text/gtk/TextCodecGtk.h: Added.
3160
3161 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
3162
3163         Reviewed by Jan Alonzo.
3164
3165         [GTK] Enable DOM clipboard and drag-and-drop access
3166         https://bugs.webkit.org/show_bug.cgi?id=30623
3167
3168         Unify redudant methods which will always return the same value.
3169
3170         * platform/gtk/PasteboardGtk.cpp:
3171         (WebCore::Pasteboard::writeSelection):
3172         * platform/gtk/PasteboardHelper.h:
3173
3174 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3175
3176         Reviewed by Jan Alonzo.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=31035
3179         [GTK] some accessibility tests hitting assertion in debug builds
3180
3181         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
3182         Any app or AT can attempt to ref a child at a bogus index.
3183
3184         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3185         (webkit_accessible_ref_child):
3186
3187 2009-11-04  Benjamin Otte  <otte@gnome.org>
3188
3189         Reviewed by Jan Alonzo.
3190
3191         [gtk] Use gst_element_class_set_details_simple()
3192
3193         Cosmetic change, just code simplification
3194
3195         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3196         (webkit_video_sink_base_init):
3197 2009-11-04  Kelly Norton  <knorton@google.com>
3198
3199         Reviewed by Timothy Hatcher.
3200
3201         Adds paint rectangle information to TimelineAgent's didPaint callback.
3202         https://bugs.webkit.org/show_bug.cgi?id=31087
3203
3204         * inspector/InspectorTimelineAgent.cpp:
3205         (WebCore::InspectorTimelineAgent::willPaint):
3206         * inspector/InspectorTimelineAgent.h:
3207         * inspector/TimelineRecordFactory.cpp:
3208         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
3209         * inspector/TimelineRecordFactory.h:
3210         * page/FrameView.cpp:
3211         (WebCore::FrameView::paintContents):
3212
3213 2009-11-04  Jaime Yap  <jaimeyap@google.com>
3214
3215         Reviewed by Timothy Hatcher.
3216
3217         This patch adds API to the console object for annotating the
3218         inspector timeline. This allows developers to mark logical
3219         checkpoints in their apps and have them overlaid in the event
3220         record tree.
3221
3222         tests updated: LayoutTests/fast/dom/Window/window-properties.html
3223         https://bugs.webkit.org/show_bug.cgi?id=31082
3224
3225
3226         * inspector/InspectorController.cpp:
3227         (WebCore::InspectorController::markTimeline):
3228         * inspector/InspectorController.h:
3229         * inspector/InspectorTimelineAgent.cpp:
3230         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3231         * inspector/InspectorTimelineAgent.h:
3232         (WebCore::):
3233         * inspector/TimelineRecordFactory.cpp:
3234         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
3235         * inspector/TimelineRecordFactory.h:
3236         * inspector/front-end/TimelineAgent.js:
3237         * page/Console.cpp:
3238         (WebCore::Console::markTimeline):
3239         * page/Console.h:
3240         * page/Console.idl:
3241
3242 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3243
3244         Unreviewed build fix for WebInspector with Qt build.
3245
3246         Simply re-generate the Qt resource file by running
3247         WebKitTools/Scripts/generate-qt-inspector-resource
3248
3249         * inspector/front-end/WebKit.qrc:
3250
3251 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
3252
3253         Reviewed by Simon Hausmann.
3254
3255         [Qt] Handle fonts like the other ports
3256
3257         Remove FontFallbackListQt and rely on the common FontFallbackList
3258         to handle the fonts. FontCache and FontPlatformData have been
3259         updated to work with the common FontFallbackList.
3260
3261         In the previous implementation, FontPlatformDataCacheKey
3262         was a clone of FontPlatformData with the hashing
3263         capabilities added in order to use it as a key in the cache's
3264         hashmap. FontPlatformData has been modified to handle the hashing
3265         function directly so the data are not copied twice in memory.
3266
3267         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
3268         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
3269         The behavior is similar except currFamily->family().length() was
3270         not tested and the fallback fonts selector were not used.
3271
3272         https://bugs.webkit.org/show_bug.cgi?id=29856
3273
3274         Test: svg/text/text-font-invalid.html
3275
3276         * WebCore.pro:
3277         * platform/graphics/qt/FontCacheQt.cpp:
3278         (WebCore::FontCache::platformInit):
3279         (WebCore::FontCache::getFontDataForCharacters):
3280         (WebCore::FontCache::getSimilarFontPlatformData):
3281         (WebCore::FontCache::getLastResortFallbackFont):
3282         (WebCore::FontCache::getTraitsInFamily):
3283         (WebCore::FontCache::createFontPlatformData):
3284         * platform/graphics/qt/FontFallbackListQt.cpp:
3285         Removed. We now use the implementation from FontFallbackList.cpp
3286         * platform/graphics/qt/FontPlatformData.h:
3287         Add hashing capabilities to be able to use the data with the FontCache.
3288         This was previously done in FontCacheQt.cpp
3289         (WebCore::FontPlatformData::FontPlatformData):
3290         Added a boolean to identify deleted value in the hash table.
3291         (WebCore::FontPlatformData::isHashTableDeletedValue):
3292         (WebCore::FontPlatformData::hash):
3293         (WebCore::FontPlatformData::operator==):
3294         * platform/graphics/qt/FontPlatformDataQt.cpp:
3295         (WebCore::FontPlatformData::FontPlatformData):
3296
3297 2009-11-03  Dan Bernstein  <mitz@apple.com>
3298
3299         Leopard build fix
3300
3301         * platform/network/mac/AuthenticationMac.mm:
3302         (WebCore::mac):
3303         (WebCore::core):
3304
3305 2009-11-03  Dan Bernstein  <mitz@apple.com>
3306
3307         Reviewed by Alexey Proskuryakov.
3308
3309         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
3310         authentication in AuthenticationMac
3311
3312         * platform/network/mac/AuthenticationMac.mm:
3313
3314 2009-11-03  Eric Z. Ayers  <zundel@google.com>
3315
3316         Reviewed by Timothy Hatcher.
3317
3318         Fixes a problem where the timeline instrumentation crashes if
3319         timeline profiling is enabled or disabled in the middle of an
3320         event dispatch.
3321
3322         https://bugs.webkit.org/show_bug.cgi?id=31080
3323
3324         Test: inspector/timeline-trivial.html
3325
3326         * bindings/js/ScriptController.cpp:
3327         (WebCore::ScriptController::evaluateInWorld):
3328         (WebCore::ScriptController::processingUserGestureEvent):
3329         * inspector/InspectorTimelineAgent.cpp:
3330         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3331         * page/DOMTimer.cpp:
3332         (WebCore::DOMTimer::fired):
3333
3334 2009-11-03  Dan Bernstein  <mitz@apple.com>
3335
3336         Reviewed by Dave Hyatt.
3337
3338         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
3339
3340         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
3341         would not matter. That is not the case if the only reason for the slow-scrolling is
3342         being overlapped.
3343
3344         * page/FrameView.cpp:
3345         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
3346         reason besides being overlapped that the frame would need to fully repaint on scroll.
3347         * page/FrameView.h:
3348         * rendering/RenderWidget.cpp:
3349         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
3350
3351 2009-11-03  Dmitry Titov  <dimich@chromium.org>
3352
3353         Not reviewed, Qt build fix.
3354
3355         Need to use right capitalization for include file.
3356
3357         * page/Navigator.cpp:
3358
3359 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3360
3361         Reviewed by Timothy Hatcher.
3362
3363         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
3364
3365         https://bugs.webkit.org/show_bug.cgi?id=31081
3366
3367         * inspector/front-end/AbstractTimelinePanel.js:
3368         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
3369         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
3370         (WebInspector.AbstractTimelinePanel.prototype.filter):
3371         * inspector/front-end/TimelinePanel.js:
3372         (WebInspector.TimelinePanel):
3373         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3374         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
3375         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3376         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
3377         * inspector/front-end/inspector.css:
3378
3379 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3380
3381         Reviewed by Timothy Hatcher.
3382
3383         Web Inspector: clear overview on Clear action and panel reset.
3384
3385         https://bugs.webkit.org/show_bug.cgi?id=31078
3386
3387         * inspector/front-end/TimelinePanel.js:
3388         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3389         (WebInspector.TimelinePanel.prototype.reset):
3390
3391 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
3392
3393         Reviewed by Dimitri Glazkov.
3394
3395         Imported action and rules python files that WebCore.gyp depends on. 
3396         These files used to live in chromium.org and deal mostly with auto-generation
3397         of code by wrapping existing webkit perl scripts.
3398
3399         https://bugs.webkit.org/show_bug.cgi?id=31071
3400
3401         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
3402         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
3403         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
3404         * WebCore.gyp/scripts/action_makenames.py: Added.
3405         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
3406         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
3407         * WebCore.gyp/scripts/rule_binding.py: Added.
3408         * WebCore.gyp/scripts/rule_bison.py: Added.
3409         * WebCore.gyp/scripts/rule_gperf.py: Added.
3410
3411 2009-11-03  Bradley Green  <brg@chromium.org>
3412
3413         Reviewed by Dmitry Titov.
3414
3415         Implement window.navigator.registerProtocolHandler in webkit,
3416         https://bugs.webkit.org/b/29651
3417
3418         Also implemented its sister API window.navigator.registerContentHandler.
3419
3420         These methods are as described in the HTML5 specification which can be
3421         found here,
3422         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
3423         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
3424
3425         As specified in the document, the behavior of the browser is determined
3426         by the current registered handler.  The state of a registered handler
3427         can change at any time, with the user clearing a registered handler,
3428         registering a different page as handler, or deferring the hander to the
3429         OS.  If webkit was to track the state of the currently registered
3430         handlers, it would need more APIs and complexity to keep in sync with
3431         user actions reported to webkit from the UA.  For simplicity, the state
3432         of protocol handlers should be kept isolated from webkit and webkit only
3433         notifies the UA that a page has made the call.  The UA is then
3434         responsible for correctly handling the registerProtocolHandler call and
3435         the redirects which result from registration.
3436
3437         We do however follow the specification in insuring that the reserved
3438         schemes and mimeTypes are not passed to the UA as custom handler
3439         registration tests.  We also insure that the "%s" token is present as
3440         required by the specification.
3441
3442         Updated test expectations for window.clientInformation and navigator
3443         objects.
3444
3445         Tests: fast/dom/registerContentHandler.html
3446                fast/dom/registerProtocolHandler.html
3447
3448         * page/Chrome.cpp:
3449         (WebCore::Chrome::registerProtocolHandler):
3450         (WebCore::Chrome::registerContentHandler):
3451         * page/Chrome.h:
3452         * page/ChromeClient.h:
3453         (WebCore::ChromeClient::registerProtocolHandler):
3454         (WebCore::ChromeClient::registerContentHandler):
3455         * page/Navigator.cpp:
3456         (WebCore::verifyCustomHandlerURL):
3457         (WebCore::verifyProtocolHandlerScheme):
3458         (WebCore::Navigator::registerProtocolHandler):
3459         (WebCore::verifyProtocolHandlerMimeType):
3460         (WebCore::Navigator::registerContentHandler):
3461         * page/Navigator.h:
3462         * page/Navigator.idl:
3463
3464 2009-11-03  Brady Eidson  <beidson@apple.com>
3465
3466         Reviewed by Darin Adler.
3467
3468         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
3469
3470         No new tests. (No change in functionality)
3471
3472         * dom/Document.cpp:
3473         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
3474         * dom/Document.h:
3475
3476         Include "Page.h" directly:
3477         * html/HTMLVideoElement.cpp:
3478         * loader/RedirectScheduler.cpp:
3479         * page/History.cpp:
3480         * rendering/MediaControlElements.cpp:
3481         * storage/StorageAreaImpl.cpp:
3482
3483 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
3484
3485         Reviewed by Timothy Hatcher.
3486
3487         Web Inspector: hover over JS "things" in source and see their values
3488         https://bugs.webkit.org/show_bug.cgi?id=30913
3489
3490         * inspector/front-end/SourceFrame.js:
3491
3492 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3493
3494         Reviewed by Timothy Hatcher.
3495
3496         Web Inspector: update timeline content boundaries on timer.
3497
3498         https://bugs.webkit.org/show_bug.cgi?id=31072
3499
3500         * inspector/front-end/TimelinePanel.js:
3501         (WebInspector.TimelinePanel.prototype.refresh):
3502         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3503
3504 2009-11-03  Dan Bernstein  <mitz@apple.com>
3505
3506         Reviewed by Anders Carlsson and Beth Dakin.
3507
3508         https://bugs.webkit.org/show_bug.cgi?id=31070
3509         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
3510         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
3511
3512         Tests: plugins/attach-during-destroy.html
3513                plugins/destroy-reentry.html
3514
3515         These crashes were caused by plug-in code running during detach(),
3516         causing re-entry into RenderWidget::destroy() in one case and a call
3517         into attach() in the other. The fix is to prevent plug-in code from
3518         being called at certain unsafe times (during attach(), detach(), and
3519         recalcStyle()) by deferring changes to the widget hierarchy.
3520
3521         * dom/Document.cpp:
3522         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
3523             during style recalculation.
3524
3525         * dom/Element.cpp:
3526         (WebCore::Element::attach): Suspend widget hierarchy updates during
3527             attach().
3528         (WebCore::Element::detach): Suspend widget hierarchy updates during
3529             detach().
3530
3531         * rendering/RenderWidget.cpp:
3532         (WebCore::widgetNewParentMap): Returns a static map of pending changes
3533             to the widget hierarchy.
3534         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
3535             suspend count.
3536         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
3537             suspend count. If the count is going to be zero, updates the widget
3538             hierarchy by executing the pending changes stored in the map.
3539         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
3540             immediately or makes or updates an entry in the map, depending on
3541             whether updates are suspended.
3542         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
3543             <rdar://problem/6937089>.
3544         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
3545             are not suspended, because this function updates the widget’s
3546             bounds, which can result in arbitrary native and JavaScript code
3547             execution. I think this assertion is true thanks to some deferred-
3548             update mechanisms that have already been deployed in other places
3549             in the code.
3550         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
3551             of changing the widget hierarchy directly.
3552         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
3553             and resumeWidgetHierarchyUpdates().
3554
3555 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3556
3557         Reviewed by Timothy Hatcher.
3558
3559         Web Inspector: only show timeline records that contribute
3560         to the current window.
3561
3562         https://bugs.webkit.org/show_bug.cgi?id=31069
3563
3564         * inspector/front-end/TimelinePanel.js:
3565         (WebInspector.TimelinePanel.prototype.refresh):
3566         (WebInspector.TimelineGraph):
3567         (WebInspector.TimelineGraph.prototype.refresh):
3568
3569 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3570
3571         Reviewed by Timothy Hatcher.
3572
3573         Watch expression editor should stay open after Add button was clicked
3574         https://bugs.webkit.org/show_bug.cgi?id=31049
3575
3576         No new tests, was a regression, use existing manual test.
3577
3578         * inspector/front-end/WatchExpressionsSidebarPane.js:
3579         (WebInspector.WatchExpressionsSection.prototype.update):
3580         (WebInspector.WatchExpressionsSection.prototype.addExpression):
3581
3582 2009-11-03  Evan Martin  <evan@chromium.org>
3583
3584         Reviewed by Darin Adler.
3585
3586         Fix an off-by-one in the CSS lexer that causes memory corruption in
3587         hard-to-trigger circumstances.
3588
3589         https://bugs.webkit.org/show_bug.cgi?id=30827
3590
3591         Test: fast/css/end-of-buffer-crash.html
3592
3593         * css/maketokenizer: Add comments, fix off-by-one.
3594
3595 2009-11-02  Darin Adler  <darin@apple.com>
3596
3597         Reviewed by Dan Bernstein.
3598
3599         Crash due to double-destroy related to CSS run-in property
3600         https://bugs.webkit.org/show_bug.cgi?id=31034
3601         rdar://problem/7328458
3602
3603         Test: fast/css/run-in-crash.html
3604
3605         * rendering/RenderBlock.cpp:
3606         (WebCore::RenderBlock::destroy): Reorder destruction so the
3607         continuation is destroyed after anonymous children. See comment
3608         in the code for more details of why this is right.
3609         * rendering/RenderInline.cpp:
3610         (WebCore::RenderInline::destroy): Ditto.
3611
3612 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
3613
3614         Reviewed by Pavel Feldman.
3615
3616         Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
3617
3618         There might be no new node under mouse if the pointer is moved out of the window
3619         in which case we get an exception.
3620         https://bugs.webkit.org/show_bug.cgi?id=31061
3621
3622         * inspector/front-end/ElementsPanel.js:
3623         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
3624
3625 2009-11-03  Zoltan Horvath  <zoltan@webkit.org>
3626
3627         Reviewed by Darin Adler.
3628
3629         Allow custom memory allocation control for the dom directory of WebCore
3630         https://bugs.webkit.org/show_bug.cgi?id=31053
3631
3632         Inherits the following classes from Noncopyable because these are
3633         instantiated by 'new' and these are no need to be copyable:
3634