2009-11-25 Drew Wilson <atwilson@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-25  Drew Wilson  <atwilson@chromium.org>
2
3         Reviewed by David Levin.
4
5         MessagePorts always look remotely entangled even when closed.
6         https://bugs.webkit.org/show_bug.cgi?id=31698
7
8         Tests: Existing tests suffice, Chromium soak test passes now.
9
10         * bindings/v8/custom/V8CustomBinding.h:
11         Removed kMessagePortEntangledPortIndex which is no longer used.
12         * bindings/v8/V8GCController.cpp:
13         (WebCore::GCPrologueVisitor::visitDOMWrapper):
14         Simplified GC code to reflect the Chromium MessagePort implementation
15         (locallyEntangledPort() always returns false).
16         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
17         Cleaned up epilogue code to handle the case where the port gets closed
18         in mid-GC (due to the parent context being freed).
19         * dom/MessagePort.cpp:
20         (WebCore::MessagePort::MessagePort):
21         (WebCore::MessagePort::close):
22         Now sets the closed flag.
23         (WebCore::MessagePort::disentanglePorts):
24         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
25         * dom/MessagePort.h:
26         Added a m_closed flag and updated isEntangled() to check it.
27         (WebCore::MessagePort::isEntangled):
28         Now returns false if the port has been closed.
29         (WebCore::MessagePort::isCloned):
30         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
31
32 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
33
34         Reviewed by Simon Hausmann.
35
36         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
37
38         Fix inline assembly, don't dereference the function pointer twice.
39
40         * plugins/win/PluginViewWin.cpp:
41         (WebCore::PluginView::hookedBeginPaint):
42         (WebCore::PluginView::hookedEndPaint):
43
44 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
45
46         Reviewed by Adam Barth.
47
48         [Qt] Remove the Referer header when redirecting to a non-secure site
49         https://bugs.webkit.org/show_bug.cgi?id=31785
50
51         This makes Qt pass two tests introduced in r50226.
52
53         * platform/network/qt/QNetworkReplyHandler.cpp:
54         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
55
56 2009-11-25  Andrei Popescu  <andreip@google.com>
57
58         Reviewed by Dimitri Glazkov.
59
60         The select elements do not reflect the actual choice the user makes.
61         https://bugs.webkit.org/show_bug.cgi?id=31831
62
63         Handle the drawing of the listboxes in Android code.
64
65         No new features, just fixing an Android problem. Existing layout tests are sufficient.
66
67         * platform/android/RenderThemeAndroid.cpp:
68         (WebCore::theme):
69         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
70         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
71         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
72         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
73         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
74         (WebCore::RenderThemeAndroid::adjustButtonStyle):
75         (WebCore::RenderThemeAndroid::paintTextArea):
76         (WebCore::RenderThemeAndroid::adjustListboxStyle):
77         * platform/android/RenderThemeAndroid.h:
78
79 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
80
81         Reviewed by Pavel Feldman.
82
83         Load InspectorResource mime type from CachedResource for 304 responses
84
85         For network libraries that do not merge cache data into 304 ResourceResponses,
86         the mime type for cached resources is unknown.
87         https://bugs.webkit.org/show_bug.cgi?id=31868
88
89         * inspector/InspectorResource.cpp:
90         (WebCore::InspectorResource::updateResponse):
91         (WebCore::InspectorResource::updateScriptObject):
92         (WebCore::InspectorResource::type):
93
94 2009-11-25  Andrei Popescu  <andreip@google.com>
95
96         Reviewed by Eric Seidel.
97
98         Android is missing implementation of SSL Key generator functions.
99         https://bugs.webkit.org/show_bug.cgi?id=31825
100
101         This change adds the PlatformBridge class to platform/android.
102         PlarformBridge is used to access the embedding layer for things
103         such as key generator, cookies, plugins, etc.
104
105         No new tests required, this is platform code.
106
107         * platform/android/PlatformBridge.h: Added.
108         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
109         (WebCore::getSupportedKeySizes):
110         (WebCore::signedPublicKeyAndChallengeString):
111
112 2009-11-25  Philippe Normand  <pnormand@igalia.com>
113
114         Reviewed by Eric Seidel.
115
116         [GTK] use gst_init_check() instead of gst_init()
117         https://bugs.webkit.org/show_bug.cgi?id=31864
118
119         Use gst_init_check() instead of gst_init() to prevent eventual
120         unexpected exit of the application.
121
122         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
123         (WebCore::do_gst_init):
124         (WebCore::MediaPlayerPrivate::isAvailable):
125
126 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
127
128         Reviewed by Xan Lopez.
129
130         Some tests are crashing from time to time
131         https://bugs.webkit.org/show_bug.cgi?id=31866
132
133         Make sure we do not notify the client of a finished load, if the
134         load has been cancelled, or the client is gone.
135
136         * platform/network/soup/ResourceHandleSoup.cpp:
137         (WebCore::):
138
139 2009-11-24  Ben Murdoch  <benm@google.com>
140
141         Reviewed by Eric Seidel.
142
143         [Android] Upstream Android changes to WebCore/bridge/jni
144         https://bugs.webkit.org/show_bug.cgi?id=31824
145
146         No new tests required as no new functionality.
147
148         * bridge/jni/jni_class.cpp:
149         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
150         * bridge/jni/jni_instance.cpp: Add an Android include path.
151         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
152         (JSC::Bindings::JObjectWrapper::instance): Added.
153         (JSC::Bindings::JObjectWrapper::setInstance): Added.
154         * bridge/jni/jni_runtime.cpp:
155         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
156         * bridge/jni/jni_utility.h:
157         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
158
159 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
160
161         Reviewed by Eric Seidel.
162
163         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
164         https://bugs.webkit.org/show_bug.cgi?id=31827
165
166         Inherits the following classes from Noncopyable because these are instantiated
167         by 'new' and no need to be copyable:
168
169         class/struct name               - instantiated at: WebCore/'location'
170
171         class PluginRequest             - plugins/PluginView.cpp:521
172         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
173         class PluginDatabase            - plugins/PluginDatabase.cpp:50
174         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
175         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
176         class RenderArena               - dom/Document.cpp:1401
177         class RenderImageScaleData      - rendering/RenderImage.cpp:149
178         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
179         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
180         struct FloatingObject           - rendering/RenderBlock.cpp:2300
181         struct MaxMargin                - rendering/RenderBlock.cpp:4794
182         class RenderMarquee             - rendering/RenderLayer.cpp:3277
183
184         * plugins/PluginData.h:
185         * plugins/PluginDatabase.h:
186         * plugins/PluginMainThreadScheduler.h:
187         * plugins/PluginView.h:
188         * rendering/RenderArena.h:
189         * rendering/RenderBlock.cpp:
190         * rendering/RenderBlock.h:
191         * rendering/RenderImage.cpp:
192         * rendering/RenderMarquee.h:
193         * rendering/TableLayout.h:
194
195 2009-11-24  Dmitry Titov  <dimich@chromium.org>
196
197         Reviewed by David Levin.
198
199         Initial implementation of WebKitSharedScript and SharedScriptContext
200         https://bugs.webkit.org/show_bug.cgi?id=31569
201
202         No new tests since there are no bindings yet (soon to come).
203
204         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
205         * WebCore.xcodeproj/project.pbxproj:
206         * dom/Document.cpp:
207         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
208         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
209         (WebCore::EventTarget::toWebKitSharedScript):
210         (WebCore::EventTarget::toSharedScriptContext):
211         * dom/EventTarget.h: Ditto
212         * dom/ScriptExecutionContext.h:
213         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
214
215         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
216         (WebCore::SharedScriptContext::SharedScriptContext):
217         (WebCore::SharedScriptContext::~SharedScriptContext):
218         (WebCore::SharedScriptContext::clearScript):
219         (WebCore::SharedScriptContext::virtualURL):
220         (WebCore::SharedScriptContext::virtualCompleteURL):
221         (WebCore::SharedScriptContext::reportException):
222         (WebCore::SharedScriptContext::addMessage):
223         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
224         (WebCore::SharedScriptContext::scriptImported):
225         (WebCore::SharedScriptContext::matches):
226         (WebCore::SharedScriptContext::addToDocumentsList):
227         (WebCore::SharedScriptContext::destructionTimerFired):
228         (WebCore::SharedScriptContext::removeFromDocumentList):
229         (WebCore::SharedScriptContext::load):
230         (WebCore::SharedScriptContext::postTask):
231         (WebCore::SharedScriptContext::eventTargetData):
232         (WebCore::SharedScriptContext::ensureEventTargetData):
233         (WebCore::SharedScriptContext::scriptExecutionContext):
234         * SharedScript/SharedScriptContext.h: Added.
235         (WebCore::SharedScriptContext::create):
236         (WebCore::SharedScriptContext::isSharedScriptContext):
237         (WebCore::SharedScriptContext::userAgent):
238         (WebCore::SharedScriptContext::toSharedScriptContext):
239         (WebCore::SharedScriptContext::self):
240         (WebCore::SharedScriptContext::script):
241         (WebCore::SharedScriptContext::loaded):
242         (WebCore::SharedScriptContext::name):
243         (WebCore::SharedScriptContext::refEventTarget):
244         (WebCore::SharedScriptContext::derefEventTarget):
245         (WebCore::SharedScriptContext::refScriptExecutionContext):
246         (WebCore::SharedScriptContext::derefScriptExecutionContext):
247         * SharedScript/SharedScriptContext.idl: Added.
248
249         * SharedScript/SharedScriptController.h: 
250         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
251
252         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
253         (WebCore::WebKitSharedScript::WebKitSharedScript):
254         (WebCore::WebKitSharedScript::~WebKitSharedScript):
255         (WebCore::WebKitSharedScript::setContext):
256         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
257         (WebCore::LoadEventTask::performTask):
258         (WebCore::LoadEventTask::LoadEventTask):
259         (WebCore::WebKitSharedScript::scheduleLoadEvent):
260         * SharedScript/WebKitSharedScript.h: Added.
261         (WebCore::WebKitSharedScript::create):
262         (WebCore::WebKitSharedScript::scriptExecutionContext):
263         (WebCore::WebKitSharedScript::toWebKitSharedScript):
264         (WebCore::WebKitSharedScript::context):
265         (WebCore::WebKitSharedScript::refEventTarget):
266         (WebCore::WebKitSharedScript::derefEventTarget):
267         (WebCore::WebKitSharedScript::eventTargetData):
268         (WebCore::WebKitSharedScript::ensureEventTargetData):
269         * SharedScript/WebKitSharedScript.idl: Added.
270
271         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
272         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
273         (WebCore::ScriptLoader::load):
274         (WebCore::ScriptLoader::notifyFinished):
275         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
276         (WebCore::WebKitSharedScriptRepository::connect):
277         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
278         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
279         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
280         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
281         * SharedScript/WebKitSharedScriptRepository.h: Added.
282         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
283
284 2009-11-24  Dmitry Titov  <dimich@chromium.org>
285
286         Reviewed by Eric Seidel.
287
288         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
289         https://bugs.webkit.org/show_bug.cgi?id=31444
290
291         * Configurations/FeatureDefines.xcconfig:
292         * GNUmakefile.am:
293         * WebCore.pro:
294
295 2009-11-24  Chris Marrin  <cmarrin@apple.com>
296
297         Reviewed by Simon Fraser.
298
299         Implement accelerated compositing
300         https://bugs.webkit.org/show_bug.cgi?id=27314
301         
302         This part of the checkin adds the Windows specific GraphicsLayer support files.
303         It provides the interface between GraphicsLayer and CACF. It also deals with
304         the compositing loop, and provides the plumbing to pass the root layer up to
305         WebView.
306
307         * WebCore.vcproj/WebCore.vcproj:
308         * WebCore.vcproj/WebCoreCommon.vsprops:
309         * page/FrameView.cpp:
310         (WebCore::FrameView::syncCompositingStateRecursive):
311         * platform/graphics/GraphicsLayer.cpp:
312         (WebCore::GraphicsLayer::GraphicsLayer):
313         * platform/graphics/GraphicsLayer.h:
314         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
315         * platform/graphics/win/GraphicsLayerCACF.h: Added.
316         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
317         * platform/graphics/win/WKCACFContextFlusher.h: Added.
318         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
319         * platform/graphics/win/WKCACFLayer.cpp: Added.
320         * platform/graphics/win/WKCACFLayer.h: Added.
321         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
322         * platform/graphics/win/WKCACFLayerWindow.h: Added.
323
324 2009-11-24  Chris Marrin  <cmarrin@apple.com>
325
326         Reviewed by Eric Seidel.
327
328         Do error checking of parameter to createShader
329         https://bugs.webkit.org/show_bug.cgi?id=31808
330
331         Test: fast/canvas/webgl/invalidPassedParams.html
332
333         * html/canvas/WebGLRenderingContext.cpp:
334         (WebCore::WebGLRenderingContext::createShader):
335         * html/canvas/WebGLRenderingContext.h:
336         * html/canvas/WebGLRenderingContext.idl:
337
338 2009-11-24  Kent Tamura  <tkent@chromium.org>
339
340         Reviewed by Eric Seidel.
341
342         [Chromium] Ignore line-height CSS property specified to a search field on
343         Windows and Linux.
344         https://bugs.webkit.org/show_bug.cgi?id=31820
345
346         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
347         following controls should ignore line-height CSS property.
348          - <select>
349          - <input type=button>
350          - <input type=search>
351         This change addresses the <input type=search> issue with Chromium/Windows
352         and Chromium/Linux.
353
354         * rendering/RenderThemeChromiumSkia.cpp:
355         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
356         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
357
358 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
359
360         No review.
361
362         Stylistic fix: indent the member var initialisation.
363
364         * platform/graphics/mac/GraphicsLayerCA.mm:
365         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
366
367 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
368
369         Reviewed by Geoff Garen.
370
371         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
372
373         These methods get the world from the global data rather than from an execstate.
374         If the current world is always read from an exec state then it can be read
375         from the global object, and world entry can become automagical, rather than
376         being explicitly set by an EnterDOMWrapperWorld.
377
378         * bindings/js/JSCSSRuleCustom.cpp:
379         (WebCore::toJS):
380         * bindings/js/JSCSSValueCustom.cpp:
381         (WebCore::toJS):
382         * bindings/js/JSDOMBinding.cpp:
383         (WebCore::currentWorld):
384         (WebCore::DOMObjectWrapperMapFor):
385         (WebCore::hasCachedDOMObjectWrapper):
386         (WebCore::getCachedDOMObjectWrapper):
387         (WebCore::cacheDOMObjectWrapper):
388         (WebCore::hasCachedDOMNodeWrapper):
389         (WebCore::getCachedDOMNodeWrapper):
390         (WebCore::cacheDOMNodeWrapper):
391         * bindings/js/JSDOMBinding.h:
392         (WebCore::createDOMObjectWrapper):
393         (WebCore::getDOMObjectWrapper):
394         (WebCore::createDOMNodeWrapper):
395         (WebCore::getDOMNodeWrapper):
396         * bindings/js/JSDOMWindowCustom.cpp:
397         (WebCore::JSDOMWindow::history):
398         (WebCore::JSDOMWindow::location):
399         * bindings/js/JSDocumentCustom.cpp:
400         (WebCore::JSDocument::location):
401         (WebCore::toJS):
402         * bindings/js/JSElementCustom.cpp:
403         (WebCore::toJSNewlyCreated):
404         * bindings/js/JSEventCustom.cpp:
405         (WebCore::toJS):
406         * bindings/js/JSHTMLCollectionCustom.cpp:
407         (WebCore::toJS):
408         * bindings/js/JSImageDataCustom.cpp:
409         (WebCore::toJS):
410         * bindings/js/JSNodeCustom.cpp:
411         (WebCore::JSNode::markChildren):
412         (WebCore::createWrapper):
413         (WebCore::toJS):
414         * bindings/js/JSSVGPathSegCustom.cpp:
415         (WebCore::toJS):
416         * bindings/js/JSStyleSheetCustom.cpp:
417         (WebCore::toJS):
418         * xml/XMLHttpRequest.cpp:
419         (WebCore::XMLHttpRequest::dropProtection):
420
421 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
422
423         Windows build fix.
424
425         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
426
427 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
428
429         Windows build fix.
430
431         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
432
433 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
434
435         Reviewed by Oliver Hunt.
436
437         SVGUseElement::toClipPath can crash
438         <rdar://problem/7385270>
439
440         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
441         actually initialize it.
442
443         * svg/SVGUseElement.cpp:
444         (WebCore::SVGUseElement::toClipPath):
445
446 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
447
448         Windows build fix.
449
450         * page/win/FrameCGWin.cpp:
451         (WebCore::imageFromRect):
452         (WebCore::imageFromSelection):
453
454 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
455
456         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
457
458         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
459         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
460         * platform/graphics/win/QTMovieWin.cpp:
461         * platform/graphics/win/QTMovieWin.h:
462         * rendering/RenderMediaControls.cpp:
463         * rendering/RenderThemeWin.cpp:
464         * rendering/RenderThemeWin.h:
465
466 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
467
468         Reviewed by Brady Eidson.
469
470         https://bugs.webkit.org/show_bug.cgi?id=31844
471         SocketStreamHandleCFNet should support CONNECT proxy credentials
472
473         * WebCore.vcproj/WebCore.vcproj:
474         * WebCore.xcodeproj/project.pbxproj:
475         * platform/network/CredentialStorage.h:
476         * platform/network/mac/CredentialStorageMac.mm: Added.
477         (WebCore::CredentialStorage::getFromPersistentStorage):
478         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
479         (WebCore::CredentialStorage::getFromPersistentStorage):
480         Add support for fetching credentials from persistent storage (CFNet version is currently
481         a stub).
482
483         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
484
485         * platform/network/cf/SocketStreamHandle.h:
486         * platform/network/cf/SocketStreamHandleCFNet.cpp:
487         (WebCore::SocketStreamHandle::SocketStreamHandle):
488         (WebCore::SocketStreamHandle::createStreams):
489         (WebCore::getStoredCONNECTProxyCredentials):
490         (WebCore::authenticationSchemeFromAuthenticationMethod):
491         (WebCore::SocketStreamHandle::addCONNECTCredentials):
492         (WebCore::SocketStreamHandle::readStreamCallback):
493         Check if connection attempt was resulted in 407, and try stored credentials if it did.
494
495         * platform/mac/WebCoreSystemInterface.h:
496         * platform/mac/WebCoreSystemInterface.mm:
497         * WebCore.base.exp:
498         Updated WKSI.
499
500 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
501
502         Reviewed by Dan Bernstein.
503
504         Find highlight is drawn incorrectly on pages with compositing layers
505         <rdar://problem/7413925>
506         
507         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
508         and pass that down when painting into an image.
509         
510         When set, it forces painting of compositing layers to go down a software paint path
511         when all layers are painted, irrespective of compositing status, and where
512         3d transforms are flattened to 2d. When doing this, we also need to use temporary
513         clip rects for layers which are normally composited.
514         
515         * page/FrameView.h:
516         (WebCore::FrameView::paintBehavior):
517         * page/mac/FrameMac.mm:
518         (WebCore::Frame::imageFromRect):
519         * rendering/RenderLayer.cpp:
520         (WebCore::RenderLayer::renderableTransform):
521         (WebCore::expandClipRectForDescendantsAndReflection):
522         (WebCore::transparencyClipBox):
523         (WebCore::RenderLayer::beginTransparencyLayers):
524         (WebCore::RenderLayer::paintLayer):
525         * rendering/RenderLayer.h:
526         (WebCore::RenderLayer::paintsWithTransparency):
527         (WebCore::RenderLayer::paintsWithTransform):
528         * rendering/RenderLayerCompositor.cpp:
529         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
530         * rendering/RenderObject.h:
531
532 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
533
534         Reviewed by Dan Bernstein.
535
536         Find highlight is drawn incorrectly on pages with compositing layers
537         <rdar://problem/7413925>
538         
539         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
540         preparation for adding a new flag related to painting into an image.
541         
542         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
543
544         * page/FrameView.cpp:
545         (WebCore::FrameView::reset):
546         (WebCore::FrameView::paintContents):
547         (WebCore::FrameView::setPaintBehavior):
548         * page/FrameView.h:
549         * page/mac/FrameMac.mm:
550         (WebCore::Frame::selectionImage):
551         * rendering/RenderLayer.cpp:
552         (WebCore::RenderLayer::paint):
553         (WebCore::RenderLayer::paintLayer):
554         * rendering/RenderLayer.h:
555         * rendering/RenderLayerBacking.cpp:
556         (WebCore::RenderLayerBacking::paintIntoLayer):
557         (WebCore::RenderLayerBacking::paintContents):
558         * rendering/RenderLayerBacking.h:
559         * rendering/RenderObject.h:
560         * rendering/RenderReplica.cpp:
561         (WebCore::RenderReplica::paint):
562
563 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
564
565         Reviewed by Simon Fraser.
566
567         <rdar://problem/7409331> Windows: Support closed caption in <video> element
568
569         Enable closed captions in QuickTime/Windows media engine.
570
571         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
572         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
573         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
574         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
575         * platform/graphics/win/QTMovieWin.cpp:
576         (QTMovieWin::hasClosedCaptions):
577         (QTMovieWin::setClosedCaptionsVisible):
578         * platform/graphics/win/QTMovieWin.h:
579         * rendering/RenderMediaControls.cpp:
580         (WebCore::RenderMediaControls::paintMediaControlsPart):
581         * rendering/RenderThemeWin.cpp:
582         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
583         * rendering/RenderThemeWin.h:
584
585 2009-11-24  Darin Fisher  <darin@chromium.org>
586
587         Reviewed by Adam Barth.
588
589         [Chromium] Renderer hang when using www.expedia.com
590         https://bugs.webkit.org/show_bug.cgi?id=31822
591
592         Test: http/tests/cache/subresource-failover-to-network.html
593
594         * loader/FrameLoader.cpp:
595         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
596         when inheriting cache policy.  This matches SubresourceLoader::create.
597
598 2009-11-23  Kenneth Russell  <kbr@google.com>
599
600         Reviewed by Oliver Hunt.
601
602         Change get... calls to latest spec
603         https://bugs.webkit.org/show_bug.cgi?id=30091
604
605         Removed old versions of get calls on WebGLRenderingContext and
606         added new ones per spec returning "any". New code simplifies
607         GraphicsContext3D and fixes previously unimplemented routines.
608         Added custom JS and V8 bindings. Added exhaustive test case
609         exercising all new code paths. Updated preexisting test cases for
610         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
611         implementations.
612
613         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
614         preexisting known failures) and manual WebGL tests in both
615         browsers.
616
617         Test: fast/canvas/webgl/gl-object-get-calls.html
618
619         * WebCore.gypi:
620         * WebCore.xcodeproj/project.pbxproj:
621         * bindings/js/JSWebGLRenderingContextCustom.cpp:
622         (WebCore::toJS):
623         (WebCore::):
624         (WebCore::getObjectParameter):
625         (WebCore::getProgramParameterHelper):
626         (WebCore::JSWebGLRenderingContext::getBufferParameter):
627         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
628         (WebCore::JSWebGLRenderingContext::getParameter):
629         (WebCore::JSWebGLRenderingContext::getProgramParameter):
630         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
631         (WebCore::JSWebGLRenderingContext::getShaderParameter):
632         (WebCore::JSWebGLRenderingContext::getTexParameter):
633         (WebCore::JSWebGLRenderingContext::getUniform):
634         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
635         * bindings/v8/custom/V8CustomBinding.h:
636         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
637         (WebCore::toV8):
638         (WebCore::):
639         (WebCore::getObjectParameter):
640         (WebCore::getProgramParameter):
641         (WebCore::CALLBACK_FUNC_DECL):
642         * html/canvas/CanvasObject.cpp:
643         (WebCore::CanvasObject::CanvasObject):
644         (WebCore::CanvasObject::setObject):
645         (WebCore::CanvasObject::deleteObject):
646         * html/canvas/CanvasObject.h:
647         * html/canvas/WebGLBuffer.cpp:
648         (WebCore::WebGLBuffer::create):
649         (WebCore::WebGLBuffer::WebGLBuffer):
650         * html/canvas/WebGLBuffer.h:
651         * html/canvas/WebGLGetInfo.cpp: Added.
652         (WebCore::WebGLGetInfo::WebGLGetInfo):
653         (WebCore::WebGLGetInfo::~WebGLGetInfo):
654         (WebCore::WebGLGetInfo::getType):
655         (WebCore::WebGLGetInfo::getBool):
656         (WebCore::WebGLGetInfo::getFloat):
657         (WebCore::WebGLGetInfo::getLong):
658         (WebCore::WebGLGetInfo::getString):
659         (WebCore::WebGLGetInfo::getUnsignedLong):
660         (WebCore::WebGLGetInfo::getWebGLBuffer):
661         (WebCore::WebGLGetInfo::getWebGLFloatArray):
662         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
663         (WebCore::WebGLGetInfo::getWebGLIntArray):
664         (WebCore::WebGLGetInfo::getWebGLProgram):
665         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
666         (WebCore::WebGLGetInfo::getWebGLTexture):
667         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
668         * html/canvas/WebGLGetInfo.h: Added.
669         (WebCore::WebGLGetInfo::):
670         * html/canvas/WebGLRenderbuffer.cpp:
671         (WebCore::WebGLRenderbuffer::create):
672         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
673         * html/canvas/WebGLRenderbuffer.h:
674         * html/canvas/WebGLRenderingContext.cpp:
675         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
676         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
677         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
678         (WebCore::WebGLRenderingContext::activeTexture):
679         (WebCore::WebGLRenderingContext::bindBuffer):
680         (WebCore::WebGLRenderingContext::bindFramebuffer):
681         (WebCore::WebGLRenderingContext::bindRenderbuffer):
682         (WebCore::WebGLRenderingContext::bindTexture):
683         (WebCore::WebGLRenderingContext::getBufferParameter):
684         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
685         (WebCore::WebGLRenderingContext::getParameter):
686         (WebCore::WebGLRenderingContext::getProgramParameter):
687         (WebCore::WebGLRenderingContext::getProgramInfoLog):
688         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
689         (WebCore::WebGLRenderingContext::getShaderParameter):
690         (WebCore::WebGLRenderingContext::getShaderInfoLog):
691         (WebCore::WebGLRenderingContext::getShaderSource):
692         (WebCore::WebGLRenderingContext::getString):
693         (WebCore::WebGLRenderingContext::getTexParameter):
694         (WebCore::WebGLRenderingContext::getUniform):
695         (WebCore::WebGLRenderingContext::getVertexAttrib):
696         (WebCore::WebGLRenderingContext::useProgram):
697         (WebCore::WebGLRenderingContext::getBooleanParameter):
698         (WebCore::WebGLRenderingContext::getFloatParameter):
699         (WebCore::WebGLRenderingContext::getIntParameter):
700         (WebCore::WebGLRenderingContext::getLongParameter):
701         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
702         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
703         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
704         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
705         * html/canvas/WebGLRenderingContext.h:
706         * html/canvas/WebGLRenderingContext.idl:
707         * html/canvas/WebGLTexture.cpp:
708         (WebCore::WebGLTexture::create):
709         (WebCore::WebGLTexture::WebGLTexture):
710         * html/canvas/WebGLTexture.h:
711         * manual-tests/webgl/resources/utils3d.js:
712         (initWebGL):
713         (loadShader):
714         (Framerate.prototype.snapshot):
715         * platform/graphics/GraphicsContext3D.h:
716         * platform/graphics/mac/GraphicsContext3DMac.cpp:
717         (WebCore::GraphicsContext3D::bindRenderbuffer):
718         (WebCore::GraphicsContext3D::getBooleanv):
719         (WebCore::GraphicsContext3D::getBufferParameteriv):
720         (WebCore::GraphicsContext3D::getFloatv):
721         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
722         (WebCore::GraphicsContext3D::getIntegerv):
723         (WebCore::GraphicsContext3D::getProgramiv):
724         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
725         (WebCore::GraphicsContext3D::getShaderiv):
726         (WebCore::GraphicsContext3D::getTexParameterfv):
727         (WebCore::GraphicsContext3D::getTexParameteriv):
728         (WebCore::GraphicsContext3D::getUniformfv):
729         (WebCore::GraphicsContext3D::getUniformiv):
730         (WebCore::GraphicsContext3D::getVertexAttribfv):
731         (WebCore::GraphicsContext3D::getVertexAttribiv):
732
733 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
734
735         Windows build fix.
736
737         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
738
739 2009-11-24  Philippe Normand  <pnormand@igalia.com>
740
741         Reviewed by Gustavo Noronha Silva.
742
743         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
744         https://bugs.webkit.org/show_bug.cgi?id=26354
745
746         Implemented MediaPlayerPrivate::isAvailable by checking the
747         presence of the playbin2 GStreamer element.
748
749         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
750         (WebCore::MediaPlayerPrivate::isAvailable):
751         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
752
753 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
754
755         Reviewed by Xan Lopez.
756
757         https://bugs.webkit.org/show_bug.cgi?id=25415
758         [GTK][ATK] Please implement support for get_text_at_offset
759
760         When building up the pango layout from text boxes, only append a
761         newline char after verifying there are no more boxes on this line.
762
763         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
764         (getPangoLayoutForAtk):
765
766 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
767
768         Reviewed by Pavel Feldman.
769
770         Web Inspector: Keyboard Shortcut to Clear Console Messages
771         https://bugs.webkit.org/show_bug.cgi?id=31780
772
773         All Platforms:  Ctrl+L  = Clear Console Messages
774         Mac Only:       Cmd+K   = Clear Console Messages
775
776         * inspector/front-end/ConsoleView.js:
777         (WebInspector.ConsoleView): create shortcuts
778         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
779         * inspector/front-end/KeyboardShortcut.js:
780         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
781         * inspector/front-end/ScriptsPanel.js:
782         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
783
784 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
785
786         Not reviewed: touch inspector controller in order to
787         kick win bot inspector deploy. rs=aroben.
788
789         * inspector/InspectorController.cpp:
790
791 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
792
793         Reviewed by Timothy Hatcher.
794
795         Web Inspector: Implement expandable compartments on timeline panel.
796
797         https://bugs.webkit.org/show_bug.cgi?id=31796
798
799         * inspector/front-end/TimelineOverviewPane.js:
800         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
801         * inspector/front-end/TimelinePanel.js:
802         (WebInspector.TimelinePanel):
803         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
804         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
805         (WebInspector.TimelinePanel.prototype._formatRecord):
806         (WebInspector.TimelinePanel.prototype._refreshRecords):
807         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
808         (WebInspector.TimelineRecordListRow):
809         (WebInspector.TimelineRecordListRow.prototype.update):
810         (WebInspector.TimelineRecordListRow.prototype.dispose):
811         (WebInspector.TimelineRecordGraphRow):
812         (WebInspector.TimelineRecordGraphRow.prototype.update):
813         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
814         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
815         * inspector/front-end/inspector.css:
816
817 2009-11-24  Mark Rowe  <mrowe@apple.com>
818
819         Fix production builds where the source tree may be read-only.
820
821         * WebCore.xcodeproj/project.pbxproj:
822
823 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
824
825         Reviewed by Kenneth Rohde Christiansen.
826
827         Include "config.h" to meet Coding Style Guidelines
828         https://bugs.webkit.org/show_bug.cgi?id=31792
829
830         No new tests as there is no new functionality.
831
832         * platform/graphics/win/IntPointWin.cpp:
833         * platform/graphics/win/IntRectWin.cpp:
834         * platform/graphics/win/IntSizeWin.cpp:
835         * platform/network/chromium/ResourceRequest.cpp:
836         * platform/win/PlatformMouseEventWin.cpp:
837
838 2009-11-23  Jian Li  <jianli@chromium.org>
839
840         Reviewed by NOBODY (Chromium build fix).
841
842         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
843         (WebCore::CALLBACK_FUNC_DECL):
844         * platform/graphics/GraphicsContext3D.h:
845
846 2009-11-23  Aaron Golden  <agolden@apple.com>
847
848         Reviewed by Alexey Proskuryakov.
849
850         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
851         identity and certificate information from a WebCore::Credential when receivedCredential
852         needs to modify the credential's persistence.
853
854         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
855         that copies every field from original except for persistence.
856
857         * platform/network/Credential.cpp:
858         (WebCore::Credential::Credential):
859         * platform/network/Credential.h:
860         * platform/network/mac/ResourceHandleMac.mm:
861         (WebCore::ResourceHandle::receivedCredential):
862
863 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
864
865         Reviewed by Geoff Garen.
866
867         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
868
869         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
870         and for this to automagically cause execution to take place in the world associated with the
871         global object associated with the ExecState (JSContextRef) passed.  However this is not how
872         things work - the world must be explicitly set within WebCore.
873
874         Making this work just for API calls to evaluate & call will be a far from perfect solution,
875         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
876         A better solution would be to make this all work automagically all throughout WebCore, but this
877         will require more refactoring.
878
879         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
880         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
881         we should switch over to using this approach for all cases we want to get a world from an exec state.
882
883         * bindings/js/JSDOMBinding.cpp:
884         (WebCore::WebCoreJSClientData::beginningExecution):
885         (WebCore::WebCoreJSClientData::completedExecution):
886         * bindings/js/JSDOMBinding.h:
887         * bindings/js/JSDOMGlobalObject.h:
888         (WebCore::JSDOMGlobalObject::world):
889         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
890         * bindings/js/JSDOMWindowBase.cpp:
891         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
892         * bindings/js/JSDOMWindowBase.h:
893         * bindings/js/JSDOMWindowShell.cpp:
894         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
895         * bindings/js/JSDOMWindowShell.h:
896         (WebCore::JSDOMWindowShell::world):
897         * bindings/js/JSWorkerContextBase.cpp:
898         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
899         * bindings/js/ScriptController.cpp:
900         (WebCore::ScriptController::initScript):
901
902 2009-11-23  Chris Marrin  <cmarrin@apple.com>
903
904         Reviewed by Oliver Hunt.
905
906         Add range checks to rendering calls in WebGL
907         https://bugs.webkit.org/show_bug.cgi?id=31239
908
909         I am now tracking the size of the data in each CanvasBuffer object
910         and keeping track of the buffer size of each active vertex attrib.
911         In drawArrays and drawElements I make sure no attempt is made to
912         access elements outside the valid buffer ranges. The test at:
913
914             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
915
916         no longer crashes.
917
918         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
919
920         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
921                fast/canvas/webgl/drawElementssOutOfBounds.html
922
923         * bindings/js/JSWebGLArrayCustom.cpp:
924         (WebCore::toJS):
925         * bindings/js/JSWebGLRenderingContextCustom.cpp:
926         (WebCore::JSWebGLRenderingContext::bufferData):
927         (WebCore::JSWebGLRenderingContext::bufferSubData):
928         (WebCore::JSWebGLRenderingContext::texSubImage2D):
929         * html/canvas/WebGLArrayBuffer.cpp:
930         (WebCore::WebGLArrayBuffer::create):
931         (WebCore::WebGLArrayBuffer::data):
932         * html/canvas/WebGLArrayBuffer.h:
933         * html/canvas/WebGLBuffer.cpp:
934         (WebCore::WebGLBuffer::WebGLBuffer):
935         (WebCore::WebGLBuffer::associateBufferData):
936         (WebCore::WebGLBuffer::associateBufferSubData):
937         (WebCore::WebGLBuffer::byteLength):
938         * html/canvas/WebGLBuffer.h:
939         (WebCore::WebGLBuffer::elementArrayBuffer):
940         * html/canvas/WebGLRenderingContext.cpp:
941         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
942         (WebCore::WebGLRenderingContext::sizeInBytes):
943         (WebCore::WebGLRenderingContext::bindBuffer):
944         (WebCore::WebGLRenderingContext::bufferData):
945         (WebCore::WebGLRenderingContext::bufferSubData):
946         (WebCore::WebGLRenderingContext::createShader):
947         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
948         (WebCore::WebGLRenderingContext::validateIndexArray):
949         (WebCore::WebGLRenderingContext::validateRenderingState):
950         (WebCore::WebGLRenderingContext::drawArrays):
951         (WebCore::WebGLRenderingContext::drawElements):
952         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
953         (WebCore::WebGLRenderingContext::isFramebuffer):
954         (WebCore::WebGLRenderingContext::isProgram):
955         (WebCore::WebGLRenderingContext::isRenderbuffer):
956         (WebCore::WebGLRenderingContext::isShader):
957         (WebCore::WebGLRenderingContext::isTexture):
958         (WebCore::WebGLRenderingContext::useProgram):
959         (WebCore::WebGLRenderingContext::validateProgram):
960         (WebCore::WebGLRenderingContext::vertexAttribPointer):
961         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
962         * html/canvas/WebGLRenderingContext.h:
963         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
964         * html/canvas/WebGLRenderingContext.idl:
965         * html/canvas/WebGLShader.cpp:
966         (WebCore::WebGLShader::create):
967         (WebCore::WebGLShader::WebGLShader):
968         * html/canvas/WebGLShader.h:
969         * platform/graphics/GraphicsContext3D.h:
970         (WebCore::GraphicsContext3D::):
971         * platform/graphics/mac/GraphicsContext3DMac.cpp:
972         (WebCore::GraphicsContext3D::createShader):
973
974 2009-11-23  Erik Arvidsson  <arv@chromium.org>
975
976         Reviewed by Eric Seidel.
977
978         JSC bindings for HasIndexGetter generates incorrect code (affects
979         MediaList and CSSStyleDeclaration).
980         This cleans up the edge cases for indexing out of range for style and
981         computed style objects to return an empty string according to the spec.
982         MediaList now returns null when indexed out of range.
983         https://bugs.webkit.org/show_bug.cgi?id=31683
984
985         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
986                fast/dom/CSSStyleDeclaration/css-style-item.html
987                fast/dom/StyleSheet/css-medialist-item.html
988
989         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
990                 we do not check the length before calling the item function.
991         * css/CSSComputedStyleDeclaration.cpp:
992         (WebCore::CSSComputedStyleDeclaration::item):
993         * css/CSSMutableStyleDeclaration.cpp:
994         (WebCore::CSSMutableStyleDeclaration::item):
995         * css/CSSStyleDeclaration.idl:
996
997 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
998
999         Reviewed by Dan Bernstein.
1000
1001         DocumentMarkers need to be educated about transforms
1002         https://bugs.webkit.org/show_bug.cgi?id=31751
1003         
1004         Find highlight is incorrect with transforms
1005         <rdar://problem/6358394>
1006
1007         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
1008         when computing the set of rects that encompass a selection. For transformed elemenets, the
1009         selection rect will be the bounding box of the selected content.
1010         
1011         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
1012         
1013         Test: editing/selection/transformed-selection-rects.html
1014         
1015         * WebCore.base.exp:
1016         Frame::selectionTextRects() has a new parameter.
1017         
1018         * dom/Document.cpp:
1019         (WebCore::Document::setRenderedRectForMarker):
1020         * dom/Document.h:
1021         Pass the marker as a const reference.
1022         
1023         * dom/Range.h:
1024         * dom/Range.cpp:
1025         (WebCore::Range::textQuads):
1026         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
1027         
1028         * page/Frame.h:
1029         * page/Frame.cpp:
1030         (WebCore::Frame::selectionTextRects):
1031         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
1032         method to get quads for ranges, and then take their bounding boxes.
1033
1034         * rendering/InlineTextBox.h:
1035         * rendering/InlineTextBox.cpp:
1036         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1037         (WebCore::InlineTextBox::paintTextMatchMarker):
1038         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1039         (WebCore::InlineTextBox::paintDocumentMarkers):
1040         (WebCore::InlineTextBox::textPos):
1041         (WebCore::InlineTextBox::offsetForPosition):
1042         
1043         Pass DocumentMarkers as a const references.
1044         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
1045         
1046         * rendering/RenderView.cpp:
1047         (WebCore::RenderView::selectionBounds):
1048
1049 2009-11-23  Dirk Schulze  <krit@webkit.org>
1050
1051         Reviewed by Oliver Hunt.
1052
1053         [Cairo] support blurred test-shadow
1054         [https://bugs.webkit.org/show_bug.cgi?id=31797]
1055
1056         Support for blurred text-shadows on Cairo. This patch
1057         reuses the code of blurred box-shadows, introduced in
1058         bug 26102. For a full textshadow support, a filters enabled
1059         build is needed.
1060
1061         * platform/graphics/cairo/FontCairo.cpp:
1062         (WebCore::Font::drawGlyphs):
1063
1064 2009-11-23  Jens Alfke  <snej@chromium.org>
1065
1066         Reviewed by Geoffrey Garen.
1067
1068         Change incorrect calls to the constructor "EventNames()" to the correct accessor
1069         "eventNames()". This saves ~100 AtomicString lookups each time.
1070         https://bugs.webkit.org/show_bug.cgi?id=31811
1071
1072         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
1073         * history/CachedFrame.cpp:
1074         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
1075         * html/HTMLFormControlElement.cpp:
1076         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
1077         * loader/FrameLoader.cpp:
1078         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
1079         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
1080         * page/DOMWindow.cpp:
1081         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
1082
1083 2009-11-23  Adam Langley  <agl@google.com>
1084
1085         Reviewed by Dmitry Titov.
1086
1087         Chromium Linux: Limit the stroke width and mitre limit.
1088
1089         Limit the stroke width and mitre limit that we'll pass into Skia to
1090         avoid overflowing Skia's uint16_t glyph widths.
1091
1092         http://code.google.com/p/chromium/issues/detail?id=28250
1093         https://bugs.webkit.org/show_bug.cgi?id=31747
1094
1095         * platform/graphics/skia/PlatformContextSkia.cpp:
1096         (scalarBound):
1097         (PlatformContextSkia::setupPaintForStroking):
1098
1099 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
1100
1101         Reviewed by Oliver Hunt.
1102
1103         https://bugs.webkit.org/show_bug.cgi?id=31812
1104         WebSocket code uses RefPtr::get() where it shouldn't
1105
1106         No change in funcitonality, just coding style correction.
1107
1108         * websockets/WebSocket.cpp:
1109         (WebCore::WebSocket::~WebSocket):
1110         * websockets/WebSocketChannel.cpp:
1111         (WebCore::WebSocketChannel::connect):
1112         (WebCore::WebSocketChannel::send):
1113         (WebCore::WebSocketChannel::bufferedAmount):
1114         (WebCore::WebSocketChannel::close):
1115         (WebCore::WebSocketChannel::disconnect):
1116         (WebCore::WebSocketChannel::didOpen):
1117         (WebCore::WebSocketChannel::didClose):
1118         (WebCore::WebSocketChannel::didReceiveData):
1119         (WebCore::WebSocketChannel::didFail):
1120
1121 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
1122
1123         Build fix.
1124
1125         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1126         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
1127         is static, so it can't use member variables directly.
1128
1129 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
1130
1131         Reviewed by Brady Eidson.
1132
1133         https://bugs.webkit.org/show_bug.cgi?id=31748
1134         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
1135
1136         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
1137         they didn't carry useful information.
1138
1139         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1140         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
1141         always need https.
1142         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
1143         only get scheduled after PAC is fetched and executed asynchronously.
1144         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
1145         source.
1146         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
1147         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
1148         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
1149         we make the call even on Mac.
1150         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
1151         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
1152         we need to get rid of the event source.
1153         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
1154         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
1155         array may come directly from system configuration, or from PAC.
1156         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
1157         separate.
1158         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
1159         before we get to the destructor.
1160         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
1161         is still in progress.
1162
1163 2009-11-23  Oliver Hunt  <oliver@apple.com>
1164
1165         Reviewed by Geoff Garen.
1166
1167         Don't leak the CGImage we create when drawing a sub image.
1168
1169         * platform/graphics/cg/ImageCG.cpp:
1170         (WebCore::BitmapImage::draw):
1171
1172 2009-11-23  Adam Barth  <abarth@webkit.org>
1173
1174         Reviewed by Dimitri Glazkov.
1175
1176         [V8] Don't crash when OOM in creating isolated world
1177         https://bugs.webkit.org/show_bug.cgi?id=31805
1178
1179         We need to add some more null checks to avoid crashing.  No new tests
1180         because we don't have a good way to test out-of-memory bugs.
1181
1182         * bindings/v8/V8Proxy.cpp:
1183         (WebCore::V8Proxy::evaluateInIsolatedWorld):
1184         (WebCore::V8Proxy::evaluateInNewContext):
1185         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1186         * bindings/v8/V8Proxy.h:
1187
1188 2009-11-23  Dirk Schulze  <krit@webkit.org>
1189
1190         Reviewed by Nikolas Zimmermann.
1191
1192         This is the implementation of the filterRes attribute. It
1193         helps the SVG developer to set the quality of a filter by
1194         giving the width or height of filter.
1195         This patch also sets the filter resolution to lower values
1196         if a intermediate ImageBuffer size is bigger than the given
1197         maximal size.
1198         The maximal size is set to 5000x5000 by default. This is a
1199         subjectiv decission. Everthing greater than this values gets
1200         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
1201         For mobil devices a maximum size of 100x100 or 200x200 seems
1202         to be reasonable.
1203         The important fact on filter resolution is, that the output
1204         size is still the size given by the <filter> element.
1205
1206         Tests: svg/filters/big-sized-filter-2.svg
1207                svg/filters/big-sized-filter.svg
1208                svg/filters/filterRes.svg
1209
1210         * platform/graphics/FloatRect.cpp:
1211         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
1212         * platform/graphics/FloatRect.h:
1213         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
1214         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1215         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
1216         calculation.
1217         * platform/graphics/filters/FEBlend.cpp:
1218         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
1219         * platform/graphics/filters/FEColorMatrix.cpp:
1220         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
1221         * platform/graphics/filters/FEComponentTransfer.cpp:
1222         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
1223         calculations.
1224         * platform/graphics/filters/FEComposite.cpp:
1225         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
1226         * platform/graphics/filters/FEGaussianBlur.cpp:
1227         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
1228         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
1229         of a filter output.
1230         (WebCore::Filter::filterResolution):
1231         (WebCore::Filter::setFilterResolution):
1232         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
1233         as well as the scaledSubRegion. It also searches for the biggest effect size.
1234         We have to change the filter resolution, if one intermediate ImageBuffer size
1235         doesn't fit in the maximal image size.
1236         * platform/graphics/filters/FilterEffect.cpp:
1237         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
1238         the right part of a previous effect result.
1239         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
1240         the right part of a previous effect result.
1241         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
1242         a new intermediate ImageBuffer for the result of the current effect.
1243         * platform/graphics/filters/FilterEffect.h:
1244         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
1245         filter effect.
1246         (WebCore::FilterEffect::setScaledSubRegion):
1247         (WebCore::FilterEffect::effectBoundaries): The original values of the
1248         EffectElement for a second subRegion calculation.
1249         (WebCore::FilterEffect::setEffectBoundaries):
1250         * platform/graphics/filters/ImageBufferFilter.cpp:
1251         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
1252         * platform/graphics/filters/ImageBufferFilter.h:
1253         (WebCore::ImageBufferFilter::maxImageSize):
1254         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
1255         * platform/graphics/filters/SourceAlpha.cpp:
1256         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
1257         intern calculations.
1258         * platform/graphics/filters/SourceGraphic.cpp:
1259         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
1260         intern calculations.
1261         * svg/SVGFilterElement.cpp:
1262         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
1263         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
1264         filterResolution.
1265         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1266         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
1267         values to effectBoundaries of the filter effect
1268         * svg/graphics/SVGResourceFilter.cpp:
1269         (WebCore::SVGResourceFilter::SVGResourceFilter):
1270         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
1271         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
1272         fits into the maximal image size, modifys scale factors if not and return a
1273         bool: fits.
1274         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
1275         filterResolution (given by FilterElement or calculated on to big image sizes).
1276         Set the scale level to SVGFilter.
1277         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
1278         is wrong.
1279         * svg/graphics/SVGResourceFilter.h:
1280         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
1281         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
1282         a FilterResolution?
1283         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
1284         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
1285         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1286         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
1287         Kernel values are scaled to current filter resolution too.
1288         * svg/graphics/filters/SVGFEFlood.cpp:
1289         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
1290         * svg/graphics/filters/SVGFEMerge.cpp:
1291         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
1292         Kernel values are scaled to current filter resolution too.
1293         * svg/graphics/filters/SVGFEMorphology.cpp:
1294         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
1295         Kernel values are scaled to current filter resolution too.
1296         * svg/graphics/filters/SVGFEOffset.cpp:
1297         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
1298         * svg/graphics/filters/SVGFETile.cpp:
1299         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
1300         * svg/graphics/filters/SVGFilter.cpp:
1301         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
1302         scaledSubRegion according to the current filterResolution and get the maximal image size.
1303         * svg/graphics/filters/SVGFilter.h:
1304         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
1305         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
1306         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
1307         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
1308
1309 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
1310
1311         Reviewed by Kenneth Rohde Christiansen.
1312
1313         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
1314         the wrapped object died before the gc removed the instance.
1315
1316         https://bugs.webkit.org/show_bug.cgi?id=31681
1317
1318         Before using a cached instance, verify that its wrapped QObject is
1319         still alive.
1320
1321         * bridge/qt/qt_instance.cpp:
1322         (JSC::Bindings::QtInstance::getQtInstance):
1323         * bridge/qt/qt_instance.h:
1324         (JSC::Bindings::QtInstance::hashKey):
1325
1326 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
1327
1328         Reviewed by Oliver Hunt.
1329
1330         ARIA: support aria-flowto
1331         https://bugs.webkit.org/show_bug.cgi?id=31762
1332
1333         Test: platform/mac/accessibility/aria-flowto.html
1334
1335         * accessibility/AccessibilityObject.h:
1336         (WebCore::AccessibilityObject::ariaOwnsElements):
1337         (WebCore::AccessibilityObject::supportsARIAFlowTo):
1338         (WebCore::AccessibilityObject::ariaFlowToElements):
1339         * accessibility/AccessibilityRenderObject.cpp:
1340         (WebCore::AccessibilityRenderObject::linkedUIElements):
1341         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
1342         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
1343         * accessibility/AccessibilityRenderObject.h:
1344         * html/HTMLAttributeNames.in:
1345
1346 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1347
1348         Not reviewed. Build fix for WML enabled builds.
1349         Adopt WebCore API changes.
1350
1351         * wml/WMLAElement.cpp:
1352         (WebCore::WMLAElement::defaultEventHandler):
1353         * wml/WMLInputElement.cpp:
1354         (WebCore::WMLInputElement::defaultEventHandler):
1355
1356 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
1357
1358         Reviewed by Timothy Hatcher.
1359
1360         Web Inspector: Introduce sidebar background on timeline panel in order
1361         to prevent it from flickering on scroll.
1362
1363         https://bugs.webkit.org/show_bug.cgi?id=31789
1364
1365         * inspector/front-end/TimelinePanel.js:
1366         (WebInspector.TimelinePanel):
1367         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1368         (WebInspector.TimelinePanel.prototype._onScroll):
1369         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1370         * inspector/front-end/inspector.css:
1371
1372 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
1373
1374         Reviewed by Timothy Hatcher.
1375
1376         Web Inspector: Reimplement TimelinePanel to make it fast:
1377         - Extract grid and overview into separate files
1378         - Make timeline create only divs for visible rows
1379
1380         https://bugs.webkit.org/show_bug.cgi?id=31784
1381
1382         * WebCore.gypi:
1383         * WebCore.vcproj/WebCore.vcproj:
1384         * inspector/front-end/AbstractTimelinePanel.js:
1385         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
1386         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1387         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
1388         * inspector/front-end/TimelineGrid.js: Added.
1389         (WebInspector.TimelineGrid):
1390         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
1391         (WebInspector.TimelineGrid.prototype.updateDividers):
1392         (WebInspector.TimelineGrid.prototype.addEventDivider):
1393         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
1394         * inspector/front-end/TimelineOverviewPane.js: Added.
1395         (WebInspector.TimelineOverviewPane):
1396         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
1397         (WebInspector.TimelineOverviewPane.prototype.update):
1398         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
1399         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
1400         (WebInspector.TimelineOverviewPane.prototype.reset):
1401         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
1402         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
1403         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
1404         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
1405         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
1406         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
1407         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
1408         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
1409         (WebInspector.TimelineOverviewCalculator):
1410         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
1411         (WebInspector.TimelineOverviewCalculator.prototype.reset):
1412         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
1413         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
1414         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
1415         (WebInspector.TimelineCategoryTreeElement):
1416         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
1417         (WebInspector.TimelineCategoryGraph):
1418         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
1419         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
1420         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
1421         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
1422         * inspector/front-end/TimelinePanel.js:
1423         (WebInspector.TimelinePanel):
1424         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1425         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
1426         (WebInspector.TimelinePanel.prototype._formatRecord):
1427         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
1428         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
1429         (WebInspector.TimelinePanel.prototype.resize):
1430         (WebInspector.TimelinePanel.prototype.reset):
1431         (WebInspector.TimelinePanel.prototype.show):
1432         (WebInspector.TimelinePanel.prototype._onScroll):
1433         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
1434         (WebInspector.TimelinePanel.prototype._refresh):
1435         (WebInspector.TimelinePanel.prototype._refreshRecords):
1436         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
1437         (WebInspector.TimelineCategory):
1438         (WebInspector.TimelineCalculator):
1439         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
1440         (WebInspector.TimelineRecordListRow):
1441         (WebInspector.TimelineRecordListRow.prototype.update):
1442         (WebInspector.TimelineRecordGraphRow):
1443         (WebInspector.TimelineRecordGraphRow.prototype.update):
1444         * inspector/front-end/WebKit.qrc:
1445         * inspector/front-end/inspector.css:
1446         * inspector/front-end/inspector.html:
1447
1448 2009-11-22  Chris Evans  <cevans@chromium.org>
1449
1450         Reviewed by Adam Barth.
1451
1452         Disable access to file:/// directory listings
1453         https://bugs.webkit.org/show_bug.cgi?id=31329
1454
1455         Deny access to directory listings. This needs doing in WebKit for
1456         WebKit clients that do permit top-level navigation to file:///dir.
1457         This matches Firefox, plus the existing Safari implementation (which
1458         does not support any directory access at all). It will fix the
1459         LayoutTest named below for Chromium.
1460
1461         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
1462
1463         * page/SecurityOrigin.cpp: Deny access to directory listings.
1464         (WebCore::SecurityOrigin::SecurityOrigin):
1465         (WebCore::SecurityOrigin::canRequest):
1466
1467 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
1468
1469         Reviewed by Timothy Hatcher.
1470
1471         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
1472         https://bugs.webkit.org/show_bug.cgi?id=31400
1473
1474         Handle the following when on a Mac:
1475
1476           Ctrl+P = Previous (like Up arrow)
1477           Ctrl+N = Next (like Down arrow)
1478
1479         No longer rerun autocompletion when just pushing a modifier key
1480         like Control, Alt, Shift, or Meta.
1481
1482         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
1483
1484           Up   = Previous Command if on First Line (caret moves to the end of the first line)
1485                  otherwise default caret movement in text.
1486           Down = Next Command if on Last Line (caret naturally moves to the end)
1487                  otherwise default caret movement in text.
1488
1489         * inspector/front-end/TextPrompt.js:
1490         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
1491         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
1492         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
1493         (WebInspector.TextPrompt.prototype._upKeyPressed):
1494         (WebInspector.TextPrompt.prototype._downKeyPressed):
1495         (WebInspector.TextPrompt.prototype._moveBackInHistory):
1496         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
1497
1498 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
1499
1500         Reviewed by Timothy Hatcher.
1501
1502         Adds a tooltip containing the full url of the resource to each element
1503         in the Resources panel so that it is possible to quickly see the query
1504         parameters.
1505         https://bugs.webkit.org/show_bug.cgi?id=19103
1506
1507         * inspector/front-end/ResourcesPanel.js:
1508         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
1509         Set the tooltip to be the resource's url.
1510
1511 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
1512
1513         Reviewed by Dan Bernstein.
1514
1515         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
1516         https://bugs.webkit.org/show_bug.cgi?id=31588
1517         
1518         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
1519         so that findRule() and deleteRule() work with these keywords.
1520
1521         * css/WebKitCSSKeyframesRule.cpp:
1522         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
1523
1524 2009-11-21  Daniel Bates  <dbates@webkit.org>
1525
1526         Reviewed by Eric Seidel.
1527
1528         https://bugs.webkit.org/show_bug.cgi?id=31647
1529
1530         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
1531
1532         No functionality was changed. So, no new tests.
1533
1534         * dom/KeyboardEvent.cpp:
1535         (WebCore::KeyboardEvent::~KeyboardEvent):
1536         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
1537         (WebCore::KeyboardEvent::keyEvent):
1538
1539 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
1540
1541         Reviewed by Beth Dakin.
1542
1543         WAI-ARIA: add support for aria-owns
1544         https://bugs.webkit.org/show_bug.cgi?id=31702
1545
1546         Re-organized how accessibilityAttributeNames are returned so 
1547         that it's possible for an element to add an attribute based on 
1548         a dynamic value. In this case, we only want to add AXOwn if the 
1549         element actually supports aria-owns.
1550   
1551         Test: platform/mac/accessibility/aria-owns.html
1552
1553         * accessibility/AccessibilityObject.h:
1554         (WebCore::AccessibilityObject::supportsARIAOwns):
1555         (WebCore::AccessibilityObject::ariaOwnsElements):
1556         * accessibility/AccessibilityRenderObject.cpp:
1557         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
1558         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
1559         * accessibility/AccessibilityRenderObject.h:
1560         * accessibility/mac/AccessibilityObjectWrapper.mm:
1561         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1562         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1563         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1564         * html/HTMLAttributeNames.in:
1565
1566 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
1567
1568         Reviewed by Simon Fraser.
1569
1570         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
1571
1572         * css/mediaControls.css:
1573             Define closed caption toggle button.
1574
1575         * rendering/RenderMedia.cpp:
1576         (WebCore::RenderMedia::updateControls):
1577             Create closed caption toggle button in display order.
1578
1579         * rendering/RenderThemeMac.mm:
1580         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1581             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
1582             No need to check if the movie has video, a closed captions track is a video
1583             track.
1584
1585 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
1586
1587         Reviewed by Timothy Hatcher.
1588
1589         Web Inspector: Running code in the Console that ends with a
1590         single line comment no longer produces a parse error.
1591
1592         * inspector/front-end/InjectedScript.js:
1593         (InjectedScript._evaluateOn):
1594
1595 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
1596
1597         Reviewed by Beth Dakin.
1598
1599         WAI-ARIA: add support for 'math' role
1600         https://bugs.webkit.org/show_bug.cgi?id=31706
1601
1602         * accessibility/AccessibilityObject.cpp:
1603         * accessibility/AccessibilityObject.h:
1604         * accessibility/mac/AccessibilityObjectWrapper.mm:
1605
1606 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
1607
1608         Reviewed by Kenneth Rohde Christiansen.
1609
1610         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
1611         https://bugs.webkit.org/show_bug.cgi?id=30460
1612
1613         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
1614         It already refreshes plugins and reloads pages when necessary.
1615
1616         Tests: plugins/reloadplugins-and-pages.html
1617                plugins/reloadplugins-no-pages.html
1618
1619         * plugins/PluginInfoStore.cpp:
1620         (WebCore::refreshPlugins):
1621
1622 2009-11-20  Oliver Hunt  <oliver@apple.com>
1623
1624         Reviewed by Dave Hyatt.
1625
1626         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
1627
1628         Expose WebCore object serialization to WebKit.
1629
1630         * WebCore.base.exp:
1631         * bindings/js/SerializedScriptValue.cpp:
1632         (WebCore::SerializedScriptValue::~SerializedScriptValue):
1633         (WebCore::SerializedScriptValue::create):
1634         (WebCore::SerializedScriptValue::deserialize):
1635         * bindings/js/SerializedScriptValue.h:
1636
1637 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1638
1639         Reviewed by Tim Hatcher.
1640
1641         Fixes <http://webkit.org/b/31741>.
1642         Web Inspector: User Entered Data on the console should show up no matter what filters.
1643         
1644         Always show .console-user-command-result, no matter what the filter say
1645         we should do with the other classes.
1646
1647         * inspector/front-end/inspector.css:
1648
1649 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1650
1651         Reviewed by Tim Hatcher.
1652
1653         Fixes <http://webkit.org/b/31700>.
1654         Web Inspector: isMac should be in one central location + Cached.
1655         
1656         We should cache the value of isMac, and make the indexOf call in one
1657         single location, because we are calling it from multiple places, and saving
1658         the result can save us time, and make the call sites simpler.
1659
1660         * inspector/front-end/AbstractTimelinePanel.js:
1661         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1662         * inspector/front-end/ConsoleView.js:
1663         (WebInspector.ConsoleView.prototype._updateFilter):
1664         * inspector/front-end/ElementsPanel.js:
1665         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1666         * inspector/front-end/ScriptsPanel.js:
1667         (WebInspector.ScriptsPanel):
1668         * inspector/front-end/SourceFrame.js:
1669         (WebInspector.SourceFrame.prototype._loaded):
1670         * inspector/front-end/inspector.js:
1671         (WebInspector.documentKeyDown):
1672         (WebInspector.isMac):
1673
1674 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1675
1676         Removed .DS_Store accidentally added in last (r51245).
1677
1678 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1679
1680         Reviewed by Timothy Hatcher.
1681
1682         Web Inspector: Add Console Only Layout Mode
1683         https://bugs.webkit.org/show_bug.cgi?id=30282
1684
1685         Adds a Console Panel, which allows for a Full size Console. This
1686         extends the Drawer to the size of a Panel. This also fixes previous
1687         resize issues with the Drawer.
1688
1689         * inspector/front-end/ConsolePanel.js: added.
1690         (WebInspector.ConsolePanel):
1691         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
1692         (WebInspector.ConsolePanel.prototype.show):
1693         (WebInspector.ConsolePanel.prototype.hide):
1694         * inspector/front-end/Drawer.js:
1695         (WebInspector.Drawer):
1696         (WebInspector.Drawer.prototype.set visibleView):
1697         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
1698         (WebInspector.Drawer.prototype.show.animationFinished):
1699         (WebInspector.Drawer.prototype.show):
1700         (WebInspector.Drawer.prototype.hide.animationFinished):
1701         (WebInspector.Drawer.prototype.hide):
1702         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
1703         (WebInspector.Drawer.prototype.enterPanelMode):
1704         (WebInspector.Drawer.prototype.exitPanelMode):
1705         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
1706         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
1707         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
1708         (WebInspector.Drawer.prototype._animateDrawerHeight):
1709         (WebInspector.Drawer.prototype._animationDuration):
1710         (WebInspector.Drawer.prototype._startStatusBarDragging):
1711         (WebInspector.Drawer.prototype._statusBarDragging):
1712         (WebInspector.Drawer.prototype._endStatusBarDragging):
1713
1714         Miscellaneous changes and cleanup.
1715
1716         * English.lproj/localizedStrings.js: "Console" toolbar title.
1717         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
1718         * inspector/front-end/Images/consoleIcon.png: added.
1719         * inspector/front-end/inspector.css: added icon.
1720         * inspector/front-end/inspector.html:
1721         * inspector/front-end/inspector.js:
1722         (WebInspector._createPanels): create console panel
1723         (WebInspector.windowResize): resize drawer if necessary
1724         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
1725         (WebInspector.animateStyle): start animation interval, returns the interval key
1726         (WebInspector.toggleAttach): resize drawer if necessary
1727         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
1728         (WebInspector.showProfileForURL): style fix
1729
1730         Restore the panel when the inspector restarts.
1731
1732         * inspector/InspectorController.cpp:
1733         (WebCore::InspectorController::setWindowVisible):
1734         (WebCore::InspectorController::specialPanelForJSName):
1735         * inspector/InspectorFrontend.cpp:
1736         (WebCore::InspectorFrontend::showPanel):
1737
1738         Build files.
1739
1740         * WebCore.gypi:
1741         * WebCore.vcproj/WebCore.vcproj:
1742         * inspector/front-end/WebKit.qrc:
1743
1744 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
1745
1746         Reviewed by Tim Hatcher.
1747
1748         Fixes <http://webkit.org/b/31699>.
1749         Web Inspector: Should Cache Values of InspectorController.platform() and port().
1750
1751         Refactor the Inspector to cache the value of InspectorController.platform
1752         and InspectorController.port, because those need to call into C++, they are
1753         being called more and more as we add platform specific keyboard shortcuts, and
1754         they shouldn't change in the lifecycle of the Web Inspector.
1755
1756         * inspector/front-end/AbstractTimelinePanel.js:
1757         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1758         * inspector/front-end/ConsoleView.js:
1759         (WebInspector.ConsoleView.prototype._updateFilter):
1760         * inspector/front-end/ElementsPanel.js:
1761         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1762         * inspector/front-end/ScriptsPanel.js:
1763         (WebInspector.ScriptsPanel):
1764         * inspector/front-end/SourceFrame.js:
1765         (WebInspector.SourceFrame.prototype._loaded):
1766         * inspector/front-end/inspector.js:
1767         (WebInspector.get platform):
1768         (WebInspector.get port):
1769         (WebInspector.loaded):
1770         (WebInspector.documentKeyDown):
1771         (WebInspector.toolbarDragStart):
1772
1773 2009-11-20  Dirk Schulze  <krit@webkit.org>
1774
1775         Unreviewed build fix for filters enabled builds.
1776
1777         * platform/graphics/filters/FEColorMatrix.cpp:
1778         (WebCore::FEColorMatrix::apply):
1779         * platform/graphics/filters/FEComposite.cpp:
1780         (WebCore::FEComposite::apply):
1781         * platform/graphics/filters/SourceGraphic.cpp:
1782         (WebCore::SourceGraphic::apply):
1783         * svg/graphics/SVGResourceFilter.cpp:
1784         (WebCore::SVGResourceFilter::applyFilter):
1785         * svg/graphics/filters/SVGFEMerge.cpp:
1786         (WebCore::FEMerge::apply):
1787         * svg/graphics/filters/SVGFEOffset.cpp:
1788         (WebCore::FEOffset::apply):
1789         * svg/graphics/filters/SVGFETile.cpp:
1790         (WebCore::FETile::apply):
1791
1792 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
1793
1794         Reviewed by Simon Fraser.
1795
1796         <rdar://problem/7389945> QTKit based media engine should not claim to support 
1797         fullscreen on Leopard
1798
1799         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1800         (WebCore::MediaPlayerPrivate::supportsFullscreen):
1801             Only return true on SnowLeopard for now.
1802
1803         * rendering/RenderThemeMac.mm:
1804         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
1805             No need to special case MediaFullscreenButtonPart as the default implementation 
1806             asks the media engine if it supports fullscreen.
1807
1808 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
1809
1810         Reviewed by Simon Hausmann.
1811
1812         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
1813                  Girish Ramakrishnan <girish@forwardbias.in>
1814         
1815         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
1816         without a QWebView or when inside QGraphicsWebView.
1817         
1818         Currently, the code provides the cgcontext of the PlatformPluginWidget to
1819         the plugin. This approach does not work when we are printing, or using
1820         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
1821         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
1822         of the QPaintDevice's context.
1823         
1824         To solve all cases and keep the code simple, we render the plugin to an
1825         offscreen pixmap in all cases. This way, the plugin always renders to the
1826         CGContext of the pixmap and we then use QPainter to blit the pixmap into
1827         the QPaintDevice. We also create a fake window and set it's WindowRef in
1828         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
1829         
1830         Now, that's the theory. In practice, ATM, mouse events do not work when using
1831         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
1832         so that there are no regressions after this patch. Once we get mouse events
1833         working, setPlatformPluginWidget will be removed.
1834         
1835         https://bugs.webkit.org/show_bug.cgi?id=31183
1836
1837         * plugins/PluginView.cpp:
1838         (WebCore::PluginView::PluginView):
1839         * plugins/PluginView.h:
1840         * plugins/mac/PluginViewMac.cpp:
1841         (WebCore::PluginView::platformStart):
1842         (WebCore::PluginView::platformDestroy):
1843         (WebCore::PluginView::setNPWindowIfNeeded):
1844         (WebCore::PluginView::updatePluginWidget):
1845         (WebCore::PluginView::paint):
1846         (WebCore::PluginView::invalidateRect):
1847
1848 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
1849
1850         Reviewed by Timothy Hatcher.
1851
1852         Web Inspector: Resync Resources Backend and Frontend
1853         https://bugs.webkit.org/show_bug.cgi?id=31705
1854
1855         * inspector/front-end/Resource.js: resync enum values with backend
1856         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
1857
1858 2009-11-19  Steve Block  <steveblock@google.com>
1859
1860         Reviewed by Darin Fisher.
1861
1862         Android port lacks configuration in Platform.h and config.h.
1863         https://bugs.webkit.org/show_bug.cgi?id=31671
1864
1865         Build change only. No new tests possible.
1866
1867         * config.h: Modified. Added Android-specific configuration.
1868
1869 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
1870
1871         Reviewed by Darin Adler.
1872
1873         Change default stylesheet to reset text indentation for ruby elements by default.
1874         (https://bugs.webkit.org/show_bug.cgi?id=31247)
1875
1876         Test: fast/ruby/ruby-text-indent.html
1877
1878         * css/html.css: reset text-indent on <ruby> and <rt> elements
1879
1880 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
1881
1882         Reviewed by Darin Adler.
1883
1884         Fixes <http://webkit.org/b/22754>.
1885         Web Inspector: Keyboard shortcut for Element finder.
1886
1887         Use Command + Shift + C as a shortcut for Node Search, to 
1888         match the Firebug shortcut to do the same thing.
1889
1890         * inspector/front-end/ElementsPanel.js:
1891         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
1892
1893 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
1894
1895         Reviewed by Darin Adler.
1896
1897         https://bugs.webkit.org/show_bug.cgi?id=31690
1898         Make SocketStreamHandleCFNet work on Windows
1899
1900         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
1901
1902         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
1903
1904         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
1905         (WebCore::emptyPerform):
1906         (WebCore::runLoaderThread):
1907         (WebCore::loaderRunLoop):
1908         * platform/network/cf/LoaderRunLoopCF.h: Added.
1909         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
1910         it's needed for more than just resource loading.
1911
1912         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
1913
1914         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
1915
1916         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
1917         main thread.
1918         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1919         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
1920         inoperable main run loop.
1921
1922         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
1923         (WebCore::SocketStreamHandle::readStreamCallback):
1924         (WebCore::SocketStreamHandle::writeStreamCallback):
1925         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
1926         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
1927         Forward stream events to main thread on Windows.
1928
1929 2009-11-19  Avi Drissman  <avi@chromium.org>
1930
1931         Reviewed by Darin Adler.
1932
1933         Quick style fix.
1934         https://bugs.webkit.org/show_bug.cgi?id=27777
1935
1936         * platform/graphics/cg/PDFDocumentImage.cpp:
1937
1938 2009-11-19  Beth Dakin  <bdakin@apple.com>
1939
1940        Build fix. No review needed.
1941
1942         * platform/chromium/ScrollbarThemeChromium.cpp:
1943         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1944         * rendering/RenderMediaControlsChromium.cpp:
1945         (WebCore::paintMediaButton):
1946
1947 2009-11-19  Beth Dakin  <bdakin@apple.com>
1948       
1949        Build fix. No review needed.
1950
1951         * rendering/RenderThemeChromiumSkia.cpp:
1952         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
1953         (WebCore::RenderThemeChromiumSkia::paintRadio):
1954         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
1955         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
1956         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
1957
1958 2009-11-19  Beth Dakin  <bdakin@apple.com>
1959
1960        Build fix. No review needed.
1961
1962         * platform/graphics/qt/StillImageQt.cpp:
1963         (WebCore::StillImage::draw):
1964         * platform/graphics/qt/StillImageQt.h:
1965
1966 2009-11-19  Beth Dakin  <bdakin@apple.com>
1967
1968        Build fix. No review needed.
1969
1970         * rendering/RenderThemeWin.cpp:
1971         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
1972         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
1973         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
1974
1975 2009-11-19  Beth Dakin  <bdakin@apple.com>
1976
1977        Build fix. No review needed.
1978
1979         * plugins/PluginView.cpp:
1980         (WebCore::PluginView::paintMissingPluginIcon):
1981
1982 2009-11-19  Beth Dakin  <bdakin@apple.com>
1983
1984         Build fix. No review needed.
1985
1986         * platform/graphics/win/ImageCGWin.cpp:
1987         (WebCore::BitmapImage::getHBITMAPOfSize):
1988         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1989
1990 2009-11-19  Beth Dakin  <bdakin@apple.com>
1991
1992         Reviewed by Darin Adler.
1993
1994         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
1995         color-correction work with untagged images
1996
1997         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
1998         now take a ColorSpace. A bunch of classes inherit from Image, so 
1999         draw() and drawPattern() functions there must also take a 
2000         ColorSpace.
2001         * platform/graphics/Image.cpp:
2002         (WebCore::Image::fillWithSolidColor):
2003         (WebCore::Image::drawTiled):
2004         * platform/graphics/Image.h:
2005         * platform/graphics/BitmapImage.h:
2006         * platform/graphics/GeneratedImage.cpp:
2007         (WebCore::GeneratedImage::draw):
2008         (WebCore::GeneratedImage::drawPattern):
2009         * platform/graphics/GeneratedImage.h:
2010         * platform/graphics/cg/PDFDocumentImage.cpp:
2011         (WebCore::PDFDocumentImage::draw):
2012         * platform/graphics/cg/PDFDocumentImage.h:
2013         * svg/graphics/SVGImage.cpp:
2014         (WebCore::SVGImage::draw):
2015         * svg/graphics/SVGImage.h:
2016
2017         All of the drawImage() functions and drawTiled() functions of 
2018         GraphicsContext now take a ColorSpace.
2019         * platform/graphics/GraphicsContext.cpp:
2020         (WebCore::GraphicsContext::drawImage):
2021         (WebCore::GraphicsContext::drawTiledImage):
2022         * platform/graphics/GraphicsContext.h:
2023
2024         This is where the actual work is done.
2025         * platform/graphics/cg/ImageCG.cpp:
2026         (WebCore::imageWithColorSpace): New static function that returns a 
2027         copy of the given image in the given ColorSpace *IF* we should use 
2028         the given ColorSpace. We will ignore the color space if the image 
2029         is tagged and return 0. 
2030         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
2031         call imageWithColorSpace(). 
2032         (WebCore::Image::drawPattern): Same.
2033
2034         Attempt to keep all ports building. 
2035         * platform/graphics/cairo/ImageCairo.cpp:
2036         (WebCore::BitmapImage::draw):
2037         (WebCore::Image::drawPattern):
2038         * platform/graphics/haiku/ImageHaiku.cpp:
2039         (WebCore::BitmapImage::draw):
2040         (WebCore::Image::drawPattern):
2041         * platform/graphics/qt/ImageQt.cpp:
2042         (WebCore::Image::drawPattern):
2043         (WebCore::BitmapImage::draw):
2044         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
2045         * platform/graphics/skia/ImageSkia.cpp:
2046         (WebCore::Image::drawPattern):
2047         (WebCore::BitmapImage::draw):
2048         (WebCore::BitmapImageSingleFrameSkia::draw):
2049         * platform/graphics/wx/ImageWx.cpp:
2050         (WebCore::BitmapImage::draw):
2051         (WebCore::BitmapImage::drawPattern):
2052
2053         Callers of GraphicsContext's drawImage() and drawTiled() functions 
2054         now need to send a ColorSpace.
2055         * html/HTMLCanvasElement.cpp:
2056         (WebCore::HTMLCanvasElement::paint):
2057         * html/canvas/CanvasRenderingContext2D.cpp:
2058         (WebCore::CanvasRenderingContext2D::drawImage):
2059         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2060         * platform/ScrollView.cpp:
2061         (WebCore::ScrollView::wheelEvent):
2062         * platform/graphics/filters/FEColorMatrix.cpp:
2063         (WebCore::FEColorMatrix::apply):
2064         * platform/graphics/filters/FEComposite.cpp:
2065         (WebCore::FEComposite::apply):
2066         * platform/graphics/filters/SourceGraphic.cpp:
2067         (WebCore::SourceGraphic::apply):
2068         * platform/mac/ScrollbarThemeMac.mm:
2069         (WebCore::ScrollbarThemeMac::paint):
2070         * rendering/RenderBoxModelObject.cpp:
2071         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2072         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2073         * rendering/RenderImage.cpp:
2074         (WebCore::RenderImage::paintReplaced):
2075         * rendering/RenderLayer.cpp:
2076         (WebCore::RenderLayer::paintResizer):
2077         * rendering/RenderListMarker.cpp:
2078         (WebCore::RenderListMarker::paint):
2079         * rendering/RenderSVGImage.cpp:
2080         (WebCore::RenderSVGImage::paint):
2081         * rendering/RenderWidget.cpp:
2082         (WebCore::RenderWidget::paint):
2083         * svg/graphics/SVGPaintServerPattern.cpp:
2084         (WebCore::SVGPaintServerPattern::setup):
2085         * svg/graphics/SVGResourceFilter.cpp:
2086         (WebCore::SVGResourceFilter::applyFilter):
2087         * svg/graphics/filters/SVGFEMerge.cpp:
2088         (WebCore::FEMerge::apply):
2089         * svg/graphics/filters/SVGFEOffset.cpp:
2090         (WebCore::FEOffset::apply):
2091         * svg/graphics/filters/SVGFETile.cpp:
2092         (WebCore::FETile::apply):
2093
2094 2009-11-19  Avi Drissman  <avi@chromium.org>
2095
2096         Reviewed by Darin Adler.
2097
2098         Properly create a CGImageRef on non-PLATFORM(MAC).
2099         https://bugs.webkit.org/show_bug.cgi?id=27777
2100
2101         * platform/graphics/cg/ImageSourceCG.cpp:
2102         (WebCore::sharedBufferGetBytesAtPosition):
2103         (WebCore::sharedBufferRelease):
2104         (WebCore::ImageSource::setData):
2105         * platform/graphics/cg/ImageSourceCG.h:
2106         * platform/graphics/cg/PDFDocumentImage.cpp:
2107         (WebCore::PDFDocumentImage::dataChanged):
2108
2109 2009-11-19  Oliver Hunt  <oliver@apple.com>
2110
2111         Reviewed by Dave Hyatt.
2112
2113         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
2114         https://bugs.webkit.org/show_bug.cgi?id=31656
2115
2116         Make sure we're a child of the painting root before drawing overflow features.
2117
2118         * manual-tests/user-drag-with-decorations.html: Added.
2119         * rendering/RenderBlock.cpp:
2120         (WebCore::RenderBlock::paint):
2121
2122 2009-11-19  Dmitry Titov  <dimich@chromium.org>
2123
2124         Not reviewed, attempt to fix Chromium build.
2125
2126         * rendering/RenderMediaControlsChromium.cpp:
2127         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
2128
2129 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
2130
2131         Reviewed by Darin Adler.
2132
2133         Do not assert when a high number is used for roman numerals in lists.
2134         https://bugs.webkit.org/show_bug.cgi?id=31652
2135
2136         Test: fast/lists/ol-start-roman.html
2137
2138         * rendering/RenderListMarker.cpp:
2139         (WebCore::toRoman): Increase the char array size.
2140
2141 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2142
2143         Rubber-stamped by Oliver Hunt.
2144
2145         Add translatable strings to cover validationMessage, after
2146         r51172. Already covered by existing test.
2147
2148         * platform/gtk/LocalizedStringsGtk.cpp:
2149         (WebCore::validationMessageValueMissingText):
2150         (WebCore::validationMessageTypeMismatchText):
2151         (WebCore::validationMessagePatternMismatchText):
2152         (WebCore::validationMessageTooLongText):
2153         (WebCore::validationMessageRangeUnderflowText):
2154         (WebCore::validationMessageRangeOverflowText):
2155         (WebCore::validationMessageStepMismatchText):
2156
2157 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2158
2159         Reviewed by Darin Adler.
2160
2161         Remove HAVE(FLOAT_H) guard
2162         https://bugs.webkit.org/show_bug.cgi?id=31661
2163
2164         WebCore has a dependency on float.h, there is
2165         no need to guard float.h.
2166
2167         No new tests as there is no functional change.
2168
2169         * html/HTMLInputElement.cpp: Remove include directive
2170         for float.h as it is included in MathExtras.h already.
2171
2172 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
2173
2174         Reviewed by Pavel Feldman.
2175
2176         Instrumentation should account for painting in compositing layers
2177         https://bugs.webkit.org/show_bug.cgi?id=31674
2178
2179         Add calls to InspectorTimelineAgent for painting into compositing layers,
2180         which is not accounted for in FrameView::paintContents().
2181
2182         * rendering/RenderLayerBacking.cpp:
2183         (WebCore::RenderLayerBacking::paintIntoLayer):
2184         Avoid fetching the FrameView multiple times.
2185         
2186         (WebCore::inspectorTimelineAgent):
2187         (WebCore::RenderLayerBacking::paintContents):
2188
2189 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
2190
2191         Reviewed by Dan Bernstein.
2192
2193         <rdar://problem/7035231>
2194         Support closed caption in <video> element
2195
2196         Test: media/media-captions.html
2197
2198         * WebCore.base.exp:
2199         * accessibility/AccessibilityMediaControls.cpp:
2200         (WebCore::AccessibilityMediaControl::controlTypeName):
2201             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
2202
2203         * css/CSSPrimitiveValueMappings.h:
2204         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2205             Add MediaToggleClosedCaptionsButtonPart.
2206
2207         * css/CSSSelector.cpp:
2208         (WebCore::CSSSelector::extractPseudoType):
2209             Define and match mediaControlsToggleClosedCaptionsButton.
2210
2211         * css/CSSSelector.h:
2212         (WebCore::CSSSelector::):
2213         * css/CSSStyleSelector.cpp:
2214         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2215             Define and match PseudoMediaControlsToggleClosedCaptions.
2216
2217         * css/CSSValueKeywords.in:
2218             Define and use media-toggle-closed-captions-button.
2219
2220         * css/mediaControls.css:
2221         * css/mediaControlsQuickTime.css:
2222             Add webkit-media-controls-toggle-closed-captions-button.
2223
2224         * html/HTMLMediaElement.cpp:
2225         (WebCore::HTMLMediaElement::HTMLMediaElement): 
2226             Initialize m_closedCaptionsVisible.
2227         (WebCore::HTMLMediaElement::loadInternal): 
2228             Set m_closedCaptionsVisible to false.
2229         (WebCore::HTMLMediaElement::hasClosedCaptions): 
2230         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
2231         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
2232             New, captions internal methods.
2233         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
2234         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
2235         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
2236             New, captions DOM API.
2237
2238         * html/HTMLMediaElement.h:
2239         * html/HTMLMediaElement.idl:
2240             Declare methods needed for captions API.
2241
2242         * platform/ThemeTypes.h:
2243             Add MediaToggleClosedCaptionsButtonPart.
2244
2245         * platform/android/LocalizedStringsAndroid.cpp:
2246         (WebCore::localizedMediaControlElementString):
2247         (WebCore::localizedMediaControlElementHelpText):
2248         (WebCore::localizedMediaTimeDescription):
2249             Add empty implmentations.
2250
2251         * platform/graphics/MediaPlayer.cpp:
2252         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
2253         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
2254             New, empty implementations of media engine closed caption functions.
2255         (WebCore::MediaPlayer::hasClosedCaptions):
2256         (WebCore::MediaPlayer::setClosedCaptionsVisible):
2257             New, call media engine closed caption functions.
2258
2259         * platform/graphics/MediaPlayer.h:
2260         * platform/graphics/MediaPlayerPrivate.h:
2261         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
2262         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
2263             Declare new media engine methods.
2264
2265         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2266         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2267         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
2268         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
2269             New, QTKit implementation of closed caption methods.
2270
2271         * platform/gtk/LocalizedStringsGtk.cpp:
2272         (WebCore::localizedMediaControlElementString):
2273         (WebCore::localizedMediaControlElementHelpText):
2274             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
2275
2276         * platform/mac/WebCoreSystemInterface.h:
2277         * platform/mac/WebCoreSystemInterface.mm:
2278             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
2279
2280         * rendering/MediaControlElements.cpp:
2281         (WebCore::MediaControlInputElement::MediaControlInputElement):
2282             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
2283         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2284         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2285         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2286             New, implement the closed caption toggle button,
2287
2288         * rendering/MediaControlElements.h:
2289             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
2290             declare MediaControlToggleClosedCaptionsButtonElement.
2291
2292         * rendering/RenderMedia.cpp:
2293         (WebCore::RenderMedia::styleDidChange):
2294         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
2295         (WebCore::RenderMedia::createStatusDisplay):
2296         (WebCore::RenderMedia::updateControls):
2297         (WebCore::RenderMedia::forwardEvent):
2298         * rendering/RenderMedia.h:
2299             Deal with m_toggleClosedCaptionsButton.
2300
2301         * rendering/RenderTheme.cpp:
2302         (WebCore::RenderTheme::paint):
2303             Deal with MediaToggleClosedCaptionsButtonPart.
2304
2305         * rendering/RenderTheme.h:
2306         * rendering/RenderThemeMac.h:
2307             Declare paintMediaToggleClosedCaptionsButton.
2308
2309         * rendering/RenderThemeMac.mm:
2310         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
2311             New.
2312         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
2313             Don't render captions toggle button unless we are using the new theme, the
2314             movie has captions, and the movie is in a <video> element since we currently
2315             rely on QTKit to render the captions.
2316
2317         * rendering/style/RenderStyleConstants.h:
2318             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
2319
2320 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
2321
2322         wx build fix. Add missing header.
2323
2324         * platform/wx/LocalizedStringsWx.cpp:
2325
2326 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
2327
2328         Reviewed by Darin Adler.
2329
2330         https://bugs.webkit.org/show_bug.cgi?id=31634
2331         Ignore realm for proxy protection spaces
2332
2333         Only affects WebSocket proxy authentication, cannot be tested in DRT.
2334
2335         * platform/network/ProtectionSpace.cpp:
2336         (WebCore::operator==):
2337         * platform/network/ProtectionSpaceHash.h:
2338         (WebCore::ProtectionSpaceHash::hash):
2339
2340 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
2341
2342         Reviewed by Simon Hausmann.
2343
2344         [Qt] Normalize signal and slot signatures.
2345
2346         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2347         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2348
2349 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
2350
2351         Reviewed by Pavel Feldman.
2352
2353         Store cookie domains in the WebInspector object
2354
2355         The cookie domains have been moved from StoragePanel into WebInspector.
2356         Also, the document URLs are now passed inside the WebInspector.addResource()
2357         payload rather than pushed directly from InspectorController.
2358         https://bugs.webkit.org/show_bug.cgi?id=31627
2359
2360         * inspector/InspectorController.cpp:
2361         (WebCore::InspectorController::populateScriptObjects):
2362         (WebCore::InspectorController::didFinishLoading):
2363         * inspector/InspectorFrontend.cpp:
2364         * inspector/InspectorFrontend.h:
2365         * inspector/InspectorResource.cpp:
2366         (WebCore::InspectorResource::createScriptObject):
2367         (WebCore::InspectorResource::updateScriptObject):
2368         * inspector/front-end/StoragePanel.js:
2369         (WebInspector.StoragePanel.prototype.reset):
2370         (WebInspector.StoragePanel.prototype.addCookieDomain):
2371         * inspector/front-end/inspector.js:
2372         (WebInspector.addResource):
2373         (WebInspector.addCookieDomain):
2374         (WebInspector.reset):
2375
2376 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
2377
2378         Reviewed by Darin Adler.
2379
2380         Allow custom memory allocation control for the other part of platform directory in WebCore
2381         https://bugs.webkit.org/show_bug.cgi?id=31585
2382
2383         Inherits the following classes from FastAllocBase because these are
2384         instantiated by 'new':
2385
2386         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
2387         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
2388         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
2389         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
2390
2391         Inherits the following classes from Noncopyable because these are
2392         instantiated by 'new' and no need to be copyable:
2393
2394         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
2395         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
2396         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
2397
2398         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
2399         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
2400
2401         * platform/graphics/MediaPlayerPrivate.h:
2402         * platform/graphics/Path.h:
2403         * platform/graphics/qt/FontPlatformData.h:
2404         * platform/graphics/transforms/TransformationMatrix.h:
2405         * platform/image-decoders/ImageDecoder.h:
2406         * platform/network/NetworkStateNotifier.h:
2407         * platform/network/ResourceRequestBase.h:
2408         * platform/qt/CursorQt.cpp:
2409         * platform/text/RegularExpression.h:
2410
2411 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2412
2413         Unreviewed.
2414
2415         [Qt] Build fix for QtWebKit after r51172.
2416
2417         * platform/qt/Localizations.cpp:
2418         (WebCore::validationMessageValueMissingText):
2419         (WebCore::validationMessageTypeMismatchText):
2420         (WebCore::validationMessagePatternMismatchText):
2421         (WebCore::validationMessageTooLongText):
2422         (WebCore::validationMessageRangeUnderflowText):
2423         (WebCore::validationMessageRangeOverflowText):
2424         (WebCore::validationMessageStepMismatchText):
2425
2426 2009-11-18  Dan Bernstein  <mitz@apple.com>
2427
2428         Reviewed by Simon Fraser.
2429
2430         Fixed <rdar://problem/7398987> Assertion failure in
2431         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
2432         enclosed by a transformed layer
2433
2434         Tests: fast/layers/clip-rects-transformed-2.html
2435                fast/layers/clip-rects-transformed.html
2436
2437         * rendering/RenderLayer.cpp:
2438         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
2439         that is either transformed or composited. During painting and hit
2440         testing, when a transformed or composited layer is hit, it becomes the
2441         new root layer, which ultimately gets passed to calculateRects().
2442         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
2443         root layer to calculateRects(), and return the bounding box of the
2444         transformed rectangle.
2445         (WebCore::RenderLayer::selfClipRect): Ditto.
2446         * rendering/RenderLayer.h:
2447
2448 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2449
2450         Reviewed by Kenneth Rohde Christiansen.
2451
2452         [Qt] Remove support for Qt v4.3 or older versions
2453         https://bugs.webkit.org/show_bug.cgi?id=29469
2454
2455         No new tests as there is no change if compiled with 
2456         Qt v4.4 or later version.
2457
2458         * WebCore.pro:
2459         * dom/XMLTokenizerQt.cpp:
2460         (WebCore::EntityResolver::resolveUndeclaredEntity):
2461         (WebCore::XMLTokenizer::XMLTokenizer):
2462         (WebCore::XMLTokenizer::~XMLTokenizer):
2463         (WebCore::XMLTokenizer::doWrite):
2464         (WebCore::XMLTokenizer::startDocument):
2465         (WebCore::XMLTokenizer::parseDtd):
2466         * platform/graphics/qt/FontQt.cpp:
2467         * platform/graphics/qt/FontQt43.cpp: Removed.
2468         * platform/graphics/qt/ImageQt.cpp:
2469         * platform/network/ResourceHandleInternal.h:
2470         * platform/network/qt/QNetworkReplyHandler.cpp:
2471         * platform/network/qt/QNetworkReplyHandler.h:
2472         * platform/network/qt/ResourceHandleQt.cpp:
2473         (WebCore::ResourceHandle::start):
2474         (WebCore::ResourceHandle::cancel):
2475         (WebCore::ResourceHandle::loadResourceSynchronously):
2476         (WebCore::ResourceHandle::setDefersLoading):
2477         * platform/network/qt/ResourceRequest.h:
2478         * platform/network/qt/ResourceRequestQt.cpp:
2479         * platform/qt/ClipboardQt.cpp:
2480         (WebCore::ClipboardQt::clearData):
2481         * platform/qt/CookieJarQt.cpp:
2482         (WebCore::cookieJar):
2483         (WebCore::setCookies):
2484         (WebCore::cookies):
2485         (WebCore::cookiesEnabled):
2486         * platform/qt/PlatformKeyboardEventQt.cpp:
2487         (WebCore::keyIdentifierForQtKeyCode):
2488         (WebCore::windowsKeyCodeForKeyEvent):
2489         * platform/text/qt/TextBoundaries.cpp:
2490         * platform/text/qt/TextBreakIteratorQt.cpp:
2491         * plugins/qt/PluginDataQt.cpp:
2492         (WebCore::PluginData::initPlugins):
2493
2494 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
2495
2496         Reviewed by Darin Adler.
2497
2498         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
2499         Support for validationMessage attribute, as per HTML5 specs.
2500
2501         Test: fast/forms/validationMessage.html
2502
2503         * html/HTMLButtonElement.idl: validationMessage attribute
2504         * html/HTMLFieldSetElement.idl: validationMessage attribute
2505         * html/HTMLFormControlElement.cpp:
2506         * html/HTMLFormControlElement.h:
2507         * html/HTMLInputElement.idl: validationMessage attribute
2508         * html/HTMLSelectElement.idl: validationMessage attribute
2509         * html/HTMLTextAreaElement.idl: validationMessage attribute
2510         * html/ValidityState.cpp: new method to retrieve pertinent localized text
2511         * html/ValidityState.h:
2512         * page/mac/WebCoreViewFactory.h:
2513         * platform/LocalizedStrings.h:
2514         * platform/android/LocalizedStringsAndroid.cpp:
2515         * platform/gtk/LocalizedStringsGtk.cpp:
2516         * platform/haiku/LocalizedStringsHaiku.cpp:
2517         * platform/mac/LocalizedStringsMac.mm:
2518         * platform/wx/LocalizedStringsWx.cpp:
2519
2520 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2521
2522         Unreviewed.
2523
2524         Fix a typo. Remove the trailing semicolon
2525         from an include directive after r51137.
2526
2527         No new tests as there is no functional change.
2528
2529         * platform/qt/QWebPageClient.h:
2530
2531 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2532
2533         Unreviewed.
2534
2535         [Qt] Build fix for QtWebKit after r51159.
2536
2537         Include float.h for DBL_MANT_DIG. Not sure why this
2538         is not a problem for other ports.
2539
2540         * html/HTMLInputElement.cpp:
2541
2542 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
2543
2544         Reviewed by Darin Adler.
2545
2546         Bug 31574 -  Crashing bug when removing <ruby> element
2547         (https://bugs.webkit.org/show_bug.cgi?id=31574)
2548
2549         Cause of the bug:
2550         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
2551         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
2552         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
2553         4.) this triggers the special handling of child removal in RenderRubyRun that
2554             causes it to destroy itself
2555         5.) On returning from all this the renderer crashes when accessing a member
2556             or virtual function on this now illegal object.
2557
2558         I therefore added a flag that tracks if the ruby run is being destroyed.
2559         If so, avoid doing the special handling in removeChild that caused this.
2560         It's not the most elegant solution, but the easiest to implement without
2561         touching unrelated code. Also, it's self-documenting.
2562
2563         Test: fast/ruby/ruby-remove.html
2564
2565         * rendering/RenderRubyRun.cpp:
2566         (WebCore::RenderRubyRun::RenderRubyRun):
2567         (WebCore::RenderRubyRun::destroy):
2568         (WebCore::RenderRubyRun::removeChild):
2569         * rendering/RenderRubyRun.h:
2570
2571 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2572
2573         Reviewed by Kenneth Rohde Christiansen.
2574
2575         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
2576         https://bugs.webkit.org/show_bug.cgi?id=31643
2577
2578         No new tests as there is no functional change.
2579
2580         * WebCore.pro:
2581
2582 2009-11-18  Yong Li  <yong.li@torchmobile.com>
2583
2584         Reviewed by Eric Seidel.
2585
2586         Implement TextBoundaries for WINCE port.
2587         https://bugs.webkit.org/show_bug.cgi?id=27371
2588
2589         * platform/text/wince/TextBoundariesWince.cpp: Added.
2590
2591 2009-11-18  Yong Li  <yong.li@torchmobile.com>
2592
2593         Reviewed by Eric Seidel.
2594
2595         Implement TextBreakIterator for WINCE port.
2596         https://bugs.webkit.org/show_bug.cgi?id=27371
2597
2598         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
2599
2600 2009-11-18  Kent Tamura  <tkent@chromium.org>
2601
2602         Reviewed by Darin Adler.
2603
2604         Add support for ValidityState.typeMismatch for the following INPUT types:
2605           date datetime datetime-local month time week
2606         https://bugs.webkit.org/show_bug.cgi?id=31342
2607
2608         Tests: fast/forms/ValidityState-typeMismatch-date.html
2609                fast/forms/ValidityState-typeMismatch-datetime.html
2610                fast/forms/ValidityState-typeMismatch-datetimelocal.html
2611                fast/forms/ValidityState-typeMismatch-month.html
2612                fast/forms/ValidityState-typeMismatch-time.html
2613                fast/forms/ValidityState-typeMismatch-week.html
2614
2615         * html/HTMLInputElement.cpp:
2616         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
2617           validity of the specified type and string using the ISODateTime class.
2618         * html/HTMLInputElement.h:
2619         * html/ValidityState.cpp:
2620         (WebCore::ValidityState::typeMismatch): Check the type validity
2621           for date, datetime, datetime-local, month, time and week with
2622           HTMLInputElemtn::formStringToISODateTime()
2623
2624 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
2625
2626         Reviewed by Oliver Hunt.
2627
2628         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
2629         https://bugs.webkit.org/show_bug.cgi?id=31237
2630         
2631         Also speeds up Dromaeo DOM Core tests by 1.31x.
2632
2633         * bindings/js/JSNodeCustom.cpp:
2634         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
2635         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
2636         with wrappers would do marking; there should be only one in the typical case (the root of the
2637         detached subtree).
2638         * dom/Node.cpp:
2639         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
2640         * dom/Node.h: ditto
2641
2642 2009-11-18  Darin Adler  <darin@apple.com>
2643
2644         Reviewed by Sam Weinig.
2645
2646         Get rid of the redundant strokeType and fillType data members on
2647         a GraphicsContext as well as the FillOrStrokeType enum. Use
2648         null pointers instead.
2649
2650         * platform/graphics/GraphicsContext.cpp:
2651         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
2652         and gradient.
2653         (WebCore::GraphicsContext::setFillColor): Ditto.
2654         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
2655         (WebCore::GraphicsContext::setFillPattern): Ditto.
2656         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
2657         (WebCore::GraphicsContext::setFillGradient): Ditto.
2658
2659         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
2660
2661         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2662         (WebCore::setPlatformFill): Use null checks on fillPattern and
2663         fillGraident instead of a switch statement.
2664         (WebCore::setPlatformStroke): Ditto.
2665
2666         * platform/graphics/cg/GraphicsContextCG.cpp:
2667         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
2668         (WebCore::GraphicsContext::applyFillPattern): Ditto.
2669         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
2670         to see if there is a pattern instead of fillType and strokeType.
2671         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
2672         fillPattern, and strokePattern instead of fillType and strokeType.
2673         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
2674         is used in the pattern and gradient case probably erroneously. Moved
2675         gradient code inside an if statement. Streamlined pattern code and
2676         use an if statement. No switch any more.
2677         (WebCore::GraphicsContext::strokePath): Ditto.
2678         (WebCore::GraphicsContext::fillRect): Ditto.
2679         (WebCore::GraphicsContext::strokeRect): Ditto.
2680
2681         * platform/graphics/qt/GraphicsContextQt.cpp:
2682         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
2683         fillGraident instead of a switch statement.
2684         (WebCore::GraphicsContext::strokePath): Ditto.
2685         (WebCore::GraphicsContext::fillRect): Ditto.
2686
2687         * platform/graphics/wince/GraphicsContextWince.cpp:
2688         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
2689         (WebCore::GraphicsContext::fillRect): Ditto.
2690
2691 2009-11-18  Kent Tamura  <tkent@chromium.org>
2692
2693         Reviewed by Darin Adler.
2694
2695         Support for step attribute and ValidityStae.stepMismatch for
2696         type=number and range.  stepMismatch will be false if the
2697         difference between the current value and a multiple of the step
2698         value is very small.
2699
2700         Change the behavior of RenderSlider so that it always has a value
2701         rounded to the step attribute value.
2702
2703         https://bugs.webkit.org/show_bug.cgi?id=31331
2704
2705         Tests: fast/forms/ValidityState-stepMismatch-number.html
2706                fast/forms/ValidityState-stepMismatch-range.html
2707                fast/forms/ValidityState-stepMismatch-unsupported.html
2708                fast/forms/input-step.html
2709
2710         * html/HTMLAttributeNames.in: Add "step".
2711         * html/HTMLInputElement.cpp:
2712         (WebCore::HTMLInputElement::stepMismatch):
2713         (WebCore::HTMLInputElement::getStepParameters):
2714         (WebCore::HTMLInputElement::getAllowedValueStep):
2715         * html/HTMLInputElement.h:
2716         * html/HTMLInputElement.idl: Add "step".
2717         * html/ValidityState.cpp:
2718         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
2719         * html/ValidityState.h:
2720         * rendering/RenderSlider.cpp:
2721         (WebCore::SliderRange::SliderRange):
2722         (WebCore::SliderRange::clampValue):
2723
2724 2009-11-18  Dmitry Titov  <dimich@chromium.org>
2725
2726         Reviewed by Darin Adler.
2727
2728         Need to ASSERT(isMainThread()) in ThreadShared methods.
2729         https://bugs.webkit.org/show_bug.cgi?id=31637
2730
2731         Added ASSERT(IsMainThread()) to all following methods:
2732         * platform/TreeShared.h:
2733         (WebCore::TreeShared::TreeShared):
2734         (WebCore::TreeShared::~TreeShared):
2735         (WebCore::TreeShared::ref):
2736         (WebCore::TreeShared::deref):
2737         (WebCore::TreeShared::setParent):
2738         (WebCore::TreeShared::parent):
2739
2740 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
2741
2742         Reviewed by Eric Seidel.
2743
2744         Add plugin visibility manual test
2745
2746         https://bugs.webkit.org/show_bug.cgi?id=31542
2747
2748         * manual-tests/plugins/windowed.html:
2749         * manual-tests/plugins/windowless.html:
2750
2751 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2752
2753         Reviewed by Pavel Feldman.
2754
2755         Web Inspector - remember last script displayed in Scripts panel
2756         https://bugs.webkit.org/show_bug.cgi?id=27552
2757
2758         Manual test added
2759         
2760         * inspector/front-end/ScriptsPanel.js:
2761         (WebInspector.ScriptsPanel.prototype.showScript):
2762         (WebInspector.ScriptsPanel.prototype.showResource):
2763         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2764         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2765         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2766         (WebInspector.ScriptsPanel.prototype._goBack):
2767         (WebInspector.ScriptsPanel.prototype._goForward):
2768         * manual-tests/inspector/remember-last-script.html: Added.
2769
2770 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
2771
2772         Reviewed by Dimitri Glazkov.
2773
2774         Win chromium is slow to draw transparent texts
2775         https://bugs.webkit.org/show_bug.cgi?id=31258
2776
2777         Create bounded transparency layers instead of just clipping.
2778
2779         No new tests because this is just a performance improvement.
2780
2781         * platform/graphics/chromium/FontChromiumWin.cpp:
2782         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2783
2784 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
2785
2786         Reviewed by Eric Seidel.
2787
2788         [Qt] Add support for displaying deleteButton.
2789         https://bugs.webkit.org/show_bug.cgi?id=31560
2790
2791         Test: LayoutTests/editing/deleting/5408255.html
2792
2793         * WebCore.qrc:
2794         * platform/graphics/qt/ImageQt.cpp:
2795         (loadResourcePixmap):
2796
2797 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
2798
2799         Reviewed by Eric Seidel.
2800
2801         Fix Qt build without JavaScript debugger.
2802
2803         https://bugs.webkit.org/show_bug.cgi?id=31575
2804
2805         * page/Console.idl:
2806
2807 2009-11-18  Daniel Bates  <dbates@webkit.org>
2808
2809         Reviewed by Dave Hyatt.
2810
2811         https://bugs.webkit.org/show_bug.cgi?id=24971
2812         And
2813         <rdar://problem/7138265>
2814
2815         Fixes an issue where setting the height of a table row programmatically
2816         (via JavaScript) causes the table to be improperly rendered because the
2817         height of each row in the table is not recalculated with respect to the
2818         CSS height property.
2819
2820         In particular, programmatically setting the height of some table row causes
2821         the rows of that table to be rendered with a height equal to the minimum
2822         height required by the cells in that row, regardless of any specified cell
2823         heights. Instead, when RenderTableSection::recalcCells is called, the height
2824         of each row should be set to the CSS height property just as we do in
2825         RenderTableSection::addChild.
2826
2827         Test: fast/table/row-height-recalc2.html
2828
2829         * rendering/RenderTableSection.cpp:
2830         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
2831         (WebCore::RenderTableSection::addChild): Moved code that set row height into
2832         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2833         (WebCore::RenderTableSection::recalcCells): Modified to call
2834         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
2835
2836 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
2837
2838         Reviewed by Darin Adler.
2839
2840         Allow custom memory allocation control for the part of platform directory in WebCore
2841         https://bugs.webkit.org/show_bug.cgi?id=31473
2842
2843         Inherits the following classes from FastAllocBase because these are
2844         instantiated by 'new':
2845
2846         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
2847         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
2848         struct Length                - instantiated at WebCore/platform/Length.cpp:103
2849         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
2850         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
2851         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
2852
2853         Inherits the following classes from Noncopyable because these are
2854         instantiated by 'new' and no need to be copyable:
2855
2856         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
2857         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
2858         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
2859         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
2860
2861         * platform/ContextMenuItem.h:
2862         * platform/DeprecatedPtrList.h:
2863         * platform/DeprecatedPtrListImpl.cpp:
2864         * platform/Length.h:
2865         * platform/PlatformKeyboardEvent.h:
2866         * platform/animation/AnimationList.h:
2867         * platform/graphics/Color.h:
2868         * platform/graphics/FontCache.h:
2869         * platform/graphics/GraphicsContextPrivate.h:
2870         * platform/graphics/MediaPlayer.cpp:
2871
2872 2009-11-18  Daniel Bates  <dbates@webkit.org>
2873
2874         Reviewed by Darin Adler.
2875
2876         https://bugs.webkit.org/show_bug.cgi?id=31186
2877
2878         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2879         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2880         These are more descriptive names so as to clear an ambiguity surrounding
2881         their usage. Also, renames associated setters and getters so that they
2882         coincide with the renamed fields.
2883
2884         No functionality was changed. So, no tests were included.
2885
2886         * bindings/objc/DOMHTML.mm:
2887         (-[DOMHTMLInputElement _isEdited]):
2888         (-[DOMHTMLTextAreaElement _isEdited]):
2889         * dom/Document.cpp:
2890         (WebCore::Document::setFocusedNode):
2891         * html/HTMLInputElement.cpp:
2892         (WebCore::HTMLInputElement::defaultEventHandler):
2893         * rendering/RenderTextControl.cpp:
2894         (WebCore::RenderTextControl::RenderTextControl):
2895         (WebCore::RenderTextControl::setInnerTextValue):
2896         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2897         (WebCore::RenderTextControl::subtreeHasChanged):
2898         * rendering/RenderTextControl.h:
2899         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2900         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2901         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2902         * rendering/RenderTextControlSingleLine.cpp:
2903         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2904         * wml/WMLInputElement.cpp:
2905         (WebCore::WMLInputElement::defaultEventHandler):
2906
2907 2009-11-18  Tony Chang  <tony@chromium.org>
2908
2909         Reviewed by Adam Barth.
2910
2911         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
2912         https://bugs.webkit.org/show_bug.cgi?id=31499
2913
2914         No new tests, just a build cleanup.
2915
2916         * WebCore.gypi:
2917         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
2918         * bindings/v8/custom/V8CustomBinding.h:
2919
2920 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
2921
2922         Reviewed by Kevin Ollivier.
2923
2924         Enable wx plugin support using the Windows implementation as a base.
2925         
2926         https://bugs.webkit.org/show_bug.cgi?id=31636
2927
2928         * platform/graphics/GraphicsContext.h:
2929         (WebCore::GraphicsContext::inTransparencyLayer):
2930         * platform/graphics/wx/GraphicsContextWx.cpp:
2931         (WebCore::GraphicsContext::getWindowsContext):
2932         (WebCore::GraphicsContext::releaseWindowsContext):
2933         * platform/wx/FileSystemWx.cpp:
2934         (WebCore::unloadModule):
2935         (WebCore::listDirectory):
2936         * plugins/PluginDatabase.cpp:
2937         * plugins/PluginView.cpp:
2938         (WebCore::PluginView::stop):
2939         (WebCore::PluginView::PluginView):
2940         * plugins/PluginView.h:
2941         * plugins/win/PluginViewWin.cpp:
2942         (windowHandleForPageClient):
2943         (WebCore::PluginView::handleMouseEvent):
2944         (WebCore::PluginView::platformStart):
2945         (WebCore::PluginView::snapshot):
2946         * wscript:
2947
2948 2009-11-18  Andrei Popescu  <andreip@google.com>
2949
2950         Reviewed by Dimitri Glazkov.
2951
2952         [Android] Add shared timer and sound utilities to platform/android
2953         https://bugs.webkit.org/show_bug.cgi?id=31584
2954
2955         No new tests required, this is platform specific code.
2956
2957         * platform/android/SharedTimerAndroid.cpp: Added.
2958         (WebCore::setSharedTimerFiredFunction):
2959         (WebCore::setSharedTimerFireTime):
2960         (WebCore::stopSharedTimer):
2961         * platform/android/SoundAndroid.cpp: Added.
2962         (WebCore::systemBeep):
2963
2964 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
2965
2966         Reviewed by Timothy Hatcher.
2967
2968         Fix profile tree nodes loss after focus / restore actions.
2969
2970         Focusing on a node is currently implemented via nodes reattaching
2971         with some caching involved. It seems that not all code was updated
2972         to handle this scenario correctly.
2973
2974         https://bugs.webkit.org/show_bug.cgi?id=31553
2975
2976         * inspector/front-end/BottomUpProfileDataGridTree.js:
2977         (WebInspector.BottomUpProfileDataGridNode):
2978         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
2979         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
2980         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
2981         * inspector/front-end/DataGrid.js:
2982         (WebInspector.DataGrid.prototype.insertChild):
2983         (WebInspector.DataGridNode.prototype._detach):
2984         (WebInspector.DataGridNode.prototype.savePosition):
2985         (WebInspector.DataGridNode.prototype.restorePosition):
2986         * inspector/front-end/TopDownProfileDataGridTree.js:
2987         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
2988         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
2989
2990 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
2991
2992         Reviewed by Kenneth Rohde Christiansen.
2993
2994         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
2995         include it 
2996         https://bugs.webkit.org/show_bug.cgi?id=31527
2997
2998         No new tests as this is just a coding style fix that affects the 
2999         build of some not yet submitted patches (i.e. for bug 30173).
3000
3001         * platform/qt/QWebPageClient.h:
3002
3003 2009-11-18  Nicolas Roard   <nicolas@roard.com>
3004
3005         Reviewed by Dimitri Glazkov.
3006
3007         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
3008         https://bugs.webkit.org/show_bug.cgi?id=31504
3009
3010         * inspector/InspectorTimelineAgent.h:Added the guard.
3011
3012 2009-11-18  Jens Alfke  <snej@chromium.org>
3013
3014         Build fix to my previous checkin, for Windows Chromium
3015
3016         * svg/SVGAnimatedProperty.h:
3017         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
3018
3019 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
3020
3021         Reviewed by Pavel Feldman.
3022
3023         Web Inspector: Directly Access <head> Instead of Searching for It
3024         https://bugs.webkit.org/show_bug.cgi?id=31641
3025         
3026         Changed old access of the head element (document.getElementsByTagName)
3027         to just use the document.head accessor.
3028
3029         * inspector/front-end/FontView.js:
3030         (WebInspector.FontView):
3031         * inspector/front-end/InjectedScript.js:
3032         (InjectedScript.addStyleSelector):
3033         * inspector/front-end/SourceFrame.js:
3034         (WebInspector.SourceFrame.prototype._loaded):
3035         * inspector/front-end/inspector.js:
3036         (windowLoaded):
3037
3038 2009-11-18  Sam Weinig  <sam@webkit.org>
3039
3040         Reviewed by Anders Carlsson.
3041
3042         Fix two Geolocation assertions.
3043
3044         * page/Chrome.cpp:
3045         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
3046         is not called from JS. 
3047         * page/Geolocation.cpp:
3048         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
3049         a RefPtr first.
3050
3051 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
3052
3053         Case sensitive file system build fix.
3054
3055         * platform/network/Credential.h: It's not WTF, just wtf.
3056
3057 2009-11-18  Aaron Golden  <agolden@apple.com>
3058
3059         Reviewed by Alexey Proskuryakov.
3060
3061         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
3062         objects and WebCore::Credential objects without losing certificate information.
3063
3064         * platform/network/Credential.cpp:
3065         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
3066         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
3067         (WebCore::Credential::identity): Accessor for the m_identity property
3068         (WebCore::Credential::certificates): Accessor for the m_certificates property
3069         (WebCore::Credential::type):  Accessor for the m_type property
3070         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
3071         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
3072         * platform/network/mac/AuthenticationMac.mm:
3073         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
3074         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
3075
3076 2009-11-18  Dmitry Titov  <dimich@chromium.org>
3077
3078         Reviewed by Eric Seidel.
3079
3080         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
3081         https://bugs.webkit.org/show_bug.cgi?id=31615
3082
3083         * dom/Document.cpp:
3084         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
3085         (WebCore::ScriptExecutionContextTaskTimer::fired):
3086         (WebCore::PerformTaskContext::PerformTaskContext):
3087         (WebCore::performTask):
3088         (WebCore::Document::postTask):
3089         * dom/ScriptExecutionContext.cpp:
3090         * dom/ScriptExecutionContext.h:
3091
3092 2009-11-18  Jens Alfke  <snej@chromium.org>
3093
3094         Reviewed by Darin Adler.
3095
3096         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
3097         by causing the right v8-to-WebCore conversion function to be called for every parameter.
3098         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
3099         To enforce correctness, I added a mode that disables implicit
3100         String-->AtomicString conversions while compiling the generated bindings.
3101         https://bugs.webkit.org/show_bug.cgi?id=31168
3102
3103         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
3104         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
3105         * bindings/v8/V8Binding.h:  Add V8Parameter class.
3106         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
3107         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
3108         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
3109         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
3110         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
3111
3112 2009-11-18  Darin Adler  <darin@apple.com>
3113
3114         Reviewed by Dan Bernstein.
3115
3116         Move FillOrStrokeType out of public header.
3117
3118         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
3119         some years we published Apple changes, sorted forward declarations,
3120         removed FillOrStrokeType enum.
3121         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
3122         to cover some years we published Apple changes, sorted includes,
3123         moved FillOrStrokeType enum here.
3124
3125 2009-11-18  Chris Marrin  <cmarrin@apple.com>
3126
3127         Reviewed by Simon Fraser.
3128
3129         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
3130         https://bugs.webkit.org/show_bug.cgi?id=31601
3131
3132         These are used to debug accelerated compositing layers. I removed
3133         the platform specific code from GraphicsLayerCA.mm and added calls
3134         to GraphicsLayerClient to get it from the higher levels. The values 
3135         now get cached in RenderLayerCompositing and are queried from there
3136         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
3137
3138         * WebCore.base.exp:
3139         * page/FrameView.cpp:
3140         (WebCore::FrameView::updateCompositingLayers):
3141         * page/Settings.cpp:
3142         (WebCore::Settings::Settings):
3143         (WebCore::Settings::setShowDebugBorders):
3144         (WebCore::Settings::setShowRepaintCounter):
3145         * page/Settings.h:
3146         (WebCore::Settings::showDebugBorders):
3147         (WebCore::Settings::showRepaintCounter):
3148         * platform/graphics/GraphicsLayer.h:
3149         (WebCore::GraphicsLayer::showDebugBorders):
3150         (WebCore::GraphicsLayer::showRepaintCounter):
3151         * platform/graphics/GraphicsLayerClient.h:
3152         * platform/graphics/mac/GraphicsLayerCA.mm:
3153         * rendering/RenderLayerBacking.cpp:
3154         (WebCore::RenderLayerBacking::showDebugBorders):
3155         (WebCore::RenderLayerBacking::showRepaintCounter):
3156         * rendering/RenderLayerBacking.h:
3157         * rendering/RenderLayerCompositor.cpp:
3158         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3159         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
3160         * rendering/RenderLayerCompositor.h:
3161         (WebCore::RenderLayerCompositor::showDebugBorders):
3162         (WebCore::RenderLayerCompositor::showRepaintCounter):
3163
3164 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
3165
3166         Reviewed by Timothy Hatcher.
3167
3168         Web Inspector: Get rid of metrics and properties sidebars'
3169         flickering.
3170
3171         https://bugs.webkit.org/show_bug.cgi?id=31629
3172
3173         * inspector/front-end/MetricsSidebarPane.js:
3174         * inspector/front-end/PropertiesSidebarPane.js:
3175
3176 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
3177
3178         Reviewed by Pavel Feldman.
3179
3180         Fixes <http://webkit.org/b/31606>.
3181         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
3182         
3183         This implements Enter starting editing mode in an editable DataGrid. If the
3184         DataGrid is editable and the user hits return, startEditing the first child
3185         of the selected node. Also refactored some editing functions to take an 
3186         event target instead of the event itself, because the functions only needed
3187         the target. Lastly, added had return in editing mode stop propogation, because
3188         when enter was hit to confirm text, it would propagate back to the datagrid
3189         and try to start editing again.
3190
3191         * inspector/front-end/DataGrid.js:
3192         (WebInspector.DataGrid.prototype._ondblclick):
3193         (WebInspector.DataGrid.prototype._startEditing):
3194         (WebInspector.DataGrid.prototype.handleKeyEvent):
3195         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
3196         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
3197         (WebInspector.DataGrid.prototype._clickInDataTable):
3198         * inspector/front-end/inspector.js:
3199         (WebInspector.startEditing.element.handleKeyEvent):
3200         (WebInspector.startEditing):
3201
3202 2009-11-18  Ben Murdoch  <benm@google.com>
3203
3204         Reviewed by Darin Adler.
3205
3206         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
3207         https://bugs.webkit.org/show_bug.cgi?id=31593
3208
3209         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
3210
3211         * html/HTMLAnchorElement.cpp:
3212         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
3213
3214 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
3215
3216         Not reviewed. Touch InspectorController so that frontend
3217         JS files are deployed on Windows.
3218
3219         * inspector/InspectorController.cpp:
3220
3221 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
3222
3223         Reviewed by Timothy Hatcher.
3224
3225         Web Inspector: clone timeline records array instead of
3226         copying reference on invalidate all.
3227
3228         https://bugs.webkit.org/show_bug.cgi?id=31596
3229
3230         * inspector/front-end/AbstractTimelinePanel.js:
3231         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
3232
3233 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
3234
3235         Reviewed by Dan Bernstein.
3236
3237         Elements don't drop out of compositing layers when animation ends
3238         https://bugs.webkit.org/show_bug.cgi?id=31613
3239         <rdar://problem/7402913>
3240
3241         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
3242         are compositing anyway for other reasons. Doing so can cause those layers
3243         to stay in compositing mode even after animations finish, because needsToBeComposited()
3244         continues to return true.
3245         
3246         No new tests because it's not possible to determine which elements are in
3247         compositing layers from DRT output.
3248
3249         * rendering/RenderLayerCompositor.cpp:
3250         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3251
3252 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
3253
3254         Reviewed by Tor Arne Vestbø.
3255
3256         [Qt] Mac Plugins: Remove null timer
3257         
3258         A null timer was used to send mouse move events. Instead, we now use
3259         move events to send nullEvent. This brings down CPU usage by 20-30%.
3260         
3261         https://bugs.webkit.org/show_bug.cgi?id=31624
3262
3263         * plugins/PluginView.h:
3264         * plugins/mac/PluginViewMac.cpp:
3265         (WebCore::PluginView::platformStart):
3266         (WebCore::PluginView::handleMouseEvent):
3267
3268 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
3269
3270         Reviewed by Simon Hausmann.
3271
3272         [Qt] WebKit crashes when loading certain SVG images
3273
3274         Check if the familly exist before creating the PlatformData from it.
3275
3276         https://bugs.webkit.org/show_bug.cgi?id=29443
3277
3278         Test: svg/text/text-font-invalid.html
3279
3280         * platform/graphics/qt/FontFallbackListQt.cpp:
3281         (WebCore::FontFallbackList::fontDataAt):
3282
3283 2009-11-17  Nicolas Weber  <thakis@chromium.org>
3284
3285         Reviewed by Darin Fisher.
3286
3287         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
3288         after navigation.
3289         https://bugs.webkit.org/show_bug.cgi?id=31609
3290
3291         * platform/chromium/PopupMenuChromium.cpp:
3292         (WebCore::PopupContainer::showExternal): Set parent for external
3293         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
3294         its parent's client.
3295
3296 2009-11-17  Hayato Ito  <hayato@google.com>
3297
3298         Reviewed by Darin Adler.
3299
3300         Avoid infinite mutual recursion when deeply nested tags are loaded
3301         https://bugs.webkit.org/show_bug.cgi?id=30651
3302
3303         Test: fast/parser/block-nesting-cap-table.html
3304
3305         * html/HTMLParser.cpp:
3306         (WebCore::HTMLParser::parseToken):
3307         (WebCore::tagPriorityOfNode):
3308         (WebCore::HTMLParser::limitBlockDepth):
3309         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
3310         (WebCore::HTMLParser::insertNode):
3311         * html/HTMLParser.h:
3312
3313 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
3314
3315         Rubber-stamped by Alexey Proskuryakov.
3316
3317         Final clean-ups for minor coding standard violations.
3318         https://bugs.webkit.org/show_bug.cgi?id=26102.
3319
3320         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3321
3322 2009-11-17  Johnny Ding  <jnd@chromium.org>
3323
3324         Reviewed by Darin Adler.
3325
3326         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
3327         https://bugs.webkit.org/show_bug.cgi?id=31567
3328
3329         * dom/ScriptElement.cpp:
3330         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
3331
3332 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
3333
3334         Reviewed by Timothy Hatcher.
3335
3336         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
3337         - Updated DRT to show/close inspector for all tests under /inspector
3338         - Introduced LayoutTestController::setTimelineProfilingEnabled and
3339           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
3340         - Removed reload on each inspector test
3341         - Renamed fast/inspector to fast/inspector-support in order not to trigger
3342         inspector for those.
3343         - Reimplemented timeline tests in order to get rid of reload there.
3344         - Moved tests that don't require harness into the fast group.
3345
3346         https://bugs.webkit.org/show_bug.cgi?id=31472
3347
3348         * WebCore.Inspector.exp:
3349         * inspector/front-end/TimelinePanel.js:
3350         (WebInspector.TimelinePanel.prototype._formatRecord):
3351
3352 2009-11-17  Andrei Popescu  <andreip@google.com>
3353
3354         Reviewed by Dimitri Glazkov.
3355
3356         [Android] Android is missing the implementation of the GeolocationService iface.
3357         https://bugs.webkit.org/show_bug.cgi?id=31554
3358
3359         No new tests required as this is platform specific code.
3360
3361         * platform/android/GeolocationServiceAndroid.cpp: Added.
3362         (WebCore::GeolocationServiceAndroid::create):
3363         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
3364         (WebCore::GeolocationServiceAndroid::startUpdating):
3365         (WebCore::GeolocationServiceAndroid::stopUpdating):
3366         (WebCore::GeolocationServiceAndroid::suspend):
3367         (WebCore::GeolocationServiceAndroid::resume):
3368         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
3369         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
3370         (WebCore::GeolocationServiceAndroid::timerFired):
3371         (WebCore::GeolocationServiceAndroid::isPositionMovement):
3372         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
3373         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
3374         * platform/android/GeolocationServiceAndroid.h: Added.
3375         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
3376         (WebCore::GeolocationServiceAndroid::lastPosition):
3377         (WebCore::GeolocationServiceAndroid::lastError):
3378         * platform/android/GeolocationServiceBridge.cpp: Added.
3379         (WebCore::):
3380         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
3381         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
3382         (WebCore::GeolocationServiceBridge::start):
3383         (WebCore::GeolocationServiceBridge::stop):
3384         (WebCore::GeolocationServiceBridge::setEnableGps):
3385         (WebCore::GeolocationServiceBridge::newLocationAvailable):
3386         (WebCore::GeolocationServiceBridge::newErrorAvailable):
3387         (WebCore::GeolocationServiceBridge::toGeoposition):
3388         (WebCore::GeolocationServiceBridge::startJavaImplementation):
3389         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
3390         * platform/android/GeolocationServiceBridge.h: Added.
3391
3392 2009-11-16  Kent Tamura  <tkent@chromium.org>
3393
3394         Unreviewd build fix.
3395
3396         - Fix typo in WebCore.vcproj.
3397         - Intlude limits.h for INT_MAX.
3398         - Enclose with parenthesis to suspress warning.
3399
3400         * WebCore.vcproj/WebCore.vcproj:
3401         * html/ISODateTime.cpp:
3402         (WebCore::ISODateTime::addDay):
3403
3404 2009-11-16  Robin Dunn  <robin@alldunn.com>
3405
3406         Reviewed by Kevin Ollivier.
3407
3408         Make sure wx scrollbar drawing code factors in transforms when switching backends,
3409         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
3410         
3411         https://bugs.webkit.org/show_bug.cgi?id=31570
3412
3413         * platform/wx/ScrollbarThemeWx.cpp:
3414         (WebCore::ScrollbarThemeWx::minimumThumbLength):
3415         (WebCore::ScrollbarThemeWx::splitTrack):
3416         (WebCore::ScrollbarThemeWx::forwardButtonRect):
3417         * platform/wx/ScrollbarThemeWx.h:
3418         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
3419         (wxRenderer_DrawScrollbar):
3420         * platform/wx/wxcode/scrollbar_render.h:
3421         (calcThumbStartAndLength):
3422         * platform/wx/wxcode/win/scrollbar_render.cpp:
3423         (wxRenderer_DrawScrollbar):
3424
3425 2009-11-16  Kent Tamura  <tkent@chromium.org>
3426
3427         Reviewed by David Levin.
3428
3429         Introduce WebCore::ISODateTime class.
3430         https://bugs.webkit.org/show_bug.cgi?id=31340
3431
3432         This class represents a value of date/time types of the HTML5 INPUT
3433         element, and has some parsing methods for ISO 8601.
3434
3435         This change has no tests because the class is not used yet.
3436
3437         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
3438         * WebCore.gypi: ditto.
3439         * WebCore.pro: ditto.
3440         * WebCore.vcproj/WebCore.vcproj: ditto.
3441         * WebCore.xcodeproj/project.pbxproj: ditto.
3442         * WebCoreSources.bkl: ditto.
3443         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
3444         (WebCore::isLeapYear):
3445         (WebCore::maxDayOfMonth):
3446         (WebCore::dayOfWeek):
3447         (WebCore::ISODateTime::maxWeekNumberInYear):
3448         (WebCore::countDigits):
3449         (WebCore::toInt):
3450         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
3451         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
3452         (WebCore::ISODateTime::addMinute): ditto.
3453         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
3454         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
3455         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
3456         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
3457         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
3458         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
3459         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
3460         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
3461         (WebCore::ISODateTime::ISODateTime):
3462         (WebCore::ISODateTime::millisecond):
3463         (WebCore::ISODateTime::second):
3464         (WebCore::ISODateTime::minute):
3465         (WebCore::ISODateTime::hour):
3466         (WebCore::ISODateTime::monthDay):
3467         (WebCore::ISODateTime::month):
3468         (WebCore::ISODateTime::fullYear):
3469         (WebCore::ISODateTime::week):
3470
3471 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3472
3473         Fix a typo in previous commit.
3474
3475         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
3476
3477 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3478
3479         Fix a typo in previous commit.
3480
3481         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3482
3483 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3484
3485         Tiger build fix.
3486
3487         * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
3488         differently in Tiger CFNetwork.
3489
3490 2009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
3491
3492         Reviewed by Darin Fisher.
3493
3494         [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
3495
3496         Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
3497
3498         Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
3499
3500         * platform/KURLGoogle.cpp:
3501         (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
3502
3503 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3504
3505         Rubber-stamped by Jon Honeycutt.
3506
3507         A better Windows build fix
3508
3509         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
3510         Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
3511
3512 2009-11-16  Yael Aharon  <yael.aharon@nokia.com>
3513
3514         Reviewed by Darin Adler.
3515
3516         Rename protocolIsValid to isValidProtocol.
3517         https://bugs.webkit.org/show_bug.cgi?id=31503
3518
3519         This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
3520
3521         No new tests since no new functionality was introduced.
3522
3523         * html/HTMLAnchorElement.cpp:
3524         (WebCore::HTMLAnchorElement::setProtocol):
3525         * platform/KURL.cpp:
3526         (WebCore::isValidProtocol):
3527         * platform/KURL.h:
3528         * platform/KURLGoogle.cpp:
3529         (WebCore::isValidProtocol):
3530
3531 2009-11-16  Chris Fleizach  <cfleizach@apple.com>
3532
3533         Reviewed by Beth Dakin.
3534
3535         AX: aria-labelledby duplicates some of its WAI-ARIA label
3536         https://bugs.webkit.org/show_bug.cgi?id=31565
3537
3538         Test: accessibility/aria-labelledby-overrides-label.html
3539
3540         * accessibility/AccessibilityRenderObject.cpp:
3541         (WebCore::AccessibilityRenderObject::hasTextAlternative):
3542         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
3543         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3544         * accessibility/AccessibilityRenderObject.h:
3545
3546 2009-11-16  Nate Chapin  <japhet@chromium.org>
3547
3548         Reviewed by Darin Fisher.
3549
3550         Handle the case of a null NPObject* in NPN_SetException in
3551         the V8 bindings.  This allow out of process plugins calling
3552         NPN_SetException to just send null instead of sending an
3553         NPObject* that would be an address in a different 
3554         process's memory space.
3555
3556         https://bugs.webkit.org/show_bug.cgi?id=31561
3557
3558         * bindings/v8/NPV8Object.cpp:
3559         (_NPN_SetException): Allow null NPObject* and just throw a general error.
3560
3561 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
3562
3563         Windows build fix.
3564
3565         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
3566         Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
3567
3568 2009-11-14  Yael Aharon  <yael.aharon@nokia.com>
3569