blob: 263d6bff9349687bd767a9c11fdc145362c8dcfc [file] [log] [blame]
ggaren@apple.com7ee12a52008-11-17 17:23:59 +000012008-11-17 Geoffrey Garen <ggaren@apple.com>
2
ggaren@apple.com4240a312008-11-17 17:55:40 +00003 Reviewed by Sam Weinig.
ggaren@apple.com901a8a22008-11-17 20:57:18 +00004
5 Updated for JavaScriptCore renames.
6
7 * ForwardingHeaders/VM: Removed.
8 * ForwardingHeaders/VM/Machine.h: Removed.
9 * ForwardingHeaders/interpreter: Added.
10 * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
11 * WebCore.pro:
12 * bindings/js/JSXMLHttpRequestCustom.cpp:
13 * page/Console.cpp:
14 * webcore-base.bkl:
15
162008-11-17 Geoffrey Garen <ggaren@apple.com>
17
18 Reviewed by Sam Weinig.
ggaren@apple.com4240a312008-11-17 17:55:40 +000019
20 Updated for JavaScriptCore renames.
21
22 * ForwardingHeaders/runtime/Interpreter.h: Removed.
23 * WebCore.vcproj/WebCore.vcproj:
24 * bindings/js/JSDOMBinding.h:
25 * bindings/js/WorkerScriptController.cpp:
26 * bindings/objc/WebScriptObject.mm:
27 * bridge/NP_jsobject.cpp:
28 * bridge/jni/jni_jsobject.mm:
29 * html/CanvasRenderingContext2D.cpp:
30 * inspector/JavaScriptCallFrame.cpp:
31 * page/Console.cpp:
32
332008-11-17 Geoffrey Garen <ggaren@apple.com>
34
ggaren@apple.com7ee12a52008-11-17 17:23:59 +000035 Not reviewed.
36
37 Try to fix wx build.
38
39 * webcore-base.bkl:
40
bolsinga@apple.com3362cb52008-11-17 17:11:15 +0000412008-11-17 Greg Bolsinga <bolsinga@apple.com>
42
43 Reviewed by Darin Adler.
44
45 https://bugs.webkit.org/show_bug.cgi?id=21810
46 Remove use of static C++ objects that are destroyed at exit time (destructors)
47
48 Find some missing DEFINE_STATIC_LOCAL use cases.
49
50 * bindings/js/JSSVGPODTypeWrapper.h:
51 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
52 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
53 * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
54 * page/AccessibilityRenderObject.cpp:
55 (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
56 * platform/graphics/FontCache.cpp:
57 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
58 (WebCore::FontDataCacheKeyTraits::emptyValue):
59 * rendering/style/RenderStyle.h:
60 (WebCore::InheritedFlags::initialTransform):
61
ggaren@apple.com8e93cb42008-11-17 17:00:48 +0000622008-11-17 Geoffrey Garen <ggaren@apple.com>
63
64 Not reviewed.
65
66 Try to fix Qt build.
67
68 * WebCore.pro:
69
simon.fraser@apple.com0ec32ed2008-11-17 03:44:38 +0000702008-11-16 Simon Fraser <simon.fraser@apple.com>
71
72 Reviewed by Dan Bernstein
73
74 https://bugs.webkit.org/show_bug.cgi?id=22118
75
76 Fix resize corner tracking in transformed elements by using
77 mapping the point into local coords using absoluteToLocal,
78 rather than convertToLayerCoords.
79
80 Test: fast/css/resize-corner-tracking-transformed.html
81
82 * page/EventHandler.h:
83 * rendering/RenderLayer.cpp:
84 (WebCore::RenderLayer::absoluteToContents):
85 (WebCore::RenderLayer::offsetFromResizeCorner):
86 (WebCore::RenderLayer::isPointInResizeControl):
87 * rendering/RenderLayer.h:
88
ggaren@apple.com55fadbe2008-11-17 03:17:41 +0000892008-11-16 Geoffrey Garen <ggaren@apple.com>
90
91 Not reviewed.
92
93 Try to fix Qt build.
94
95 * WebCore.pro:
96
bolsinga@apple.com4f657472008-11-17 01:05:20 +0000972008-11-16 Greg Bolsinga <bolsinga@apple.com>
98
bolsinga@apple.com3f95fd92008-11-17 02:03:55 +000099 Reviewed by Geoffrey Garen.
100
101 Use RefPtr and PassRefPtr where appropriate.
102
103 * loader/FTPDirectoryDocument.cpp:
104 (WebCore::createTemplateDocumentData):
105
1062008-11-16 Greg Bolsinga <bolsinga@apple.com>
107
bolsinga@apple.comeb819292008-11-17 01:43:38 +0000108 Fix build break for real.
109
110 * loader/FTPDirectoryDocument.cpp:
111 (WebCore::createTemplateDocumentData):
112
1132008-11-16 Greg Bolsinga <bolsinga@apple.com>
114
bolsinga@apple.com76753b82008-11-17 01:38:39 +0000115 Fix build break and bug.
116
117 * loader/FTPDirectoryDocument.cpp:
118 (WebCore::createTemplateDocumentData):
119
1202008-11-16 Greg Bolsinga <bolsinga@apple.com>
121
bolsinga@apple.com4f657472008-11-17 01:05:20 +0000122 Reviewed by Darin Adler.
123
124 https://bugs.webkit.org/show_bug.cgi?id=21810
125 Remove use of static C++ objects that are destroyed at exit time (destructors)
126
127 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
128 uses of DEFINE_STATIC_LOCAL where appropriate.
129
130 * html/HTMLTableElement.cpp:
131 (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
132 * loader/CachedImage.cpp:
133 (WebCore::brokenImage):
134 (WebCore::nullImage):
135 * loader/FTPDirectoryDocument.cpp:
136 (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
137 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
138 * loader/icon/IconDatabase.cpp:
139 (WebCore::loadDefaultIconRecord):
140 * page/AccessibilityObject.cpp:
141 (WebCore::AccessibilityObject::actionVerb):
142 * page/AccessibilityRenderObject.cpp:
143 (WebCore::AccessibilityRenderObject::actionVerb):
144 * page/mac/EventHandlerMac.mm:
145 (WebCore::currentEvent):
146 * platform/ScrollView.cpp:
147 (WebCore::ScrollView::paint):
148 * platform/graphics/Image.cpp:
149 (WebCore::Image::nullImage):
150 * platform/graphics/mac/ColorMac.mm:
151 (WebCore::nsColor):
152 * platform/graphics/mac/FontCacheMac.mm: new the Strings
153 (WebCore::FontCache::getSimilarFontPlatformData):
154 * platform/graphics/mac/GraphicsContextMac.mm:
155 (WebCore::_createPatternColor): Created so accessor has one line initialization
156 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
157 * platform/graphics/mac/SimpleFontDataMac.mm:
158 (WebCore::webFallbackFontFamily):
159 * platform/mac/PasteboardMac.mm:
160 (WebCore::writableTypesForURL):
161 (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
162 (WebCore::writableTypesForImage):
163 (WebCore::stripAttachmentCharacters):
164 * rendering/RenderLayer.cpp:
165 (WebCore::RenderLayer::paintResizer):
166
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +00001672008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
168
zecke@webkit.orgedac5ce2008-11-16 21:53:28 +0000169 Reviewed by Darin Adler.
170
171 Do not spit Curl errors into the stdout as this is used by DRT
172
173 We have failing tests results due the curl errors printed to stdout,
174 move them to stderr to be able to pass those tests.
175
176 * platform/network/curl/ResourceHandleManager.cpp:
177 (WebCore::ResourceHandleManager::startJob):
178
1792008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
180
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +0000181 - fix the Gtk+ build
182
183 * GNUmakefile.am:
184
darin@apple.com21f89012008-11-16 19:39:03 +00001852008-11-16 Darin Adler <darin@apple.com>
186
darin@apple.com9c9341a2008-11-16 20:07:27 +0000187 - try to fix Qt build
188
189 * WebCore.pro: Add the worker-related source files.
190
1912008-11-16 Darin Adler <darin@apple.com>
192
darin@apple.comda5c6a12008-11-16 19:58:28 +0000193 Suggested by Alexey Proskuryakov.
194
195 - fix the GTK build another way
196
197 * GNUmakefile.am: Add the worker-related source files.
198 * bindings/js/JSEventTarget.cpp: Take the #if back out.
199
2002008-11-16 Darin Adler <darin@apple.com>
201
darin@apple.com4c044bb2008-11-16 19:51:12 +0000202 - try to fix GTK build
203
204 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
205
2062008-11-16 Darin Adler <darin@apple.com>
207
darin@apple.com21f89012008-11-16 19:39:03 +0000208 Reviewed by Dan Bernstein.
209
210 - https://bugs.webkit.org/show_bug.cgi?id=22295
211 track which history items are from page load failures
212
213 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
214 no-longer-needed ones.
215 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
216 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
217 String, since that's not efficient.
218
219 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
220 setLastVisitWasFailure, and m_lastVisitWasFailure.
221
222 * history/mac/HistoryItemMac.mm: Add newly-needed include
223 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
224 m_transientProperties map around when it is empty.
225
226 * loader/FrameLoader.cpp:
227 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
228 the page was unreachable or an HTTP page with a status code that indicates
229 failure.
230
staikos@webkit.org01b961b2008-11-16 12:45:29 +00002312008-11-16 Yong Li <yong.li@torchmobile.com>
232
233 Reviewed by Timothy Hatcher.
234 Landed by George Staikos.
235
236 Optimization: don't relayout, repaint, or emit a DOM event if the
237 scroll event didn't scroll anywhere.
238
239 * rendering/RenderLayer.cpp:
240 (WebCore::RenderLayer::scrollToOffset): add early exit
241
ap@webkit.org5248e232008-11-16 10:05:23 +00002422008-11-16 Alexey Proskuryakov <ap@webkit.org>
243
244 Reviewed by Dan Bernstein.
245
246 https://bugs.webkit.org/show_bug.cgi?id=22290
247 Remove cross-heap GC and MessagePort multi-threading support
248
249 It is broken (and may not be implementable at all), and no longer needed, as we
250 don't use MessagePorts for communication with workers any more.
251
252 * bindings/js/JSDOMBinding.cpp:
253 * bindings/js/JSDOMBinding.h:
254 * bindings/js/JSDOMWindowBase.cpp:
255 * bindings/js/JSDOMWindowBase.h:
256 Removed cross-heap GC implementation.
257
258 * dom/MessagePort.cpp:
259 (WebCore::MessagePort::hasPendingActivity):
260 * dom/MessagePort.h:
261 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
262 unnecessarily complicated for single threaded case.
263
ap@webkit.orge2011e82008-11-16 09:11:54 +00002642008-11-14 Alexey Proskuryakov <ap@webkit.org>
265
266 Reviewed by Maciej Stachowiak.
267
268 https://bugs.webkit.org/show_bug.cgi?id=22266
269 Stop using MessagePort for communication with workers
270
271 The current MessagePort specification is not well suited for being implemented in a
272 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
273 This patch implements a simpler Mozilla API for workers instead.
274
275 * WebCore.xcodeproj/project.pbxproj:
276 * DerivedSources.make:
277 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
278 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
279 * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
280 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
281 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
282 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
283 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
284 * dom/DedicatedWorker.cpp: Removed.
285 * dom/DedicatedWorker.h: Removed.
286 * dom/DedicatedWorker.idl: Removed.
287 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
288
289 * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
290 Clear worker exceptions to avoid hitting an assertion.
291
292 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
293 * dom/EventTarget.h:
294 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
295 WorkerContext is now an EventTarget, too.
296
297 * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
298 MessagePort. Added postMessage() and onmessage.
299
300 * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
301 when posting a task - this operation is not thread safe. It is also not necessary any more,
302 as the context is kept alive by WorkerMessagingProxy.
303
304 * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
305 (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
306 that on a timer.
307 (WebCore::Worker::~Worker): Notify messaging proxy.
308 (WebCore::Worker::postMessage): Just ask the proxy to post the message.
309 (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
310 available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
311 I'm not sure if this is the right lifetime for workers, as unreachable workers with event
312 listeners should probably be kept alive, but it at least lets the object be collected.
313 (WebCore::Worker::addEventListener): Added an EventTarget implementation.
314 (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
315 (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
316
317 * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
318 * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
319 Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
320
321 * dom/WorkerContext.cpp:
322 (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
323 down successfully.
324 (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
325
326 * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
327
328 * dom/WorkerMessagingProxy.cpp: Added.
329 * dom/WorkerMessagingProxy.h: Added.
330 This new class implements actual messaging. It is notified when a Worker is garbage collected,
331 and asks the thread to shut down. It also owns the thread object, and references script
332 execution context, making it safe to post messages to it remotely.
333
334 * dom/WorkerThread.cpp:
335 * dom/WorkerThread.h:
336 Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
337 keeps itself alive - it is now the job of messaging proxy.
338
darin@apple.com3f57a492008-11-16 04:35:22 +00003392008-11-15 Darin Adler <darin@apple.com>
340
darin@apple.coma9778f92008-11-16 04:40:06 +0000341 Rubber stamped by Geoff Garen.
342
343 - do the long-planned StructureID -> Structure rename
344
345 * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
346 * ForwardingHeaders/runtime/StructureID.h: Removed.
347 * bindings/js/JSAudioConstructor.cpp:
348 (WebCore::JSAudioConstructor::JSAudioConstructor):
349 * bindings/js/JSDOMBinding.cpp:
350 (WebCore::getCachedDOMStructure):
351 (WebCore::cacheDOMStructure):
352 * bindings/js/JSDOMBinding.h:
353 (WebCore::DOMObject::DOMObject):
354 (WebCore::getDOMStructure):
355 * bindings/js/JSDOMGlobalObject.cpp:
356 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
357 * bindings/js/JSDOMGlobalObject.h:
358 * bindings/js/JSDOMWindowBase.cpp:
359 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
360 * bindings/js/JSDOMWindowBase.h:
361 * bindings/js/JSDOMWindowShell.cpp:
362 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
363 (WebCore::JSDOMWindowShell::setWindow):
364 * bindings/js/JSDOMWindowShell.h:
365 (WebCore::JSDOMWindowShell::createStructure):
366 * bindings/js/JSDedicatedWorkerConstructor.cpp:
367 (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
368 * bindings/js/JSHTMLAllCollection.h:
369 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
370 (WebCore::JSHTMLAllCollection::createStructure):
371 * bindings/js/JSImageConstructor.cpp:
372 (WebCore::JSImageConstructor::JSImageConstructor):
373 * bindings/js/JSInspectedObjectWrapper.cpp:
374 (WebCore::JSInspectedObjectWrapper::wrap):
375 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
376 * bindings/js/JSInspectedObjectWrapper.h:
377 * bindings/js/JSInspectorCallbackWrapper.cpp:
378 (WebCore::leakInspectorCallbackWrapperStructure):
379 (WebCore::JSInspectorCallbackWrapper::wrap):
380 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
381 * bindings/js/JSInspectorCallbackWrapper.h:
382 * bindings/js/JSMessageChannelConstructor.cpp:
383 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
384 * bindings/js/JSNamedNodesCollection.h:
385 (WebCore::JSNamedNodesCollection::createStructure):
386 * bindings/js/JSOptionConstructor.cpp:
387 (WebCore::JSOptionConstructor::JSOptionConstructor):
388 * bindings/js/JSQuarantinedObjectWrapper.cpp:
389 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
390 * bindings/js/JSQuarantinedObjectWrapper.h:
391 (WebCore::JSQuarantinedObjectWrapper::createStructure):
392 * bindings/js/JSRGBColor.h:
393 (WebCore::JSRGBColor::createStructure):
394 * bindings/js/JSWorkerContext.cpp:
395 (WebCore::createJSWorkerContextStructure):
396 (WebCore::JSWorkerContext::JSWorkerContext):
397 (WebCore::JSWorkerContext::createPrototype):
398 * bindings/js/JSWorkerContext.h:
399 (WebCore::JSWorkerContext::createStructure):
400 (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
401 (WebCore::JSWorkerContextPrototype::createStructure):
402 * bindings/js/JSXMLHttpRequestConstructor.cpp:
403 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
404 * bindings/js/JSXSLTProcessorConstructor.cpp:
405 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
406 * bindings/scripts/CodeGeneratorJS.pm:
407 * bridge/objc/objc_runtime.h:
408 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
409 * bridge/qt/qt_runtime.cpp:
410 (JSC::Bindings::QtConnectionObject::execute):
411 * bridge/qt/qt_runtime.h:
412 (JSC::Bindings::QtRuntimeMethod::createStructure):
413 * bridge/runtime_array.h:
414 (JSC::RuntimeArray::createStructure):
415 * bridge/runtime_method.h:
416 (JSC::RuntimeMethod::createStructure):
417 * bridge/runtime_object.cpp:
418 (JSC::RuntimeObjectImp::RuntimeObjectImp):
419 * bridge/runtime_object.h:
420 (JSC::RuntimeObjectImp::createStructure):
421
4222008-11-15 Darin Adler <darin@apple.com>
423
darin@apple.com3f57a492008-11-16 04:35:22 +0000424 Reviewed by Dan Bernstein.
425
426 - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
427
428 This gets rid of the crash. It restores the behavior of the CG case from before Dirk
429 Shulze removed the platorm-dependent code, but perhaps it should be changed further
430 in the future so that the default for no style is "no stroke". I think the patch is
431 fine for fill.
432
433 * svg/graphics/SVGPaintServerSolid.cpp:
434 (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
435 (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
436
kevino@webkit.org3aafa582008-11-15 23:39:35 +00004372008-11-15 Kevin Ollivier <kevino@theolliviers.com>
438
439 Reviewed by Timothy Hatcher.
440
441 Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
442
443 https://bugs.webkit.org/show_bug.cgi?id=22284
444
445 * platform/network/NetworkStateNotifier.h:
446 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
447
krit@webkit.org290bb732008-11-15 20:48:41 +00004482008-11-15 Dirk Schulze <krit@webkit.org>
449
krit@webkit.org32f135b2008-11-15 23:24:04 +0000450 Reviewed by Geoffrey Garen.
451
452 r38426 caused a wrong drawing of a LayoutTest. Use another
453 way to set the color to pass this test again.
454
455 * svg/graphics/SVGPaintServerSolid.cpp:
456 (WebCore::SVGPaintServerSolid::setup):
457
4582008-11-15 Dirk Schulze <krit@webkit.org>
459
krit@webkit.org290bb732008-11-15 20:48:41 +0000460 Reviewed by Darin Adler.
461
462 Removed platform dependent code on SVGPaintServerSolid.
463
464 * GNUmakefile.am:
465 * WebCore.pro:
466 * WebCore.vcproj/WebCore.vcproj:
467 * WebCore.xcodeproj/project.pbxproj:
468 * svg/graphics/SVGPaintServerSolid.cpp:
469 (WebCore::SVGPaintServerSolid::setup):
470 (WebCore::SVGPaintServerSolid::renderPath):
471 * svg/graphics/SVGPaintServerSolid.h:
472 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
473 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
474 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
475
ggaren@apple.comb7024cd2008-11-15 19:55:20 +00004762008-11-15 Geoffrey Garen <ggaren@apple.com>
477
478 Reviewed by Sam Weinig.
479
480 Updated for JavaScriptCore renames.
481
482 * bindings/js/JSNodeCustom.cpp:
483 (WebCore::JSNode::mark):
484 * bindings/js/JSXMLHttpRequestCustom.cpp:
485 (WebCore::JSXMLHttpRequest::send):
486 * bindings/js/ScriptController.cpp:
487 (WebCore::ScriptController::evaluate):
488 * bindings/js/WorkerScriptController.cpp:
489 (WebCore::WorkerScriptController::evaluate):
490 * bindings/objc/WebScriptObject.mm:
491 (-[WebScriptObject evaluateWebScript:]):
492 * bridge/NP_jsobject.cpp:
493 (_NPN_Evaluate):
494 * bridge/jni/jni_jsobject.mm:
495 (JavaJSObject::eval):
496 * page/Console.cpp:
497 (WebCore::retrieveLastCaller):
498 (WebCore::Console::trace):
499
bolsinga@apple.com97e42c42008-11-15 04:47:20 +00005002008-11-14 Greg Bolsinga <bolsinga@apple.com>
501
502 Reviewed by Darin Adler.
503
504 https://bugs.webkit.org/show_bug.cgi?id=21810
505 Remove use of static C++ objects that are destroyed at exit time (destructors)
506
507 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
508 exit-time destructor. Update code that was changed to fix this issue that ran
509 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
510 in gcc build 5465). Also typdefs for template types needed to be added in some
511 cases so the type could make it through the macro successfully.
512
513 Basically code of the form:
514 static T m;
515 becomes:
516 DEFINE_STATIC_LOCAL(T, m, ());
517
518 Also any code of the form:
519 static T& m = *new T;
520 also becomes:
521 DEFINE_STATIC_LOCAL(T, m, ());
522
523 * ForwardingHeaders/wtf/StdLibExtras.h: Added.
524 * bindings/js/GCController.cpp:
525 (WebCore::gcController):
526 * bindings/js/JSDOMBinding.cpp:
527 (WebCore::wrapperSet):
528 * bindings/js/JSInspectedObjectWrapper.cpp:
529 (WebCore::wrappers):
530 * bindings/js/JSInspectorCallbackWrapper.cpp:
531 (WebCore::wrappers):
532 * bindings/js/JSNavigatorCustom.cpp:
533 (WebCore::needsYouTubeQuirk):
534 * bridge/runtime_root.cpp:
535 (JSC::Bindings::rootObjectSet):
536 * css/CSSMutableStyleDeclaration.cpp:
537 (WebCore::initShorthandMap):
538 (WebCore::CSSMutableStyleDeclaration::removeProperty):
539 * css/CSSPrimitiveValue.cpp:
540 (WebCore::CSSPrimitiveValue::cssText):
541 * css/CSSSelector.cpp:
542 (WebCore::CSSSelector::extractPseudoType):
543 * css/CSSStyleSelector.cpp:
544 (WebCore::screenEval):
545 (WebCore::printEval):
546 * dom/DOMImplementation.cpp:
547 (WebCore::addString):
548 (WebCore::isSVG10Feature):
549 (WebCore::isSVG11Feature):
550 (WebCore::DOMImplementation::isXMLMIMEType):
551 * dom/Document.cpp:
552 (WebCore::Document::hasPrefixNamespaceMismatch):
553 * dom/ScriptElement.cpp:
554 (WebCore::isSupportedJavaScriptLanguage):
555 * editing/ApplyStyleCommand.cpp:
556 (WebCore::styleSpanClassString):
557 * editing/HTMLInterchange.cpp:
558 (WebCore::):
559 * editing/IndentOutdentCommand.cpp:
560 (WebCore::indentBlockquoteString):
561 * editing/ReplaceSelectionCommand.cpp:
562 (WebCore::isInterchangeNewlineNode):
563 (WebCore::isInterchangeConvertedSpaceSpan):
564 * editing/htmlediting.cpp:
565 (WebCore::stringWithRebalancedWhitespace):
566 (WebCore::nonBreakingSpaceString):
567 * editing/markup.cpp:
568 (WebCore::appendAttributeValue):
569 (WebCore::appendEscapedContent):
570 (WebCore::shouldAddNamespaceAttr):
571 (WebCore::appendNamespace):
572 (WebCore::appendStartMarkup):
573 (WebCore::createMarkup):
574 * html/HTMLButtonElement.cpp:
575 (WebCore::HTMLButtonElement::type):
576 * html/HTMLElement.cpp:
577 (WebCore::HTMLElement::isRecognizedTagName):
578 (WebCore::inlineTagList):
579 (WebCore::blockTagList):
580 * html/HTMLFieldSetElement.cpp:
581 (WebCore::HTMLFieldSetElement::type):
582 * html/HTMLInputElement.cpp:
583 (WebCore::HTMLInputElement::type):
584 * html/HTMLKeygenElement.cpp:
585 (WebCore::HTMLKeygenElement::type):
586 * html/HTMLLegendElement.cpp:
587 (WebCore::HTMLLegendElement::type):
588 * html/HTMLOptGroupElement.cpp:
589 (WebCore::HTMLOptGroupElement::type):
590 * html/HTMLOptionElement.cpp:
591 (WebCore::HTMLOptionElement::type):
592 * html/HTMLParser.cpp:
593 (WebCore::HTMLParser::getNode):
594 (WebCore::HTMLParser::isHeaderTag):
595 (WebCore::HTMLParser::isResidualStyleTag):
596 (WebCore::HTMLParser::isAffectedByResidualStyle):
597 * html/HTMLSelectElement.cpp:
598 (WebCore::HTMLSelectElement::type):
599 * html/HTMLTextAreaElement.cpp:
600 (WebCore::HTMLTextAreaElement::type):
601 * inspector/InspectorController.cpp:
602 (WebCore::platform):
603 * inspector/JavaScriptDebugServer.cpp:
604 (WebCore::JavaScriptDebugServer::shared):
605 * inspector/JavaScriptProfile.cpp:
606 (WebCore::profileCache):
607 * inspector/JavaScriptProfileNode.cpp:
608 (WebCore::profileNodeCache):
609 * loader/FrameLoader.cpp:
610 (WebCore::localSchemes):
611 * loader/appcache/ApplicationCacheStorage.cpp:
612 (WebCore::cacheStorage):
613 * loader/archive/ArchiveFactory.cpp:
614 (WebCore::archiveMIMETypes):
615 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
616 * loader/icon/IconDatabase.cpp:
617 (WebCore::IconDatabase::defaultDatabaseFilename):
618 * page/EventHandler.cpp:
619 (WebCore::EventHandler::dragState):
620 * page/Frame.cpp:
621 (WebCore::createRegExpForLabels):
622 (WebCore::keepAliveSet):
623 * page/Page.cpp:
624 (WebCore::Page::groupName):
625 * page/SecurityOrigin.cpp:
626 (WebCore::isDefaultPortForProtocol):
627 (WebCore::SecurityOrigin::databaseIdentifier):
628 * page/mac/FrameMac.mm:
629 (WebCore::regExpForLabels):
630 * platform/KURL.cpp:
631 (WebCore::blankURL):
632 * platform/graphics/FontCache.cpp:
633 (WebCore::alternateFamilyName):
634 * platform/graphics/mac/FontCacheMac.mm:
635 (WebCore::FontCache::getSimilarFontPlatformData):
636 (WebCore::FontCache::getLastResortFallbackFont):
637 * platform/mac/CursorMac.mm:
638 (WebCore::leakNamedCursor):
639 (WebCore::pointerCursor):
640 (WebCore::crossCursor):
641 (WebCore::handCursor):
642 (WebCore::moveCursor):
643 (WebCore::verticalTextCursor):
644 (WebCore::cellCursor):
645 (WebCore::contextMenuCursor):
646 (WebCore::aliasCursor):
647 (WebCore::zoomInCursor):
648 (WebCore::zoomOutCursor):
649 (WebCore::copyCursor):
650 (WebCore::noneCursor):
651 (WebCore::progressCursor):
652 (WebCore::noDropCursor):
653 (WebCore::notAllowedCursor):
654 (WebCore::iBeamCursor):
655 (WebCore::waitCursor):
656 (WebCore::helpCursor):
657 (WebCore::eastResizeCursor):
658 (WebCore::northResizeCursor):
659 (WebCore::northEastResizeCursor):
660 (WebCore::northWestResizeCursor):
661 (WebCore::southResizeCursor):
662 (WebCore::southEastResizeCursor):
663 (WebCore::southWestResizeCursor):
664 (WebCore::westResizeCursor):
665 (WebCore::northSouthResizeCursor):
666 (WebCore::eastWestResizeCursor):
667 (WebCore::northEastSouthWestResizeCursor):
668 (WebCore::northWestSouthEastResizeCursor):
669 (WebCore::columnResizeCursor):
670 (WebCore::rowResizeCursor):
671 (WebCore::grabCursor):
672 (WebCore::grabbingCursor):
673 * platform/mac/ScrollbarThemeMac.mm:
674 (WebCore::ScrollbarTheme::nativeTheme):
675 * platform/mac/ThemeMac.mm:
676 (WebCore::platformTheme):
677 * platform/mac/ThreadCheck.mm:
678 (WebCoreReportThreadViolation):
679 * platform/network/NetworkStateNotifier.cpp:
680 (WebCore::networkStateNotifier):
681 * platform/network/mac/FormDataStreamMac.mm:
682 (WebCore::getStreamFormDataMap):
683 (WebCore::getStreamResourceHandleMap):
684 * platform/network/mac/ResourceResponseMac.mm:
685 (WebCore::ResourceResponse::platformLazyInit):
686 * platform/text/TextEncoding.cpp:
687 (WebCore::TextEncoding::isJapanese):
688 * plugins/PluginMainThreadScheduler.cpp:
689 (WebCore::PluginMainThreadScheduler::scheduler):
690 * rendering/RenderBlock.cpp:
691 (WebCore::continuationOutlineTable):
692 (WebCore::RenderBlock::addContinuationWithOutline):
693 (WebCore::RenderBlock::paintContinuationOutlines):
694 * rendering/RenderCounter.cpp:
695 (WebCore::counterMaps):
696 * rendering/RenderFlexibleBox.cpp:
697 (WebCore::RenderFlexibleBox::layoutVerticalBox):
698 * rendering/RenderListItem.cpp:
699 (WebCore::RenderListItem::markerText):
700 * rendering/RenderScrollbarTheme.cpp:
701 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
702 * rendering/RenderThemeMac.mm:
703 (WebCore::RenderThemeMac::systemFont):
704 * rendering/bidi.cpp:
705 (WebCore::RenderBlock::checkLinesForTextOverflow):
706 * rendering/style/RenderStyle.cpp:
707 (WebCore::RenderStyle::initialDashboardRegions):
708 (WebCore::RenderStyle::noneDashboardRegions):
709 * storage/Database.cpp:
710 (WebCore::guidMutex):
711 (WebCore::guidToVersionMap):
712 (WebCore::guidToDatabaseMap):
713 (WebCore::Database::databaseInfoTableName):
714 (WebCore::databaseVersionKey):
715 (WebCore::Database::getVersionFromDatabase):
716 (WebCore::Database::setVersionInDatabase):
717 (WebCore::guidForOriginAndName):
718 * storage/DatabaseTracker.cpp:
719 (WebCore::DatabaseTracker::tracker):
720 (WebCore::notificationMutex):
721 (WebCore::notificationQueue):
722 * storage/LocalStorage.cpp:
723 (WebCore::localStorageMap):
724 * svg/SVGAnimateMotionElement.cpp:
725 (WebCore::SVGAnimateMotionElement::rotateMode):
726 * svg/SVGAnimationElement.cpp:
727 (WebCore::SVGAnimationElement::calcMode):
728 (WebCore::SVGAnimationElement::attributeType):
729 (WebCore::SVGAnimationElement::isAdditive):
730 (WebCore::SVGAnimationElement::isAccumulated):
731 * svg/SVGLangSpace.cpp:
732 (WebCore::SVGLangSpace::xmlspace):
733 * svg/SVGSVGElement.cpp:
734 (WebCore::SVGSVGElement::contentScriptType):
735 (WebCore::SVGSVGElement::contentStyleType):
736 * svg/SVGStyleElement.cpp:
737 (WebCore::SVGStyleElement::type):
738 (WebCore::SVGStyleElement::media):
739 * svg/SVGTextContentElement.cpp:
740 (WebCore::SVGTextContentElement::parseMappedAttribute):
741 * svg/animation/SVGSMILElement.cpp:
742 (WebCore::SVGSMILElement::parseClockValue):
743 (WebCore::SVGSMILElement::restart):
744 (WebCore::SVGSMILElement::fill):
745 (WebCore::SVGSMILElement::repeatCount):
746 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
747 * svg/graphics/SVGResource.cpp:
748 (WebCore::clientMap):
749 (WebCore::SVGResource::removeClient):
750 * svg/graphics/SVGResourceMarker.cpp:
751 (WebCore::SVGResourceMarker::draw):
752 * xml/XMLHttpRequest.cpp:
753 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
754 (WebCore::preflightResultCache):
755 (WebCore::appendPreflightResultCacheEntry):
756 (WebCore::isSafeRequestHeader):
757 (WebCore::isOnAccessControlResponseHeaderWhitelist):
758 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
759 * xml/XPathExpressionNode.cpp:
760 (WebCore::XPath::Expression::evaluationContext):
761 * xml/XPathParser.cpp:
762 (WebCore::XPath::setUpAxisNamesMap):
763 (WebCore::XPath::isAxisName):
764 (WebCore::XPath::isNodeTypeName):
765 * xml/XPathValue.cpp:
766 (WebCore::XPath::Value::toNodeSet):
767
mitz@apple.comddf9b8c2008-11-15 04:24:35 +00007682008-11-14 Dan Bernstein <mitz@apple.com>
769
770 - attempt to fix the Qt build
771
772 * platform/qt/Localizations.cpp:
773 (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
774 needs to go somewhere else in addition to here.
775
kevino@webkit.org66e6bed2008-11-15 03:25:08 +00007762008-11-14 Kevin Ollivier <kevino@theolliviers.com>
777
778 wx build fix.
779
780 * platform/wx/LocalizedStringsWx.cpp:
781 (WebCore::contextMenuItemTagTextDirectionMenu):
782
mitz@apple.comd6ceec82008-11-14 23:50:00 +00007832008-11-14 Dan Bernstein <mitz@apple.com>
784
785 Reviewed by Darin Adler.
786
787 - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
788 - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
789
790 * WebCore.base.exp: Exported
791 WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
792
793 * editing/ApplyStyleCommand.cpp:
794 (StyleChange::init): Changed to always include the direction property
795 in the result if the unicode-bidi property is included.
796 (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
797 highest ancestor of the given node that establishes bidi embedding. If
798 that embedding agrees with the given allowed direction, finds the
799 second-highest embedding ancestor. Splits all nodes through that
800 ancestor. If the highest embedding ancestor did not need to be split,
801 it is returned.
802 (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
803 bidi embedding attributes and styles from all ancestors of the given
804 node up to its enclosing block or the given node.
805 (ApplyStyleCommand::applyInlineStyle): Added code to handle the
806 unicode-bidi property. Applying style the includes this property
807 involves removing all bidi embedding in effect, except for one-level
808 embedding that agrees with the desired embedding, then applying the
809 desired embedding where it is not already in effect.
810 (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
811 applyInlineStyle().
812 (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
813 "dir" attribute if necessary and the element if it becomes an unstyled
814 style span.
815 (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
816 property when removing the unicode-bidi property.
817 (ApplyStyleCommand::removeInlineStyle): Added a call to
818 removeHTMLBidiEmbeddingStyle().
819
820 * editing/ApplyStyleCommand.h:
821 * editing/Editor.cpp:
822 (Editor::textDirectionForSelection): Added. Returns the character-level
823 writing direction of the selection if it is uniform and simple (at most
824 one level of embedding).
825 (Editor::hasBidiSelection): Added. Returns true if the selection lies
826 entirely within a single block, and that block has direction:rtl or
827 contains any inline boxes with non-zero bidi embedding level.
828
829 * editing/Editor.h:
830 * editing/EditorCommand.cpp:
831 (stateTextWritingDirection): Added this helper function for deciding
832 the state of Text Direction submenu items.
833 (executeMakeTextWritingDirectionLeftToRight): Added. Applies
834 "unicode-bidi: embed; direction: ltr;".
835 (executeMakeTextWritingDirectionNatural): Added. Applies
836 "unicode-bidi: normal;"
837 (executeMakeTextWritingDirectionRightToLeft): Added. Applies
838 "unicode-bidi: embed; direction: rtl;".
839 (stateTextWritingDirectionLeftToRight): Added.
840 (stateTextWritingDirectionNatural): Added.
841 (stateTextWritingDirectionRightToLeft): Added.
842 (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
843 "MakeTextWritingDirectionNatural",
844 and "MakeTextWritingDirectionRightToLeft".
845
846 * editing/InsertTextCommand.cpp:
847 (InsertTextCommand::input): Added code to maintain the unicode-bidi
848 and direction properties in the typing style. Even if they have the
849 same values as the computed style at the caret, they need to be included
850 in the typing style so that inserted text will not inherit any nested
851 embedding.
852
853 * page/ContextMenuController.cpp:
854 (ContextMenuController::contextMenuItemSelected): Added calls to
855 the editor for the text direction menu items.
856
857 * page/Frame.cpp
858 (Frame::computeAndSetTypingStyle): Added code to maintain the
859 unicode-bidi and direction properties in the typing style.
860
861 * page/Settings.cpp:
862 (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
863
864 * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
865 an m_textDirectionSubmenuInclusionBehavior member, and accessors.
866
867 * page/mac/WebCoreViewFactory.h:
868 * platform/ContextMenu.cpp:
869 (WebCore::createAndAppendTextDirectionSubMenu): Added.
870 (ContextMenu::populate): Added the Text Direction submenu item based on
871 the inclusion behavior and the existence of a bidi selection.
872 (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
873 menu items.
874
875 * platform/ContextMenuItem.h:
876 * platform/LocalizedStrings.h: Declared
877 contextMenuItemTagTextDirectionMenu().
878
879 * platform/mac/LocalizedStringsMac.mm: Defined
880 contextMenuItemTagTextDirectionMenu().
881
882 * rendering/RenderBlock.cpp:
883 (RenderBlock::containsNonZeroBidiLevel): Added.
884 * rendering/RenderBlock.h:
885
bolsinga@apple.comf5045502008-11-14 23:48:26 +00008862008-11-14 Greg Bolsinga <bolsinga@apple.com>
887
888 Reviewed by Darin Adler.
889
890 https://bugs.webkit.org/show_bug.cgi?id=22264
891 Need to update to latest Geolocation spec (13 November 2008)
892
893 Update to new error code constants and values.
894
895 * page/Geolocation.cpp: Use new named ErrorCode enums
896 (WebCore::Geolocation::GeoNotifier::timerFired):
897 (WebCore::Geolocation::getCurrentPosition):
898 (WebCore::Geolocation::watchPosition):
899 * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
900 (WebCore::PositionError::):
901 * page/PositionError.idl: Add new named error constants
902
bdakin@apple.comf6ce38c2008-11-14 23:37:50 +00009032008-11-14 Beth Dakin <bdakin@apple.com>
904
905 Reviewed by Justin Garcia.
906
907 Fix (again) for <rdar://problem/5089327> Too much indentation when
908 pasting quoted paragraphs
909
910 This patch goes back to Justin's original approach to fix this bug,
911 written in revision 38273. That fix was mostly rolled out by
912 revision 38310 because of styling issues created by the addition of
913 extra blockquote nodes. This patch again goes back to Justin's
914 original fix because of cases we discovered the newer fix could not
915 possibly cover. This version of the patch minimizes the styling
916 issues of extra blockquotes by opting into the merge start code.
917
918 * editing/ReplaceSelectionCommand.cpp:
919 (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
920 return true when the quoting level of the end of the inserted
921 content matches the quoting level of the end of the existing
922 content.
923 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
924 hasMatchingQuoteLevel
925 (WebCore::ReplaceSelectionCommand::doApply):
926
eric@webkit.org0dd61062008-11-14 21:41:56 +00009272008-11-14 Dirk Schulze <vbs85@gmx.de>
928
929 Reviewed by Eric Seidel.
930
931 Made SVGResourceClipper platform independent.
932 https://bugs.webkit.org/show_bug.cgi?id=21444
933
934 * GNUmakefile.am:
935 * WebCore.pro:
936 * WebCore.vcproj/WebCore.vcproj:
937 * WebCore.xcodeproj/project.pbxproj:
938 * platform/graphics/GraphicsContext.h:
939 * platform/graphics/cairo/GraphicsContextCairo.cpp:
940 (WebCore::GraphicsContext::clipPath):
941 * platform/graphics/cg/GraphicsContextCG.cpp:
942 (WebCore::GraphicsContext::clipPath):
943 * platform/graphics/qt/GraphicsContextQt.cpp:
944 (WebCore::GraphicsContext::addPath):
945 (WebCore::GraphicsContext::clipPath):
946 * svg/graphics/SVGResourceClipper.cpp:
947 (WebCore::SVGResourceClipper::applyClip):
948 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
949 * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
950 * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
951
antti@apple.comc633dca2008-11-14 21:34:55 +00009522008-11-14 Antti Koivisto <antti@apple.com>
953
954 Reviewed by Anders Carlsson.
955
956 Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
957
958 * loader/FrameLoader.cpp:
959 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
960 * loader/FrameLoader.h:
961
weinig@apple.comd7fe7482008-11-14 20:02:05 +00009622008-11-14 Sam Weinig <sam@webkit.org>
963
964 Reviewed by Eric Seidel.
965
966 Remove unneeded forward declaration.
967
968 * plugins/Plugin.h:
969
darin@chromium.org53564932008-11-14 18:53:39 +00009702008-11-14 Darin Fisher <darin@chromium.org>
971
972 Reviewed by Darin Adler.
973
974 https://bugs.webkit.org/show_bug.cgi?id=22251
975 HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
976
977 * html/HTMLCanvasElement.cpp:
978
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +00009792008-11-14 Yael Aharon <yael.aharon@nokia.com>
980
981 Reviewed by Simon Hausmann.
982
hausmann@webkit.org430f7fe2008-11-14 18:40:14 +0000983 Add new files from the Qt port to the build.
984
985 * WebCore.pro:
986
9872008-11-14 Yael Aharon <yael.aharon@nokia.com>
988
989 Reviewed by Simon Hausmann.
990
hausmann@webkit.org62424c92008-11-14 18:39:56 +0000991 Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
992 port to apply a default quota only if there is no entry in the
993 database for a given origin yet.
994
995 * storage/DatabaseTracker.h:
996
9972008-11-14 Yael Aharon <yael.aharon@nokia.com>
998
999 Reviewed by Simon Hausmann.
1000
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +00001001 Make it possible to get the cache directory set in the application
1002 cache storage.
1003
1004 * loader/appcache/ApplicationCacheStorage.cpp:
1005 (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
1006 * loader/appcache/ApplicationCacheStorage.h:
1007
justin.garcia@apple.com5b803002008-11-14 18:30:36 +000010082008-11-14 Justin Garcia <justin.garcia@apple.com>
1009
1010 Reviewed by Beth Dakin.
1011
1012 <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
1013
1014 When applying block styles, we would add block properties to the body element, and Mail's
1015 Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
1016 but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
1017
1018 We have code that puts the paragraphs that we're operating on into blocks of their own before
1019 adding or removing block properties from the blocks that enclose them. We need to run this code
1020 when the enclosing block is the body element.
1021
1022 * editing/CompositeEditCommand.cpp:
1023 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
1024 to here.
1025 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
1026 Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
1027 * editing/CompositeEditCommand.h:
1028
cwzwarich@webkit.org770a8a82008-11-14 17:49:56 +000010292008-11-14 Cameron Zwarich <zwarich@apple.com>
1030
1031 Reviewed by Darin Adler.
1032
1033 Bug 22245: Move wtf/dtoa.h into the WTF namespace
1034 <https://bugs.webkit.org/show_bug.cgi?id=22245>
1035
1036 Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
1037
1038 * platform/text/String.cpp:
1039 (WebCore::charactersToDouble):
1040
vestbo@webkit.org6d154272008-11-14 11:20:48 +000010412008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
1042
1043 Rubber-stamped by Simon Hausmann.
1044
vestbo@webkit.org66a87f22008-11-14 11:21:08 +00001045 Make sure Qt scrollbars follow the style with regard to context menus
1046
1047 * platform/qt/ScrollbarQt.cpp:
1048 (WebCore::Scrollbar::contextMenu):
1049
10502008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
1051
1052 Rubber-stamped by Simon Hausmann.
1053
vestbo@webkit.org6d154272008-11-14 11:20:48 +00001054 Make scrollbar look active when the window is active on Qt/Mac
1055
1056 * platform/qt/ScrollbarThemeQt.cpp:
1057 (WebCore::styleOptionSlider):
1058 (WebCore::ScrollbarThemeQt::paint):
1059
eric@webkit.orgf3a46352008-11-14 04:26:21 +000010602008-11-13 Eric Seidel <eric@webkit.org>
1061
1062 Reviewed by Adam Roben.
1063
1064 Add a basic Scons-based build system for building
1065 Chromium-Mac WebCore.
1066 https://bugs.webkit.org/show_bug.cgi?id=21991
1067
1068 The build currently fails due to missing files from our
1069 platform directory (platform skia and platform chromium)
1070 I will be sending those up shortly in separate patches.
1071 I expect it will be a while before our WebCore build links.
1072
1073 * SConstruct: Added.
1074 * WebCore.scons: Added.
1075
darin@chromium.orgf089f552008-11-14 01:54:12 +000010762008-11-13 Darin Fisher <darin@chromium.org>
1077
1078 Reviewed by Darin Adler.
1079
1080 https://bugs.webkit.org/show_bug.cgi?id=22248
1081 AtomicString.cpp uses JSC types outside of #if USE(JSC)
1082
1083 * platform/text/AtomicString.cpp:
1084 (WebCore::AtomicString::add):
justin.garcia@apple.com5b803002008-11-14 18:30:36 +00001085
justin.garcia@apple.com3de84072008-11-13 21:04:51 +000010862008-11-13 Justin Garcia <justin.garcia@apple.com>
1087
1088 Reviewed by Darin Adler.
1089
1090 https://bugs.webkit.org/show_bug.cgi?id=18620
1091 Long hang under TextIterator::advance() when loading http://www.lsvd.de/
1092
1093 A huge section at the beginning of this document is invisible. As we iterate through it,
1094 we create VisiblePositions unnecessarily.
1095
1096 * editing/TextIterator.cpp:
1097 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
1098 creation if m_node is unrendered or invisible. The answers wouldn't have much meaning
1099 and would be wasteful. Also fixed some comments to reflect the fact that this function
1100 isn't specifically about emitting a newline.
1101
cmarrin@apple.com0a75f9c2008-11-13 18:49:04 +000011022008-11-13 Pierre-Olivier Latour <pol@apple.com>
1103
1104 Reviewed by Sam Weinig.
1105
1106 Remove unused or unnecessary code from AnimationBase class.
1107
1108 * page/animation/AnimationBase.cpp:
1109 (WebCore::AnimationBase::AnimationBase):
1110 (WebCore::AnimationBase::playStatePlaying):
1111 * page/animation/AnimationBase.h:
1112
vestbo@webkit.org404a4712008-11-13 15:20:43 +000011132008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
1114
1115 Reviewed by Simon Hausmann.
1116
1117 Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
1118
1119 Currently only used by QtWebKit. See also:
1120
1121 https://bugs.webkit.org/show_bug.cgi?id=21427
1122
1123 * WebCore.pro:
1124 * platform/qt/TemporaryLinkStubs.cpp:
1125 (PluginView::userAgentStatic):
1126 (PluginView::getValueStatic):
1127 * plugins/PluginView.cpp:
1128 (WebCore::PluginView::handleEvent):
1129 (WebCore::PluginView::setValue):
1130 (WebCore::PluginView::PluginView):
1131 * plugins/PluginView.h:
1132 (WebCore::PluginView::setPlatformPluginWidget):
1133 * plugins/mac/PluginPackageMac.cpp: Added.
1134 (WebCore::PluginPackage::determineQuirks):
1135 (WebCore::readPListFile):
1136 (WebCore::stringListFromResourceId):
1137 (WebCore::PluginPackage::fetchInfo):
1138 (WebCore::PluginPackage::load):
1139 (WebCore::PluginPackage::hash):
1140 (WebCore::PluginPackage::equal):
1141 (WebCore::PluginPackage::compareFileVersion):
1142 * plugins/mac/PluginViewMac.cpp: Added.
1143 (WebCore::nativeWindowFor):
1144 (WebCore::cgHandleFor):
1145 (WebCore::topLevelOffsetFor):
1146 (WebCore::PluginView::init):
1147 (WebCore::PluginView::~PluginView):
1148 (WebCore::PluginView::stop):
1149 (WebCore::PluginView::getValueStatic):
1150 (WebCore::PluginView::getValue):
1151 (WebCore::PluginView::setParent):
1152 (WebCore::PluginView::show):
1153 (WebCore::PluginView::hide):
1154 (WebCore::PluginView::setFocus):
1155 (WebCore::PluginView::setParentVisible):
1156 (WebCore::PluginView::setNPWindowRect):
1157 (WebCore::PluginView::setNPWindowIfNeeded):
1158 (WebCore::PluginView::updatePluginWidget):
1159 (WebCore::PluginView::paint):
1160 (WebCore::PluginView::invalidateRect):
1161 (WebCore::PluginView::invalidateRegion):
1162 (WebCore::PluginView::forceRedraw):
1163 (WebCore::PluginView::handleMouseEvent):
1164 (WebCore::PluginView::handleKeyboardEvent):
1165 (WebCore::PluginView::nullEventTimerFired):
1166 (WebCore::modifiersForEvent):
1167 (WebCore::PluginView::globalMousePosForPlugin):
1168 (WebCore::PluginView::dispatchNPEvent):
1169 (WebCore::PluginView::userAgent):
1170 (WebCore::PluginView::userAgentStatic):
1171 (WebCore::PluginView::handlePostReadFile):
1172
ap@webkit.org3568f132008-11-13 07:27:12 +000011732008-11-12 Alexey Proskuryakov <ap@webkit.org>
1174
1175 Reviewed by Darin Adler.
1176
ap@webkit.org0c815c02008-11-13 07:32:43 +00001177 https://bugs.webkit.org/show_bug.cgi?id=22200
1178 Crash when close event is dispatched to MessagePort due to document destruction
1179
1180 Test: fast/events/message-port-onclose.html
1181
1182 * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
1183 Don't dispatch close event, even though HTML5 currently says that we should. It is not
1184 right for GC to have observable effects.
1185
11862008-11-12 Alexey Proskuryakov <ap@webkit.org>
1187
1188 Reviewed by Darin Adler.
1189
ap@webkit.org3568f132008-11-13 07:27:12 +00001190 https://bugs.webkit.org/show_bug.cgi?id=22203
1191 Implement Worker messaging
1192
1193 No test cases included, because this functionality is disabled by default.
1194
1195 The implementation is known to still have many race condition, but works quite well for
1196 testing.
1197
1198 * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
1199
1200 * bindings/js/JSDOMBinding.cpp:
1201 (WebCore::markActiveObjectsForContext): Re-worded comments a little.
1202 (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
1203 incorrect, changed it to a much simpler (but still incorrect) version.
1204
1205 * dom/WorkerTask.cpp: Added.
1206 (WebCore::WorkerTask::~WorkerTask):
1207 * dom/WorkerTask.h: Added.
1208 Tasks posted to workers implement this new interface.
1209
1210 * bindings/js/JSDedicatedWorkerCustom.cpp:
1211 (WebCore::JSDedicatedWorker::mark):
1212 (WebCore::JSDedicatedWorker::connect):
1213 * dom/DedicatedWorker.h:
1214 * dom/DedicatedWorker.idl:
1215 Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
1216 WHATWG discussions.
1217
1218 * dom/DedicatedWorker.cpp:
1219 (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
1220 operations.
1221 (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
1222 (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
1223 one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
1224 this port starts with a null context pointer.
1225 (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
1226 after creation, we have to queue tasks until after a WorkerThread object is created. Then we
1227 forward all queued tasks to its queue.
1228
1229 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
1230 * dom/EventTarget.h:
1231 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
1232 Added cases for WorkerContext, which is now an EventTarget, too.
1233
1234 * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
1235 * bindings/js/JSWorkerContext.cpp:
1236 (WebCore::JSWorkerContext::mark): Mark event listeners.
1237 (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
1238 (WebCore::JSWorkerContext::put): Implemented.
1239 (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
1240 (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
1241 (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
1242 (WebCore::jsWorkerContextOnconnect): Added.
1243 (WebCore::setJSWorkerContextOnconnect): Added.
1244
1245 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
1246 Made it actually work by adding necessary setup.
1247
1248 * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
1249 Check the right variable - it is the wrapper that may not be initialized yet.
1250
1251 * dom/ActiveDOMObject.cpp:
1252 (WebCore::ActiveDOMObject::ActiveDOMObject):
1253 (WebCore::ActiveDOMObject::~ActiveDOMObject):
1254 Assert being called from the correct thread, as active DOM object tracking is not thread safe.
1255
1256 * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
1257 for asynchronously executing tasks in context's thread.
1258
1259 * dom/ScriptExecutionContext.cpp:
1260 (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
1261 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
1262 It was an optimization that couldn't be easily preserved without introducing race conditions
1263 in multithreading case.
1264 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
1265 (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
1266 why it's OK to not ref() ports in a frozen copy.
1267 (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
1268 from a wrong thread.
1269 (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
1270 (WebCore::ScriptExecutionContextTaskTimer): Part of
1271 ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
1272 thread.
1273 (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
1274 to a worker.
1275 (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
1276 to main thread from a secondary one.
1277 (WebCore::performTask): A helper function for callOnMainThread().
1278 (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
1279
1280 * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
1281 ref/deref EventData::message from different threads, which is not allowed.
1282
1283 * dom/MessagePort.cpp:
1284 (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
1285 (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
1286 (WebCore::MessagePort::EventData::EventData): Ditto.
1287 (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
1288 first, because we need to create ports for posting to other threads, and it is not possible
1289 to register in a context from another thread.
1290 (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
1291 receiver's job to set the context.
1292 (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
1293 context yet.
1294 (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
1295 (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
1296 (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
1297 context.
1298 (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
1299 (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
1300 (WebCore::MessagePort::queueCloseEvent): Use postTask().
1301 (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
1302 MessagePort cross-heap GC is still quite wrong.
1303
1304 * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
1305 * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
1306 now, but there is no harm in tracking it in release builds, too.
1307
1308 * dom/WorkerThread.cpp:
1309 (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
1310 (WebCore::WorkerThread::workerThread): Implemented a message loop.
1311 * dom/WorkerThread.h:
1312 (WebCore::WorkerThread::threadID): Also only used for assertions.
1313 (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
1314
1315 * page/DOMWindow.cpp:
1316 (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
1317 always sets it to null.
1318 (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
1319
krit@webkit.org5a0e4672008-11-13 07:17:53 +000013202008-11-12 Dirk Schulze <vbs85@gmx.de>
1321
1322 Reviewed Darin Adler.
1323
1324 use strokeColor.alpha() instead of fillColor.alpha()
1325 on GraphicsContext::strokePath()
1326
1327 [Canvas] Transparent fillStyle stops line rendering
1328 https://bugs.webkit.org/show_bug.cgi?id=21888
1329
1330 Test: fast/canvas/canvas-stroke-empty-fill.html
1331
1332 * ChangeLog:
1333 * platform/graphics/cg/GraphicsContextCG.cpp:
1334 (WebCore::GraphicsContext::strokePath):
1335
slewis@apple.com952b90f2008-11-13 06:08:46 +000013362008-11-12 Stephanie <slewis@apple.com>
1337
1338 Reviewed by Mark Rowe.
1339
1340 Fix context leak in XSLStyleSheets.
1341 See bug https://bugs.webkit.org/show_bug.cgi?id=15715
1342
1343 * xml/XSLStyleSheet.cpp:
1344 (WebCore::XSLStyleSheet::parseString):
1345
alp@webkit.org8ad90d42008-11-13 00:44:05 +000013462008-11-12 Alp Toker <alp@nuanti.com>
1347
alp@webkit.org42526642008-11-13 04:26:39 +00001348 autotools: List web worker-related headers needed for a successful
1349 build. distcheck is passing again with this change.
1350
1351 * GNUmakefile.am:
1352
13532008-11-12 Alp Toker <alp@nuanti.com>
1354
alp@webkit.org8044cb92008-11-13 02:30:09 +00001355 autotools build system fix-up only. Add FloatQuad.h to the source
1356 lists and sort them.
1357
1358 * GNUmakefile.am:
1359
13602008-11-12 Alp Toker <alp@nuanti.com>
1361
alp@webkit.org8ad90d42008-11-13 00:44:05 +00001362 Build fixes for r38346. FloatQuad.cpp is missing:
1363
1364 1) #include "config.h"
1365 2) #include <algorithm> for various mathematical definitions it uses.
1366
1367 * platform/graphics/FloatQuad.cpp:
1368
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +000013692008-11-12 Simon Fraser <simon.fraser@apple.com>
1370
simon.fraser@apple.comd12c84b2008-11-13 01:32:11 +00001371 Reviewed by Dan Bernstein
1372
1373 https://bugs.webkit.org/show_bug.cgi?id=22212
1374
1375 Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
1376 it may be the bounding outline box of a transformed element, and fix it
1377 to respect transforms by mapping the outline box to an absolute quad and
1378 taking the enclosing rect.
1379
1380 RenderBox::localToAbsoluteQuad() can no longer assert that there is no
1381 LayoutState, but LayoutState cannot be used during quad mapping (it knows
1382 nothing about transforms).
1383
1384 Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
1385 borderTopExtra() from the object, rather than its container (as localToAbsolute()
1386 does).
1387
1388 Test: fast/repaint/transform-absolute-child.html
1389
1390 * rendering/RenderBlock.cpp:
1391 (WebCore::RenderBlock::layoutBlock):
1392 * rendering/RenderBox.cpp:
1393 (WebCore::RenderBox::localToAbsoluteQuad):
1394 * rendering/RenderFlexibleBox.cpp:
1395 (WebCore::RenderFlexibleBox::layoutBlock):
1396 * rendering/RenderForeignObject.cpp:
1397 (WebCore::RenderForeignObject::layout):
1398 * rendering/RenderLayer.cpp:
1399 (WebCore::RenderLayer::updateLayerPositions):
1400 (WebCore::RenderLayer::setHasVisibleContent):
1401 * rendering/RenderObject.cpp:
1402 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1403 (WebCore::RenderObject::absoluteOutlineBounds):
1404 * rendering/RenderObject.h:
1405 * rendering/RenderPath.cpp:
1406 (WebCore::RenderPath::layout):
1407 * rendering/RenderReplaced.cpp:
1408 (WebCore::RenderReplaced::layout):
1409 * rendering/RenderSVGContainer.cpp:
1410 (WebCore::RenderSVGContainer::layout):
1411 * rendering/RenderSVGImage.cpp:
1412 (WebCore::RenderSVGImage::layout):
1413 * rendering/RenderSVGRoot.cpp:
1414 (WebCore::RenderSVGRoot::layout):
1415 * rendering/RenderSVGText.cpp:
1416 (WebCore::RenderSVGText::layout):
1417 * rendering/RenderSVGViewportContainer.cpp:
1418 (WebCore::RenderSVGViewportContainer::layout):
1419 * rendering/RenderTable.cpp:
1420 (WebCore::RenderTable::layout):
1421
14222008-11-12 Simon Fraser <simon.fraser@apple.com>
1423
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +00001424 Reviewed by Dave Hyatt
1425
1426 https://bugs.webkit.org/show_bug.cgi?id=21942
1427 https://bugs.webkit.org/show_bug.cgi?id=18557
1428
1429 Add methods which can be used to map renderer-local rectangles
1430 to quads in absolute coordinates, taking transforms into account:
1431 localToAbsoluteQuad() converts a local rect into an absolute quad.
1432 collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
1433 that works with quads.
1434 absoluteQuads() is an analogue of absoluteRects(), for quads.
1435
1436 Use the quad methods to fix the inspector highlight for transformed
1437 elements.
1438
1439 * GNUmakefile.am:
1440 * WebCore.pro:
1441 * WebCore.vcproj/WebCore.vcproj:
1442 * WebCore.xcodeproj/project.pbxproj:
1443 * WebCoreSources.bkl:
1444 * inspector/InspectorController.cpp:
1445 (WebCore::drawOutlinedQuad):
1446 (WebCore::drawHighlightForBoxes):
1447 (WebCore::frameToMainFrameOffset):
1448 (WebCore::InspectorController::drawNodeHighlight):
1449 * platform/graphics/AffineTransform.cpp:
1450 (WebCore::AffineTransform::mapQuad):
1451 * platform/graphics/AffineTransform.h:
1452 * platform/graphics/FloatQuad.cpp: Added.
1453 (WebCore::min4):
1454 (WebCore::max4):
1455 (WebCore::FloatQuad::boundingBox):
1456 * platform/graphics/FloatQuad.h: Added.
1457 (WebCore::FloatQuad::FloatQuad):
1458 (WebCore::FloatQuad::p1):
1459 (WebCore::FloatQuad::p2):
1460 (WebCore::FloatQuad::p3):
1461 (WebCore::FloatQuad::p4):
1462 (WebCore::FloatQuad::setP1):
1463 (WebCore::FloatQuad::setP2):
1464 (WebCore::FloatQuad::setP3):
1465 (WebCore::FloatQuad::setP4):
1466 (WebCore::FloatQuad::isEmpty):
1467 (WebCore::FloatQuad::enclosingBoundingBox):
1468 (WebCore::FloatQuad::move):
1469 (WebCore::operator+=):
1470 (WebCore::operator-=):
1471 (WebCore::operator==):
1472 (WebCore::operator!=):
1473 * rendering/RenderBox.cpp:
1474 (WebCore::RenderBox::localToAbsoluteQuad):
1475 * rendering/RenderBox.h:
1476 * rendering/RenderContainer.cpp:
1477 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
1478 * rendering/RenderContainer.h:
1479 * rendering/RenderInline.cpp:
1480 (WebCore::RenderInline::absoluteQuads):
1481 * rendering/RenderInline.h:
1482 * rendering/RenderObject.cpp:
1483 (WebCore::RenderObject::absoluteBoundingBoxRect):
1484 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
1485 (WebCore::RenderObject::absoluteQuads):
1486 (WebCore::RenderObject::localToAbsoluteQuad):
1487 (WebCore::RenderObject::absoluteContentQuad):
1488 * rendering/RenderObject.h:
1489 * rendering/RenderPath.cpp:
1490 (WebCore::RenderPath::absoluteQuads):
1491 * rendering/RenderPath.h:
1492 * rendering/RenderSVGContainer.cpp:
1493 (WebCore::RenderSVGContainer::absoluteQuads):
1494 * rendering/RenderSVGContainer.h:
1495 * rendering/RenderSVGHiddenContainer.cpp:
1496 (WebCore::RenderSVGHiddenContainer::absoluteQuads):
1497 * rendering/RenderSVGHiddenContainer.h:
1498 * rendering/RenderSVGImage.cpp:
1499 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1500 (WebCore::RenderSVGImage::absoluteQuads):
1501 * rendering/RenderSVGImage.h:
1502 * rendering/RenderSVGInlineText.cpp:
1503 (WebCore::RenderSVGInlineText::absoluteQuads):
1504 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
1505 * rendering/RenderSVGInlineText.h:
1506 * rendering/RenderSVGRoot.cpp:
1507 (WebCore::RenderSVGRoot::absoluteQuads):
1508 * rendering/RenderSVGRoot.h:
1509 * rendering/RenderSVGTSpan.cpp:
1510 (WebCore::RenderSVGTSpan::absoluteRects):
1511 (WebCore::RenderSVGTSpan::absoluteQuads):
1512 * rendering/RenderSVGTSpan.h:
1513 * rendering/RenderSVGText.cpp:
1514 (WebCore::RenderSVGText::absoluteRects):
1515 (WebCore::RenderSVGText::absoluteQuads):
1516 * rendering/RenderSVGText.h:
1517 * rendering/RenderSVGTextPath.cpp:
1518 (WebCore::RenderSVGTextPath::absoluteRects):
1519 (WebCore::RenderSVGTextPath::absoluteQuads):
1520 * rendering/RenderSVGTextPath.h:
1521 * rendering/RenderTableCell.cpp:
1522 (WebCore::RenderTableCell::localToAbsolute):
1523 (WebCore::RenderTableCell::localToAbsoluteQuad):
1524 * rendering/RenderTableCell.h:
1525 * rendering/RenderText.cpp:
1526 (WebCore::RenderText::absoluteQuads):
1527 (WebCore::RenderText::collectAbsoluteLineBoxQuads):
1528 * rendering/RenderText.h:
1529 * rendering/RenderView.cpp:
1530 (WebCore::RenderView::localToAbsoluteQuad):
1531 (WebCore::RenderView::absoluteQuads):
1532 * rendering/RenderView.h:
1533
aroben@apple.comdf25daf2008-11-12 21:54:52 +000015342008-11-12 Brent Fulgham <bfulgham@gmail.com>
1535
1536 Fix Bug 22178: Build errors in WebKit Cairo port
1537
1538 <https://bugs.webkit.org/show_bug.cgi?id=22178>
1539
1540 Reviewed by Mark Rowe.
1541
1542 * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
1543 Visual Studio.
1544 (WebCore::Pattern::createPlatformPattern):
1545
aroben@apple.com1939f622008-11-12 21:49:51 +000015462008-11-12 Adam Roben <aroben@apple.com>
1547
1548 Fix a typo in the include path for the Release_Cairo configuration
1549
1550 * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
1551
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +000015522008-11-12 Simon Fraser <simon.fraser@apple.com>
1553
1554 Reviewed by Dave Hyatt
1555
1556 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.coma9261be2008-11-12 20:28:44 +00001557 Patch 2
1558
1559 Code cleanup in RenderBox::computeAbsoluteRepaintRect().
1560
1561 * rendering/RenderBox.cpp:
1562 (WebCore::RenderBox::computeAbsoluteRepaintRect):
1563
15642008-11-12 Simon Fraser <simon.fraser@apple.com>
1565
1566 Reviewed by Dave Hyatt
1567
1568 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +00001569
1570 Fix repainting when the transform on a positioned element changes.
1571 In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
1572 and being in a positioned container after applying the transform to the local
1573 rect.
1574
1575 Tests: fast/repaint/transform-absolute-in-positioned-container.html
1576 fast/repaint/transform-relative-position.html
1577
1578 * rendering/RenderBox.cpp:
1579 (WebCore::RenderBox::computeAbsoluteRepaintRect):
1580
justin.garcia@apple.com7e95c7b2008-11-12 20:08:06 +000015812008-11-12 Justin Garcia <justin.garcia@apple.com>
1582
1583 Reviewed by Beth Dakin.
1584
1585 <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
1586 <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
1587
1588 We don't want to merge into a block if it will mean changing the quote level of content after deleting
1589 selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
1590 that such a selection actually ends at the start of the next paragraph. Instead we want to completely
1591 remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
1592 for indented paragraphs.
1593
1594 * editing/DeleteSelectionCommand.cpp:
1595 (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
1596 try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied
1597 so that we remove evidence of the deleted paragraphs' quote level.
1598 (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also
1599 make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
1600 started on, instead of one higher.
1601 * editing/DeleteSelectionCommand.h:
1602 * editing/htmlediting.cpp:
1603 (WebCore::numEnclosingMailBlockquotes): Added.
1604 * editing/htmlediting.h:
1605
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +000016062008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
1607
1608 Reviewed by Simon Hausmann.
1609
vestbo@webkit.orgb3e75172008-11-12 10:51:27 +00001610 Move _web_encodingForResource from WebKit into WebCore and change return type
1611
1612 This change is needed to implement NSAPI in WebCore for Mac, see:
1613
1614 https://bugs.webkit.org/show_bug.cgi?id=21427
1615
1616 * WebCore.base.exp:
1617 * platform/mac/WebCoreNSStringExtras.h:
1618 * platform/mac/WebCoreNSStringExtras.mm:
1619 (stringEncodingForResource):
1620
16212008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
1622
1623 Reviewed by Simon Hausmann.
1624
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +00001625 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
1626 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
1627
1628 This change is needed to implement NSAPI in WebCore for Mac, see:
1629
1630 https://bugs.webkit.org/show_bug.cgi?id=21427
1631
1632 * WebCore.base.exp:
1633 * platform/mac/WebCoreNSStringExtras.h:
1634 * platform/mac/WebCoreNSStringExtras.mm:
1635 (stringIsCaseInsensitiveEqualToString):
1636
slewis@apple.com417d6872008-11-12 03:30:12 +000016372008-11-11 Stephanie <slewis@apple.com>
1638
1639 Reviewed by Dan Bernstein.
1640
1641 Null check image data before setting it as image source.
1642
1643 Test: fast/images/image-empty-data.html
1644
1645 * platform/graphics/BitmapImage.cpp:
1646 (WebCore::BitmapImage::destroyDecodedData):
1647
adele@apple.com0deea562008-11-12 03:09:38 +000016482008-11-11 Adele Peterson <adele@apple.com>
1649
1650 Reviewed by Tim Hatcher.
1651
1652 Remove ifdef so future OS versions can use the new delegate method.
1653
1654 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
1655
eric@webkit.org683713f2008-11-12 01:53:37 +000016562008-11-11 Eric Seidel <eric@webkit.org>
1657
1658 Reviewed by Antti Koivisto and Sam Weinig.
1659
1660 Clean up HTMLTokenizer a litle
1661 https://bugs.webkit.org/show_bug.cgi?id=22188
1662
1663 Rename pendingScripts to m_pendingScripts
1664 Rename scriptNode to m_scriptNode make the type specific
1665 Rename pendingSrc to m_pendingSrc
1666 Rename currentPrependingSrc to m_currentPrependingSrc
1667 Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
1668 Remove long-since-dead kdDebug and qDebug calls
1669 Rename brokenComments to m_brokenComments
1670 Remove HTMLTokenizer includes and document the rest
1671 Rename src to m_src
1672 Rename parser to m_parser and make it an OwnPtr
1673 Rename inWrite to m_inWrite and jsProxy to scriptController
1674 Rename brokenServer to m_brokenServer
1675 Rename buffer to m_buffer and dest to m_dest
1676 Rename size to m_bufferSize
1677 Rename attrName to m_attrName
1678 Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
1679 Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
1680 Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
1681 Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
1682 Rename flat to selfClosingTag
1683 Rename currToken to m_currentToken
1684
1685 * css/CSSParser.cpp:
1686 * dom/XMLTokenizer.cpp:
1687 * dom/XMLTokenizerLibxml2.cpp:
1688 * html/HTMLDocument.cpp:
1689 * html/HTMLElement.cpp:
1690 * html/HTMLFormControlElement.cpp:
1691 * html/HTMLParser.h:
1692 * html/HTMLTokenizer.cpp:
1693 (WebCore::Token::addAttribute):
1694 (WebCore::HTMLTokenizer::HTMLTokenizer):
1695 (WebCore::HTMLTokenizer::reset):
1696 (WebCore::HTMLTokenizer::begin):
1697 (WebCore::HTMLTokenizer::processListing):
1698 (WebCore::HTMLTokenizer::parseSpecial):
1699 (WebCore::HTMLTokenizer::scriptHandler):
1700 (WebCore::HTMLTokenizer::scriptExecution):
1701 (WebCore::HTMLTokenizer::parseComment):
1702 (WebCore::HTMLTokenizer::parseServer):
1703 (WebCore::HTMLTokenizer::parseProcessingInstruction):
1704 (WebCore::HTMLTokenizer::parseText):
1705 (WebCore::HTMLTokenizer::parseEntity):
1706 (WebCore::HTMLTokenizer::parseTag):
1707 (WebCore::HTMLTokenizer::write):
1708 (WebCore::HTMLTokenizer::processingData):
1709 (WebCore::HTMLTokenizer::end):
1710 (WebCore::HTMLTokenizer::finish):
1711 (WebCore::HTMLTokenizer::processToken):
1712 (WebCore::HTMLTokenizer::processDoctypeToken):
1713 (WebCore::HTMLTokenizer::~HTMLTokenizer):
1714 (WebCore::HTMLTokenizer::enlargeBuffer):
1715 (WebCore::HTMLTokenizer::enlargeScriptBuffer):
1716 (WebCore::HTMLTokenizer::notifyFinished):
1717 (WebCore::HTMLTokenizer::setSrc):
1718 * html/HTMLTokenizer.h:
1719 (WebCore::Token::Token):
1720 (WebCore::Token::reset):
1721 (WebCore::HTMLTokenizer::processingContentWrittenByScript):
1722 (WebCore::HTMLTokenizer::htmlParser):
1723 (WebCore::HTMLTokenizer::checkBuffer):
1724 (WebCore::HTMLTokenizer::checkScriptBuffer):
1725 * html/HTMLViewSourceDocument.h:
1726 * rendering/RenderBlock.cpp:
1727 (WebCore::RenderBlock::leftRelOffset):
1728 (WebCore::RenderBlock::rightRelOffset):
1729 (WebCore::RenderBlock::lineWidth):
1730 * xml/XSLTProcessor.cpp:
1731
weinig@apple.comc60b5af2008-11-12 00:28:57 +000017322008-11-11 Sam Weinig <sam@webkit.org>
1733
1734 Reviewed by Dan Bernstein.
1735
1736 Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
1737 Track CachedScript decoded data
1738
1739 We now track the decoded size of CachedScripts in the Cache allowing
1740 them to accounted for when deciding when to evict data. The decoded
1741 data itself can be evicted when Cache pressure gets high enough through
1742 CachedScript::destroyDecodedData.
1743
1744 * loader/CachedResource.h:
1745 (WebCore::CachedResource::allClientsRemoved):
1746 (WebCore::CachedResource::destroyDecodedData):
1747 * loader/CachedScript.cpp:
1748 (WebCore::CachedScript::script):
1749 (WebCore::CachedScript::data):
1750 (WebCore::CachedScript::destroyDecodedData):
1751 * loader/CachedScript.h:
1752
cwzwarich@webkit.org74fd1332008-11-11 23:39:15 +000017532008-11-11 Cameron Zwarich <zwarich@apple.com>
1754
1755 Reviewed by Geoff Garen.
1756
1757 Remove pointless dependencies on the now-deleted kjs directory and
1758 mentions of it in comments that are no longer relevant.
1759
1760 * WebCore.pro:
1761 * webcore-base.bkl:
1762
mitz@apple.com44d57d42008-11-11 22:45:16 +000017632008-11-11 Dan Bernstein <mitz@apple.com>
1764
1765 Reviewed by Adam Roben.
1766
1767 WebCore part of adding a master volume control for media elements in a WebView
1768
1769 * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
1770 * dom/Document.cpp:
1771 (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
1772 when the media volume is changed.
1773 (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
1774 elements to register for a callback when the media volume is changed.
1775 (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
1776 elements to unregister for the callback.
1777 * dom/Document.h:
1778 * dom/Element.h:
1779 (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
1780 * html/HTMLMediaElement.cpp:
1781 (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
1782 registerForMediaVolumeCallbacks().
1783 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
1784 unregisterForMediaVolumeCallbacks().
1785 (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
1786 element's intrinsic volume by the master volume from the page.
1787 (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
1788 updateVolume().
1789 * html/HTMLMediaElement.h:
1790 * page/Page.cpp:
1791 (WebCore::Page::Page): Initialize m_mediaVolume to 1.
1792 (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
1793 every document in the page when the master volume changes.
1794 * page/Page.h:
1795 (WebCore::Page::mediaVolume): Added this getter.
1796
hyatt@apple.com312f7072008-11-11 20:43:57 +000017972008-11-11 David Hyatt <hyatt@apple.com>
1798
1799 https://bugs.webkit.org/show_bug.cgi?id=22182
1800
1801 Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
1802 is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
1803 errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
1804
1805 Reviewed by Adele
1806
1807 * platform/Scrollbar.cpp:
1808 (WebCore::Scrollbar::mouseDown):
1809
bdakin@apple.comc636ec32008-11-11 19:58:31 +000018102008-11-11 Beth Dakin <bdakin@apple.com>
1811
1812 Reviewed by Darin Adler.
1813
1814 Fix for <rdar://problem/5089327> Too much indentation when pasting
1815 quoted paragraphs
1816
1817 This patch re-addresses pasting blockquotes into blockquotes. It
1818 backs out most of revision 38273. 38273 fixed the bug by inserting
1819 the pasted content as a sibling blockquote node to the pre-existing
1820 blockquote node. The problem with that is that by default,
1821 blockquotes have a giant margin, so visually, this can be weird.
1822 This patch instead inserts the pasted content as siblings of the
1823 the content already inside the outer blockquote, and then removes
1824 the blockquote node from the pasted content itself, so that it
1825 doesn't nest itself into the outer blockquote.
1826 * editing/ReplaceSelectionCommand.cpp:
1827 (WebCore::ReplaceSelectionCommand::doApply):
1828
1829 Move contains() from Element to Node since there is nothing
1830 Element-specific about it.
1831 * dom/Element.cpp:
1832 * dom/Element.h:
1833 * dom/Node.cpp:
1834 (WebCore::Node::contains):
1835 * dom/Node.h:
1836
hyatt@apple.com4d742b72008-11-11 19:50:18 +000018372008-11-11 David Hyatt <hyatt@apple.com>
1838
1839 https://bugs.webkit.org/show_bug.cgi?id=17997
1840
1841 Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
1842 is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
1843 is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
1844
1845 Reviewed by John Sullivan
1846
1847 * platform/graphics/cg/ImageCG.cpp:
1848 (WebCore::Image::drawPattern):
1849
hyatt@apple.com16a00b92008-11-11 19:18:26 +000018502008-11-10 David Hyatt <hyatt@apple.com>
1851
1852 Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
1853 when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
1854 how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
1855
1856 Reviewed by Adam Roben
1857
1858 * rendering/RenderThemeMac.mm:
1859 (WebCore::RenderThemeMac::isControlStyled):
1860
darin@apple.com160b6112008-11-11 17:59:01 +000018612008-11-11 Darin Adler <darin@apple.com>
1862
1863 Reviewed by Dan Bernstein.
1864
1865 - https://bugs.webkit.org/show_bug.cgi?id=22160
1866 speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
1867 (previousLinePosition, too) uses a nil node
1868
1869 * editing/visible_units.cpp:
1870 (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
1871 to check editingIgnoresContent. It makes sense to use the associated DOM node for
1872 this, even in cases of anonymous content, and it avoids the case where element() can
1873 be 0.
1874 (WebCore::previousLinePosition): Ditto.
1875
krit@webkit.org02511ad2008-11-11 17:40:54 +000018762008-11-11 Dirk Schulze <vbs85@gmx.de>
1877
1878 Reviewed by Darin Adler.
1879
1880 Removed default: in applySpreadMethod. This causes the problems
1881 in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
1882 or CSS.
1883
1884 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1885 (WebCore::applySpreadMethod):
1886
vestbo@webkit.orgc0e688b2008-11-11 13:32:01 +000018872008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
1888
1889 Reviewed by Tor Arne Vestbø.
1890
1891 Fix crash when rendering the file chooser.
1892 Also proper implementation for multi-selected files.
1893
1894 * platform/qt/FileChooserQt.cpp:
1895 (WebCore::FileChooser::basenameForWidth):
1896
krit@webkit.orgbf7eb1c2008-11-11 11:05:49 +000018972008-11-11 Dirk Schulze <vbs85@gmx.de>
1898
1899 Reviewed by Oliver Hunt.
1900
1901 PatternCairo needs to invert the pattern matrix because
1902 of transformation from user space to pattern space.
1903 Give a identity matrix to pattern for Qt and Cairo. Because the
1904 context is transformed already.
1905
1906 [CAIRO][QT] Canvas transformations applied twice to Patterns
1907 https://bugs.webkit.org/show_bug.cgi?id=21555
1908
1909 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1910 (WebCore::GraphicsContext::fillPath):
1911 (WebCore::GraphicsContext::strokePath):
1912 * platform/graphics/cairo/PatternCairo.cpp:
1913 (WebCore::Pattern::createPlatformPattern):
1914 * platform/graphics/qt/GraphicsContextQt.cpp:
1915 (WebCore::GraphicsContext::strokePath):
1916 (WebCore::GraphicsContext::fillRect):
1917
slewis@apple.com2583a3f2008-11-11 07:06:41 +000019182008-11-10 Stephanie Lewis <slewis@apple.com>
1919
1920 Reviewed by Dan Bernstein.
1921
1922 Clear the image source cache even if we haven't decoded any of the image data.
1923 We use the image source cache when calculating layout.
1924
1925 * loader/Cache.cpp:
1926 (WebCore::Cache::pruneDeadResources):
1927 * platform/graphics/BitmapImage.cpp:
1928 (WebCore::BitmapImage::destroyDecodedData):
1929
aroben@apple.com4488a6a2008-11-10 22:12:57 +000019302008-11-10 Adam Roben <aroben@apple.com>
1931
1932 Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
1933 loading microsoftpdc.com
1934
1935 <https://bugs.webkit.org/show_bug.cgi?id=22161>
1936
1937 Reviewed by Dan Bernstein.
1938
1939 Test: fast/css/outline-invert-assertion.html
1940
1941 * rendering/RenderThemeWin.cpp:
1942 (WebCore::RenderThemeWin::systemColor): If we can't determine a good
1943 Win32 system color to use, defer to RenderTheme instead of asserting.
1944 This matches what RenderThemeMac does.
1945
bdakin@apple.com6eb86992008-11-10 21:51:22 +000019462008-11-10 Justin Garcia <justin.garcia@apple.com>
1947
1948 Reviewed by Beth Dakin.
1949
1950 <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
1951 into quoted text yields double-quoting
1952
1953 Don't nest inserted content in Mail blockquotes. Perform a
1954 BreakBlockquoteCommand if we're in
1955 one and insert the incoming fragment between the split blockquotes.
1956
1957 * editing/ReplaceSelectionCommand.cpp:
1958 (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
1959 source and to -> destination.
1960 (WebCore::ReplaceSelectionCommand::doApply):
1961
aroben@apple.com1c0d03e2008-11-10 18:38:56 +000019622008-11-10 Adam Roben <aroben@apple.com>
1963
1964 Fix Bug 22158: Would like to turn on WebCore logging channels via an
1965 environment variable
1966
1967 <https://bugs.webkit.org/show_bug.cgi?id=22158>
1968
1969 Logging channels can now be enabled by setting the WebCoreLogLevel
1970 environment variable to a hexadecimal number.
1971
1972 Reviewed by Anders Carlsson.
1973
1974 * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
1975 * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
1976 (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
1977 environment variable, parse its value as a hexadecimal number, and
1978 turn the channel on/off based on whether the mask bit is set.
1979 (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
1980 logging channel in turn.
1981
darin@apple.comd46ba6d2008-11-10 17:03:36 +000019822008-11-10 Darin Adler <darin@apple.com>
1983
1984 Reviewed by Adam Roben.
1985
darin@apple.com8bf1fe02008-11-10 17:06:04 +00001986 - fix https://bugs.webkit.org/show_bug.cgi?id=22103
1987 Changing fonts in preferences does not immediately update WebViews
1988
1989 This broke when the meaning of FrameView::invalidate changed.
1990 I changed setNeedsReapplyStyles to no longer depend on invalidate.
1991
1992 * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
1993 Removed the part of this function that duplicated what's already in
1994 FrameView::needsLayout, since the copy here left out a few key things.
1995 For example, it didn't handle the fact that "needs reapply styles"
1996 counts as needing layout.
1997
1998 * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
1999 FrameView::invalidate before. There were two things wrong with that.
2000 1) It requested that the entire view repaint even if the style change
2001 didn't necessitate that. 2) FrameView::invalidate no longer causes any
2002 repainting at all in certain cases, because of Hyatt's changes to how
2003 widgets and the host window are involved in the repainting process.
2004 So call FrameView::scheduleRelayout instead, which is more precisely
2005 what we want and need here.
2006
2007 * page/FrameView.cpp:
2008 (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
2009 so that Document::shouldScheduleLayout doesn't have to replicate the
2010 logic that's in needsLayout and can instead rely on the fact that it
2011 was already called.
2012 (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
2013 in this function.
2014
20152008-11-10 Darin Adler <darin@apple.com>
2016
2017 Reviewed by Adam Roben.
2018
darin@apple.comd46ba6d2008-11-10 17:03:36 +00002019 - speculative fix for <rdar://problem/5557243> crashes in Safari at
2020 WebCore::HTMLSelectElement::updateListBoxSelection + 280
2021
2022 * html/HTMLSelectElement.cpp:
2023 (WebCore::HTMLSelectElement::updateListBoxSelection):
2024 Check index against size of vector before indexing into the vector.
2025
hausmann@webkit.org55cf27a32008-11-10 11:45:48 +000020262008-11-10 Tom Cooksey <thomas.cooksey@trolltech.com>
2027
2028 Reviewed by Tor Arne Vestbø.
2029
2030 Fix QtWebkit build failure on arm.
2031
2032 pen.widthF() is a qreal, which means it's a float on arm.
2033
2034 * platform/graphics/qt/GraphicsContextQt.cpp:
2035 (WebCore::GraphicsContext::setLineDash):
2036
hausmann@webkit.orge6d9d172008-11-10 11:45:21 +000020372008-11-10 Morten Sørvig <msorvig@trolltech.com>
2038
2039 Reviewed by Simon Hausmann.
2040
2041 Improve mouse wheel scolling on Qt/Cocoa.
2042 Cocoa differs from Carbon (and other platforms I think) in that the
2043 mouse wheel events we get have a much higher acceleration factor.
2044
2045 This submit switches over to scroll-per-pixel from scroll-per-line
2046 for most of our scrolling views. This matches the native views
2047 and works well with the increased acceleration.
2048
2049 * platform/qt/WheelEventQt.cpp:
2050
cwzwarich@webkit.org40b4b842008-11-10 01:19:13 +000020512008-11-09 Cameron Zwarich <zwarich@apple.com>
2052
2053 Reviewed by Darin Adler.
2054
2055 Bug 19541: Null pointer in showModalDialog()
2056 <https://bugs.webkit.org/show_bug.cgi?id=19541>
2057
2058 Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
2059 and JSDOMWindowBase::canShowModalDialogNow()C
2060
2061 * bindings/js/JSDOMWindowBase.cpp:
2062 (WebCore::canShowModalDialog):
2063 (WebCore::canShowModalDialogNow):
2064
darin@apple.com4086a5b2008-11-10 00:22:18 +000020652008-11-09 Darin Adler <darin@apple.com>
2066
2067 - try to fix Windows build
2068
2069 * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
2070 about needed a separate definition for static const integer data members.
2071 Until I get to the bottom of this, put the definitions inside an ifdef.
2072
ddkilzer@apple.com8d878632008-11-09 19:50:37 +000020732008-11-09 David Kilzer <ddkilzer@apple.com>
2074
2075 BUILD FIX: Qt build broke after r38235.
2076
2077 Added HAVE(ACCESSIBILITY) header guards to platform implementation
2078 source files.
2079
2080 * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
2081 guards.
2082 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
2083 * page/qt/AccessibilityObjectQt.cpp: Ditto.
2084 * page/win/AccessibilityObjectWin.cpp: Ditto.
2085 * page/wx/AccessibilityObjectWx.cpp: Ditto.
2086
ap@webkit.org4f28dd52008-11-09 19:08:07 +000020872008-11-09 Alexey Proskuryakov <ap@webkit.org>
2088
2089 Reviewed by Darin Adler.
2090
2091 https://bugs.webkit.org/show_bug.cgi?id=22104
2092 Javascript URL percent encoding/decoding broken by some characters
2093
2094 Test: fast/loader/javascript-url-encoding-2.html
2095
2096 * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
2097
darin@apple.comaa0c0fd2008-11-09 18:20:53 +000020982008-11-09 Holger Hans Peter Freyther <zecke@selfish.org>
2099
2100 Reviewed and tweaked by Darin Adler.
2101
2102 * platform/graphics/Color.cpp: Added definitions for the static data members
2103 in this class. Static data members need a definition, even when they are the
2104 simple integer constant kind that can be initialized in the header.
2105
antti@apple.com58f7c692008-11-09 04:11:26 +000021062008-11-08 Antti Koivisto <antti@apple.com>
2107
2108 Reviewed by Sam Weinig.
2109
2110 Fix https://bugs.webkit.org/show_bug.cgi?id=22141
2111 REGRESSION: Safari error page is not fully styled when loaded from cache
2112
2113 Reset text decoder on flush so it does not pass through the BOM when it is reused.
2114
2115 Test: fast/encoding/css-cached-bom.html
2116
2117 * loader/TextResourceDecoder.cpp:
2118 (WebCore::TextResourceDecoder::flush):
2119
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +000021202008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org2cba33b2008-11-09 03:14:07 +00002121
2122 Reviewed by Mark Rowe.
2123
2124 Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
2125 it was causing these errors to end up in the page's text representation.
2126
2127 * platform/network/curl/ResourceHandleManager.cpp:
2128 (WebCore::ResourceHandleManager::downloadTimerCallback):
2129
21302008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +00002131
2132 wx build fixes after addition of JSCore parser and bycompiler dirs.
2133
2134 * webcore-base.bkl:
2135 * webcore-wx.bkl:
2136
simon.fraser@apple.com1839efc2008-11-09 01:09:14 +000021372008-11-08 Simon Fraser <simon.fraser@apple.com>
2138
2139 Reviewed by Dan Bernstein
2140
2141 https://bugs.webkit.org/show_bug.cgi?id=21906
2142
2143 Override addFocusRingRects() in RenderTextControl to avoid
2144 the RenderFlow behavior of recursing on descendent renderers.
2145 RenderTextControl should only ever need a simple focus rect.
2146
2147 This fixes focus ring issues with transforms on text controls.
2148
2149 Test: fast/transforms/transformed-focused-text-input.html
2150
2151 * rendering/RenderTextControl.cpp:
2152 (WebCore::RenderTextControl::addFocusRingRects):
2153 * rendering/RenderTextControl.h:
2154
timothy@apple.comcded56b2008-11-09 00:33:06 +000021552008-11-08 Dimitri Dupuis-Latour <dupuislatour@apple.com>
2156
2157 Make sure the icon thumbnail width/height is at least 1px in
2158 the Web Inspector's resource panel.
2159
2160 <rdar://problem/5988888>
2161
2162 Reviewed by Tim Hatcher.
2163
2164 * inspector/front-end/inspector.css:
2165
ddkilzer@apple.come17e0dc2008-11-08 19:42:33 +000021662008-11-08 David Kilzer <ddkilzer@apple.com>
2167
2168 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
2169
2170 <https://bugs.webkit.org/show_bug.cgi?id=22137>
2171
2172 Reviewed by Darin Adler.
2173
2174 * page/AccessibilityObject.h:
2175 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2176 Provide a default implementation when HAVE(ACCESSIBILITY) is false.
2177 * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
2178 * page/mac/AccessibilityObjectMac.mm: Ditto.
2179 * page/mac/AccessibilityObjectWrapper.mm: Ditto.
2180
mitz@apple.comc278ea22008-11-08 19:12:23 +000021812008-11-08 Dan Bernstein <mitz@apple.com>
2182
2183 Reviewed by Darin Adler.
2184
2185 - WebCore part of adding WebPreferences for controlling databases and local storage
2186
2187 * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
2188 Settings::setLocalStorageEnabled().
2189 * page/DOMWindow.cpp:
2190 (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
2191 is disabled in settings.
2192 (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
2193 are disabled in settings.
2194 * page/Settings.cpp:
2195 (WebCore::Settings::Settings): Initialize m_databasesEnabled and
2196 m_localStorageEnabled.
2197 (WebCore::Settings::setDatabasesEnabled): Added.
2198 (WebCore::Settings::setLocalStorageEnabled): Added.
2199 * page/Settings.h:
2200 (WebCore::Settings::databasesEnabled): Added.
2201 (WebCore::Settings::localStorageEnabled): Added.
2202
alp@webkit.org27e52902008-11-07 22:29:56 +000022032008-11-07 Alp Toker <alp@nuanti.com>
2204
2205 Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
2206 now require that only their top-level header file is included.
2207
2208 Patch tested and still builds fine with older GTK+ versions (back to
2209 2.8).
2210
2211 Future WebKit GTK+ contributions are required to adhere to this
2212 policy.
2213
2214 * platform/gtk/FileSystemGtk.cpp:
2215 * platform/gtk/KeyEventGtk.cpp:
2216 * platform/gtk/MouseEventGtk.cpp:
2217 * platform/gtk/WheelEventGtk.cpp:
2218 * platform/gtk/gtkdrawing.h:
2219 * plugins/gtk/gtk2xtbin.c:
2220 * plugins/gtk/gtk2xtbin.h:
2221
andersca@apple.comafcd77f2008-11-07 21:34:02 +000022222008-11-07 Anders Carlsson <andersca@apple.com>
2223
2224 Reviewed by Kevin Decker
2225
2226 Explicitly initialize the NPDrawingModelCoreAnimation.
2227
2228 * bridge/npapi.h:
2229
alp@webkit.org96f2d622008-11-07 19:35:47 +000022302008-11-07 Alp Toker <alp@nuanti.com>
2231
2232 autotools fix. Always use the configured perl binary (which may be
2233 different to the one in $PATH) when generating sources.
2234
2235 * GNUmakefile.am:
2236
simon.fraser@apple.comfeaef2e2008-11-07 19:17:08 +000022372008-11-07 Simon Fraser <simon.fraser@apple.com>
2238
2239 Reviewed by Dan Bernstein
2240
2241 https://bugs.webkit.org/show_bug.cgi?id=22122
2242
2243 Use a stack-based object to simplify the pushLayoutState/popLayoutState
2244 code. LayoutStateMaintainer either pushes in the constructor, or allows
2245 an explicit push() later. Both cases require an explicit pop().
2246
2247 * rendering/RenderBlock.cpp:
2248 (WebCore::RenderBlock::layoutBlock):
2249 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2250 * rendering/RenderContainer.cpp:
2251 (WebCore::RenderContainer::layout):
2252 * rendering/RenderFlexibleBox.cpp:
2253 (WebCore::RenderFlexibleBox::layoutBlock):
2254 * rendering/RenderTable.cpp:
2255 (WebCore::RenderTable::layout):
2256 * rendering/RenderTableRow.cpp:
2257 (WebCore::RenderTableRow::layout):
2258 * rendering/RenderTableSection.cpp:
2259 (WebCore::RenderTableSection::setCellWidths):
2260 (WebCore::RenderTableSection::calcRowHeight):
2261 (WebCore::RenderTableSection::layoutRows):
2262 * rendering/RenderView.h:
2263 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2264 (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
2265 (WebCore::LayoutStateMaintainer::pop):
2266 (WebCore::LayoutStateMaintainer::push):
2267 (WebCore::LayoutStateMaintainer::didPush):
2268
vestbo@webkit.orgf579de02008-11-07 15:01:55 +000022692008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
2270
vestbo@webkit.org58027742008-11-07 15:39:56 +00002271 Fix the QtWebKit build on Mac
2272
2273 * platform/qt/TemporaryLinkStubs.cpp:
2274 (PluginView::invalidateRect):
2275
22762008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
2277
vestbo@webkit.orgf579de02008-11-07 15:01:55 +00002278 Rubber-stamped by Simon Hausmann.
2279
2280 Don't allow Phonon's invisible video widget to keep the app running
2281
2282 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2283 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2284
hausmann@webkit.org58f04f52008-11-07 11:32:04 +000022852008-11-07 Henrik Hartz <henrik.hartz@nokia.com>
2286
2287 Reviewed by Simon Hausmann.
2288
2289 Fix valgrind warning about uninitialized lastStop variable.
2290
2291 * platform/graphics/qt/GradientQt.cpp:
2292 (WebCore::Gradient::platformGradient):
2293
ap@webkit.org1faed012008-11-07 09:22:36 +000022942008-11-07 Alexey Proskuryakov <ap@webkit.org>
2295
2296 Reviewed by Maciej Stachowiak.
2297
2298 Fix layout test brokenness following r38211.
2299
2300 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
2301 Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
2302 matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
2303 inadvertently. This may or may not be a good thing, but it's certainly not something that
2304 should change by accident.
2305
antti@apple.comda9077d2008-11-07 07:22:43 +000023062008-11-06 Antti Koivisto <antti@apple.com>
2307
antti@apple.comafa13dc2008-11-07 07:26:09 +00002308 Eh, this trivial last minute change was wrong.
2309
2310 * loader/CachedCSSStyleSheet.cpp:
2311 (WebCore::CachedCSSStyleSheet::sheetText):
2312
23132008-11-06 Antti Koivisto <antti@apple.com>
2314
antti@apple.comda9077d2008-11-07 07:22:43 +00002315 Reviewed by Dan Bernstein.
2316
2317 https://bugs.webkit.org/show_bug.cgi?id=22093
2318
2319 Delaying the text decoding caused regression since the decoding
2320 also determines the encoding in case of @charset rule.
2321
2322 Decode immediately in data() and keep the decoded string around
2323 during the checkNotify().
2324
2325 * loader/CachedCSSStyleSheet.cpp:
2326 (WebCore::CachedCSSStyleSheet::sheetText):
2327 (WebCore::CachedCSSStyleSheet::data):
2328 * loader/CachedCSSStyleSheet.h:
2329
ap@webkit.orgd9634612008-11-07 05:52:46 +000023302008-11-06 Alexey Proskuryakov <ap@webkit.org>
2331
2332 Reviewed by Darin Adler.
2333
ap@webkit.org6169aa22008-11-07 05:54:49 +00002334 https://bugs.webkit.org/show_bug.cgi?id=22097
2335 Expose MessageEvent constructor on WorkerContext
2336
2337 * bindings/js/JSWorkerContext.cpp:
2338 (WebCore::jsWorkerContextMessageEvent):
2339 (WebCore::setJSWorkerContextMessageEvent):
2340
23412008-11-06 Alexey Proskuryakov <ap@webkit.org>
2342
2343 Reviewed by Darin Adler.
2344
ap@webkit.orgd9634612008-11-07 05:52:46 +00002345 https://bugs.webkit.org/show_bug.cgi?id=21107
2346 <rdar://problem/6264219> New access key combination conflicts with VoiceOver
2347
2348 * page/EventHandler.h:
2349 * page/gtk/EventHandlerGtk.cpp:
2350 (WebCore::EventHandler::accessKeyModifiers):
2351 * page/qt/EventHandlerQt.cpp:
2352 (WebCore::EventHandler::accessKeyModifiers):
2353 * page/win/EventHandlerWin.cpp:
2354 (WebCore::EventHandler::accessKeyModifiers):
2355 * page/wx/EventHandlerWx.cpp:
2356 (WebCore::EventHandler::accessKeyModifiers):
2357 Access access key modifiers via a function, not a static variable.
2358
2359 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
2360 Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
2361 less troublesome than one with VO keys.
2362
2363 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
2364 Also fix an access key matching bug introduced in r32424 - Any superset of specified
2365 modifier set invoked access keys. We can use simple equality comparison instead because
2366 CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
2367
andersca@apple.com1f7f4ee2008-11-07 04:04:52 +000023682008-11-06 Anders Carlsson <andersca@apple.com>
2369
2370 Reviewed by Kevin Decker.
2371
2372 https://bugs.webkit.org/show_bug.cgi?id=22115
2373 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
2374
2375 Export _NPN_HasMethod and _NPN_HasProperty.
2376
2377 * WebCore.NPAPI.exp:
2378
simon.fraser@apple.coma80e3172008-11-07 01:11:13 +000023792008-11-06 Simon Fraser <simon.fraser@apple.com>
2380
2381 Reviewed by Antti Koivisto
2382
2383 https://bugs.webkit.org/show_bug.cgi?id=15678
2384
2385 Fix transformed menu selects to show the popup in the correct
2386 location.
2387
2388 * rendering/RenderMenuList.cpp:
2389 (WebCore::RenderMenuList::showPopup):
2390
ddkilzer@apple.com58912bd2008-11-07 00:55:52 +000023912008-11-06 David Kilzer <ddkilzer@apple.com>
2392
2393 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
2394
2395 Apparently older versions of gcc have issues with this patch.
2396 Backing out a second time until the issues are resolved.
2397
jchaffraix@webkit.org95833722008-11-07 00:47:12 +000023982008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
2399
2400 Reviewed by Maciej Stachowiak.
2401
2402 Bug 21106: .in format discussed changes
2403 https://bugs.webkit.org/show_bug.cgi?id=21106
2404
2405 Include the namespace into the interfaceName.
2406
2407 * dom/make_names.pl: Do not append the namespace when
2408 using the interfaceName.
2409 * html/HTMLTagNames.in: Added namespace prefix for custom
2410 interfaceName.
2411 * svg/svgtags.in: Ditto.
2412
cwzwarich@webkit.org3ff0e6a2008-11-07 00:18:07 +000024132008-11-06 Cameron Zwarich <zwarich@apple.com>
2414
2415 Reviewed by Geoff Garen.
2416
2417 Move the remaining files in the kjs subdirectory of JavaScriptCore to
2418 a new parser subdirectory, and remove the kjs subdirectory entirely.
2419
2420 * ForwardingHeaders/kjs: Removed.
2421 * ForwardingHeaders/kjs/Parser.h: Removed.
2422 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
2423 * ForwardingHeaders/kjs/SourceCode.h: Removed.
2424 * ForwardingHeaders/kjs/SourceProvider.h: Removed.
2425 * ForwardingHeaders/parser: Added.
2426 * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
2427 * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
2428 * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
2429 * WebCore.pro:
2430 * WebCore.vcproj/WebCore.vcproj:
2431 * bindings/js/StringSourceProvider.h:
2432 * bindings/js/WorkerScriptController.cpp:
2433 * bridge/NP_jsobject.cpp:
2434 * bridge/jni/jni_jsobject.mm:
2435 * bridge/testbindings.pro:
2436 * inspector/JavaScriptDebugServer.cpp:
2437
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +000024382008-11-06 David Kilzer <ddkilzer@apple.com>
2439
ddkilzer@apple.coma8062f52008-11-06 23:46:40 +00002440 BUILD WAS NOT BROKEN: Rolling r38189 back in.
2441
2442 Please perform a clean build if you see crashes.
2443
24442008-11-06 David Kilzer <ddkilzer@apple.com>
2445
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +00002446 BUILD FIX: Backed out r38189 since it apparently broke the world.
2447
cfleizach@apple.com5b7e9982008-11-06 22:16:27 +000024482008-11-06 Chris Fleizach <cfleizach@apple.com>
2449
2450 Reviewed by Beth Dakin.
2451
2452 Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
2453 https://bugs.webkit.org/show_bug.cgi?id=22112
2454
2455 Test: accessibility/content-editable.html
2456
2457 * page/AccessibilityRenderObject.cpp:
2458 (WebCore::AccessibilityRenderObject::isReadOnly):
2459
weinig@apple.com5955ba22008-11-06 21:55:29 +000024602008-11-06 Sam Weinig <sam@webkit.org>
2461
2462 Reviewed by Alice Liu.
2463
2464 Fix failed assert at launch caused by unintialized data member on the mac.
2465
2466 * platform/network/mac/NetworkStateNotifierMac.cpp:
2467 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2468
sfalken@apple.com2c786e02008-11-06 21:47:58 +000024692008-11-06 Steve Falkenburg <sfalken@apple.com>
2470
2471 Fix failed assert at launch caused by unintialized data member.
2472
2473 Reviewed by Maciej Stachowiak.
2474
2475 * platform/network/win/NetworkStateNotifierWin.cpp:
2476 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2477
simon.fraser@apple.com52b2c502008-11-06 20:55:31 +000024782008-11-06 Simon Fraser <simon.fraser@apple.com>
2479
2480 Reviewed by Antti Koivisto
2481
2482 https://bugs.webkit.org/show_bug.cgi?id=22109
2483 Make <input type="range"> work correctly with transforms
2484
2485 Test: fast/forms/slider-transformed.html
2486
2487 * html/HTMLInputElement.cpp:
2488 (WebCore::HTMLInputElement::defaultEventHandler):
2489 Compute a correct local point when the event is retargeted
2490 * rendering/RenderSlider.cpp:
2491 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2492 Compute m_initialClickPoint in slider-local coords, so that
2493 deltas are computed correctly with transforms
2494 (WebCore::RenderSlider::mouseEventIsInThumb):
2495 Rather than computing an absolute bounds for the thumb,
2496 convert the point to local coords and compare it with the border box.
2497
ddkilzer@apple.com6f3816c2008-11-06 19:28:45 +000024982008-11-06 Greg Bolsinga <bolsinga@apple.com>
2499
2500 Reviewed by Darin Adler.
2501
2502 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
2503 https://bugs.webkit.org/show_bug.cgi?id=21810
2504
2505 * bindings/js/GCController.cpp:
2506 (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
2507 * bindings/js/JSDOMBinding.cpp:
2508 (WebCore::wrapperSet): Ditto
2509 * bindings/js/JSInspectedObjectWrapper.cpp:
2510 (WebCore::wrappers): Ditto
2511 * bindings/js/JSInspectorCallbackWrapper.cpp:
2512 (WebCore::wrappers): Ditto
2513 * bridge/runtime_root.cpp:
2514 (JSC::Bindings::rootObjectSet): Ditto
2515 * css/CSSMutableStyleDeclaration.cpp:
2516 (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
2517 * css/CSSPrimitiveValue.cpp:
2518 (WebCore::CSSPrimitiveValue::cssText): Ditto
2519 * css/CSSSelector.cpp:
2520 (WebCore::CSSSelector::extractPseudoType): Ditto
2521 * css/CSSStyleSelector.cpp:
2522 (WebCore::screenEval): Ditto
2523 (WebCore::printEval): Ditto
2524 * dom/DOMImplementation.cpp:
2525 (WebCore::isSVG10Feature): Ditto
2526 (WebCore::isSVG11Feature): Ditto
2527 (WebCore::DOMImplementation::isXMLMIMEType): Ditto
2528 * dom/Document.cpp:
2529 (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
2530 * dom/ScriptElement.cpp:
2531 (WebCore::isSupportedJavaScriptLanguage): Ditto
2532 * editing/ApplyStyleCommand.cpp:
2533 (WebCore::styleSpanClassString): Ditto
2534 * editing/HTMLInterchange.cpp:
2535 (WebCore::): Ditto
2536 * editing/IndentOutdentCommand.cpp:
2537 (WebCore::indentBlockquoteString): Ditto
2538 * editing/ReplaceSelectionCommand.cpp:
2539 (WebCore::isInterchangeNewlineNode): Ditto
2540 (WebCore::isInterchangeConvertedSpaceSpan): Ditto
2541 * editing/htmlediting.cpp:
2542 (WebCore::stringWithRebalancedWhitespace): Ditto
2543 (WebCore::nonBreakingSpaceString): Ditto
2544 * editing/markup.cpp:
2545 (WebCore::appendAttributeValue): Ditto
2546 (WebCore::appendEscapedContent): Ditto
2547 (WebCore::shouldAddNamespaceAttr): Ditto
2548 (WebCore::appendNamespace): Ditto
2549 (WebCore::appendStartMarkup): Ditto
2550 (WebCore::createMarkup): Ditto
2551 * html/HTMLButtonElement.cpp:
2552 (WebCore::HTMLButtonElement::type): Ditto
2553 * html/HTMLElement.cpp:
2554 (WebCore::HTMLElement::isRecognizedTagName): Ditto
2555 (WebCore::inlineTagList): Ditto
2556 (WebCore::blockTagList): Ditto
2557 * html/HTMLFieldSetElement.cpp:
2558 (WebCore::HTMLFieldSetElement::type): Ditto
2559 * html/HTMLInputElement.cpp:
2560 (WebCore::HTMLInputElement::type): Ditto
2561 * html/HTMLKeygenElement.cpp:
2562 (WebCore::HTMLKeygenElement::type): Ditto
2563 * html/HTMLLegendElement.cpp:
2564 (WebCore::HTMLLegendElement::type): Ditto
2565 * html/HTMLOptGroupElement.cpp:
2566 (WebCore::HTMLOptGroupElement::type): Ditto
2567 * html/HTMLOptionElement.cpp:
2568 (WebCore::HTMLOptionElement::type): Ditto
2569 * html/HTMLParser.cpp:
2570 (WebCore::HTMLParser::getNode): Ditto
2571 (WebCore::HTMLParser::isHeaderTag): Ditto
2572 (WebCore::HTMLParser::isResidualStyleTag): Ditto
2573 (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
2574 * html/HTMLSelectElement.cpp:
2575 (WebCore::HTMLSelectElement::type): Ditto
2576 * html/HTMLTextAreaElement.cpp:
2577 (WebCore::HTMLTextAreaElement::type): Ditto
2578 * inspector/InspectorController.cpp:
2579 (WebCore::platform): Ditto
2580 * inspector/JavaScriptDebugServer.cpp:
2581 (WebCore::JavaScriptDebugServer::shared): Ditto
2582 * inspector/JavaScriptProfile.cpp:
2583 (WebCore::profileCache): Ditto
2584 * inspector/JavaScriptProfileNode.cpp:
2585 (WebCore::profileNodeCache): Ditto
2586 * loader/FrameLoader.cpp:
2587 (WebCore::localSchemes): Ditto
2588 * loader/appcache/ApplicationCacheStorage.cpp:
2589 (WebCore::cacheStorage): Ditto
2590 * loader/archive/ArchiveFactory.cpp:
2591 (WebCore::archiveMIMETypes): Ditto
2592 * loader/icon/IconDatabase.cpp:
2593 (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
2594 * page/EventHandler.cpp:
2595 (WebCore::EventHandler::dragState): Ditto
2596 * page/Frame.cpp:
2597 (WebCore::createRegExpForLabels): Ditto
2598 (WebCore::keepAliveSet): Ditto
2599 * page/Page.cpp:
2600 (WebCore::Page::groupName): Ditto
2601 * page/SecurityOrigin.cpp:
2602 (WebCore::isDefaultPortForProtocol): Ditto
2603 (WebCore::SecurityOrigin::databaseIdentifier): Ditto
2604 * page/mac/FrameMac.mm:
2605 (WebCore::regExpForLabels): Ditto
2606 * platform/KURL.cpp:
2607 (WebCore::blankURL): Ditto
2608 * platform/graphics/FontCache.cpp:
2609 (WebCore::alternateFamilyName): Ditto
2610 * platform/graphics/mac/FontCacheMac.mm:
2611 (WebCore::FontCache::getSimilarFontPlatformData): Ditto
2612 (WebCore::FontCache::getLastResortFallbackFont): Ditto
2613 * platform/mac/ScrollbarThemeMac.mm:
2614 (WebCore::ScrollbarTheme::nativeTheme): Ditto
2615 * platform/mac/ThemeMac.mm:
2616 (WebCore::platformTheme): Ditto
2617 * platform/mac/ThreadCheck.mm:
2618 (WebCoreReportThreadViolation): Ditto
2619 * platform/network/NetworkStateNotifier.cpp:
2620 (WebCore::networkStateNotifier): Ditto
2621 * platform/network/mac/FormDataStreamMac.mm:
2622 (WebCore::getStreamFormDataMap): Ditto
2623 (WebCore::getStreamResourceHandleMap): Ditto
2624 * platform/network/mac/ResourceResponseMac.mm:
2625 (WebCore::ResourceResponse::platformLazyInit): Ditto
2626 * platform/text/TextEncoding.cpp:
2627 (WebCore::TextEncoding::isJapanese): Ditto
2628 * rendering/RenderBlock.cpp:
2629 (WebCore::continuationOutlineTable): Ditto
2630 * rendering/RenderCounter.cpp:
2631 (WebCore::counterMaps): Ditto
2632 * rendering/RenderFlexibleBox.cpp:
2633 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
2634 * rendering/RenderListItem.cpp:
2635 (WebCore::RenderListItem::markerText): Ditto
2636 * rendering/RenderScrollbarTheme.cpp:
2637 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
2638 * rendering/RenderThemeMac.mm:
2639 (WebCore::RenderThemeMac::systemFont): Ditto
2640 * rendering/bidi.cpp:
2641 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
2642 * rendering/style/RenderStyle.cpp:
2643 (WebCore::RenderStyle::initialDashboardRegions): Ditto
2644 (WebCore::RenderStyle::noneDashboardRegions): Ditto
2645 * storage/LocalStorage.cpp:
2646 (WebCore::localStorageMap): Ditto
2647 * svg/SVGAnimateMotionElement.cpp:
2648 (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
2649 * svg/SVGAnimationElement.cpp:
2650 (WebCore::SVGAnimationElement::calcMode): Ditto
2651 (WebCore::SVGAnimationElement::attributeType): Ditto
2652 (WebCore::SVGAnimationElement::isAdditive): Ditto
2653 (WebCore::SVGAnimationElement::isAccumulated): Ditto
2654 * svg/SVGLangSpace.cpp:
2655 (WebCore::SVGLangSpace::xmlspace): Ditto
2656 * svg/SVGSVGElement.cpp:
2657 (WebCore::SVGSVGElement::contentScriptType): Ditto
2658 (WebCore::SVGSVGElement::contentStyleType): Ditto
2659 * svg/SVGStyleElement.cpp:
2660 (WebCore::SVGStyleElement::type): Ditto
2661 (WebCore::SVGStyleElement::media): Ditto
2662 * svg/SVGTextContentElement.cpp:
2663 (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
2664 * svg/animation/SVGSMILElement.cpp:
2665 (WebCore::SVGSMILElement::parseClockValue): Ditto
2666 (WebCore::SVGSMILElement::restart): Ditto
2667 (WebCore::SVGSMILElement::fill): Ditto
2668 (WebCore::SVGSMILElement::repeatCount): Ditto
2669 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
2670 * svg/graphics/SVGResource.cpp:
2671 (WebCore::clientMap): Ditto
2672 * svg/graphics/SVGResourceMarker.cpp:
2673 (WebCore::SVGResourceMarker::draw): Ditto
2674 * xml/XMLHttpRequest.cpp:
2675 (WebCore::preflightResultCache): Ditto
2676 (WebCore::isSafeRequestHeader): Ditto
2677 (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
2678 * xml/XPathExpressionNode.cpp:
2679 (WebCore::XPath::Expression::evaluationContext): Ditto
2680 * xml/XPathParser.cpp:
2681 (WebCore::XPath::isAxisName): Ditto
2682 (WebCore::XPath::isNodeTypeName): Ditto
2683 * xml/XPathValue.cpp:
2684 (WebCore::XPath::Value::toNodeSet): Ditto
2685
vestbo@webkit.org6a404a22008-11-06 19:04:46 +000026862008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
2687
2688 Rubber-stamped by Simon Hausmann.
2689
2690 Remove a bunch of unused methods in the Qt media element implementation
2691
2692 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2693 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2694 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2695
simon.fraser@apple.com845c2632008-11-06 18:42:24 +000026962008-11-05 Simon Fraser <simon.fraser@apple.com>
2697
2698 Reviewed by Dave Hyatt
2699
2700 https://bugs.webkit.org/show_bug.cgi?id=21870
2701
2702 Implement absoluteToLocal() to convert a point from absolute
2703 to local coordinates, optionally taking transforms into account.
2704
2705 Use this to set offsetX/offsetY in mouse events, thus fixing
2706 offsetX/offsetY in events on elements with transforms.
2707
2708 Test: fast/events/offsetX-offsetY.html
2709
2710 * dom/MouseRelatedEvent.cpp:
2711 (WebCore::MouseRelatedEvent::receivedTarget):
2712 * rendering/RenderBox.cpp:
2713 (WebCore::RenderBox::localToAbsolute):
2714 (WebCore::RenderBox::absoluteToLocal):
2715 (WebCore::RenderBox::offsetFromContainer):
2716 * rendering/RenderBox.h:
2717 * rendering/RenderObject.cpp:
2718 (WebCore::RenderObject::absoluteToLocal):
2719 * rendering/RenderObject.h:
2720 * rendering/RenderTableCell.cpp:
2721 (WebCore::RenderTableCell::localToAbsolute):
2722 (WebCore::RenderTableCell::absoluteToLocal):
2723 * rendering/RenderTableCell.h:
2724 * rendering/RenderView.cpp:
2725 (WebCore::RenderView::absoluteToLocal):
2726 * rendering/RenderView.h:
2727
alp@webkit.orga8a7ebd2008-11-06 18:41:18 +000027282008-11-06 Alp Toker <alp@nuanti.com>
2729
2730 Reviewed by Cameron Zwarich.
2731
2732 https://bugs.webkit.org/show_bug.cgi?id=22067
2733 [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
2734
2735 null-check symbols loaded from plugin modules, initialize the function
2736 table (like Win already does) and update it with the latest
2737 additions. Adjust whitespace for easy diff'ing with the Win port code
2738 from which it was forked.
2739
2740 This fixes crashes with libnspr4.so and any other plugins that don't
2741 provide the symbols we expect.
2742
2743 * plugins/gtk/PluginPackageGtk.cpp:
2744 (WebCore::PluginPackage::fetchInfo):
2745 (WebCore::PluginPackage::load):
2746
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +000027472008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2748
2749 Reviewed by Simon Hausmann.
2750
hausmann@webkit.orgbdf11782008-11-06 18:38:57 +00002751 Removed dead (and broken) code from an ancient Symbian port.
2752
2753 * config.h:
2754 * platform/text/AtomicString.h:
2755 * platform/text/PlatformString.h:
2756
27572008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2758
2759 Reviewed by Simon Hausmann.
2760
hausmann@webkit.orge5ea3732008-11-06 18:38:48 +00002761 Use QLibrary as PlatformModule when compiling with Qt for S60.
2762
2763 * platform/FileSystem.h:
2764
27652008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2766
2767 Reviewed by Simon Hausmann.
2768
hausmann@webkit.org07a5d322008-11-06 18:38:31 +00002769 Compile fix for Symbian.
2770 The snprintf function is defined in stdio.h, the inclusion
2771 of snprintf.h inside this PLATFORM(SYMBIAN) block does not
2772 compile.
2773
2774 * config.h:
2775
27762008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2777
2778 Reviewed by Simon Hausmann.
2779
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +00002780 Disable webkit plugins for Symbian.
2781
2782 * WebCore.pro:
2783
vestbo@webkit.orgb2902812008-11-06 12:14:49 +000027842008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
2785
vestbo@webkit.orgecfcaef2008-11-06 12:15:13 +00002786 Fix build break in debug mode when XSLT is not enabled
2787
2788 * loader/Cache.cpp:
2789 (WebCore::Cache::dumpStats):
2790
27912008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
2792
vestbo@webkit.orgb2902812008-11-06 12:14:49 +00002793 Reviewed by Simon Hausmann.
2794
2795 Repaint video on UpdateRequest to prevent recursive painting
2796
2797 Calling QWidget::render() to update the video generates a paint
2798 event that's then picked up by the event filter once more :(
2799
2800 We're really only interested in updates from Phonon, which we
2801 get through the UpdateRequest for each new frame.
2802
2803 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2804 (WebCore::MediaPlayerPrivate::eventFilter):
2805
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +000028062008-11-06 Cameron Zwarich <zwarich@apple.com>
2807
2808 Not reviewed.
2809
cwzwarich@webkit.org5400b932008-11-06 09:22:54 +00002810 Fix the WebCore build for some platforms by changing build scripts to
2811 account for the recent move of the create_hash_table script from the kjs
2812 subdirectory of JavaScriptCore to the root directory.
2813
2814 * WebCore.pro:
2815 * make-generated-sources.sh:
2816
28172008-11-06 Cameron Zwarich <zwarich@apple.com>
2818
2819 Not reviewed.
2820
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +00002821 Fix a case-sensitivity issue in Mac forwarding headers. Strangely
2822 enough, this does not always cause the build to break, even with a
2823 case-sensitive filesystem.
2824
2825 * ForwardingHeaders/runtime/Interpreter.h:
2826
ap@webkit.org90b52e82008-11-06 07:04:47 +000028272008-11-05 Alexey Proskuryakov <ap@webkit.org>
2828
ap@webkit.orgddf67942008-11-06 07:07:23 +00002829 Reviewed by Maciej Stachowiak.
2830
2831 https://bugs.webkit.org/show_bug.cgi?id=22083
2832 MessageEvents cannot be used across threads
2833
2834 * dom/Event.idl:
2835 * dom/MessageEvent.idl:
2836 Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
2837 won't work.
2838
2839 * dom/MessagePort.cpp:
2840 (WebCore::MessagePort::EventData::EventData):
2841 (WebCore::MessagePort::EventData::~EventData):
2842 (WebCore::MessagePort::clone):
2843 (WebCore::MessagePort::postMessage):
2844 (WebCore::MessagePort::startConversation):
2845 (WebCore::MessagePort::dispatchMessages):
2846 * dom/MessagePort.h:
2847 Don't create a MessageEvent until dispatch time - messages can be posted across threads,
2848 but MessageEvents are tied to the thread that they were created in.
2849
28502008-11-05 Alexey Proskuryakov <ap@webkit.org>
2851
ap@webkit.org90b52e82008-11-06 07:04:47 +00002852 Reviewed by Darin Adler.
2853
2854 https://bugs.webkit.org/show_bug.cgi?id=22066
2855 Implement Worker global object
2856
2857 * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
2858
2859 * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
2860 support is still disabled by default.
2861
2862 * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
2863
2864 * bindings/js/JSMessageChannelConstructor.cpp:
2865 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
2866
2867 * bindings/js/JSWorkerContext.cpp: Added.
2868 * bindings/js/JSWorkerContext.h: Added.
2869 * bindings/js/WorkerScriptController.cpp: Added.
2870 * bindings/js/WorkerScriptController.h: Added.
2871 * dom/WorkerContext.cpp: Added.
2872 * dom/WorkerContext.h: Added.
2873 Added an implementation of worker contexts.
2874
2875 * dom/DedicatedWorker.cpp:
2876 (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
2877 (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
2878 and lifetime is not clear at all.
2879
2880 * dom/WorkerLocation.cpp: Added.
2881 * dom/WorkerLocation.h: Added.
2882 * dom/WorkerLocation.idl: Added.
2883 Added WorkerLocation, which is one of the objects available to workers.
2884
2885 * dom/WorkerThread.cpp: Added.
2886 (WebCore::WorkerThread::WorkerThread):
2887 (WebCore::WorkerThread::start):
2888 (WebCore::WorkerThread::workerThreadStart):
2889 (WebCore::WorkerThread::workerThread):
2890 * dom/WorkerThread.h: Added.
2891 (WebCore::WorkerThread::create):
2892 Run some code in a worker thread (no message loop yet).
2893
antti@apple.comc5a38532008-11-06 02:40:54 +000028942008-11-05 Antti Koivisto <antti@apple.com>
2895
2896 Reviewed by Dan Bernstein.
2897
2898 https://bugs.webkit.org/show_bug.cgi?id=22093
2899 Don't keep decoded stylesheet data in cache
2900
2901 <rdar://problem/6343588>
2902
2903 Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
2904 performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
2905 style sheet data in cache by 2/3 in common case.
2906
2907 * loader/CachedCSSStyleSheet.cpp:
2908 (WebCore::CachedCSSStyleSheet::sheetText):
2909 (WebCore::CachedCSSStyleSheet::data):
2910 * loader/CachedCSSStyleSheet.h:
2911
ddkilzer@apple.comb02df962008-11-06 02:00:19 +000029122008-11-05 David Kilzer <ddkilzer@apple.com>
2913
2914 Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
2915
2916 <https://bugs.webkit.org/show_bug.cgi?id=21596>
2917
2918 Reviewed by Antti.
2919
2920 This patch adds real parsing for Pragma and Cache-Control headers
2921 based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some
2922 new String and StringImpl methods to assist with the parsing.
2923
2924 * loader/Cache.cpp:
2925 (WebCore::Cache::dumpStats): Added. Convenience method for dumping
2926 stats outside of Safari.
2927 * loader/Cache.h: Declared dumpStats().
2928
2929 * loader/CachedResource.cpp:
2930 (WebCore::CachedResource::mustRevalidate): Updated to use
2931 ResourceResponseBase::cacheControlDirectives() instead of substring
2932 matching of the entire Cache-Control header.
2933
2934 * loader/loader.cpp:
2935 (WebCore::Loader::Host::didReceiveResponse): Used the local
2936 'resource' variable instead of 'request->cachedResource()'.
2937
2938 * platform/network/ResourceResponseBase.cpp:
2939 (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
2940 m_haveParsedCacheControlHeader to false when a "Cache-Control"
2941 header is set. Ditto for m_haveParsedPragmaHeader and "Pragma".
2942 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
2943 Provides parsed Pragma header directives.
2944 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
2945 Provides parsed Cache-Control header directives.
2946 (WebCore::isCacheHeaderSeparator): Added. Returns true if a
2947 character is a separator character per RFC 2616, Section 2.2, else
2948 returns false.
2949 (WebCore::isControlCharacter): Added. Returns true if a character
2950 is a control character per RFC 2616 Section 2.2, else returns false.
2951 (WebCore::trimToNextSeparator): Added. Returns a string truncated
2952 at the first separator character per isCacheHeaderSeparator().
2953 (WebCore::parseCacheHeader): Added. This is the main parsing
2954 routine for both Cache-Control and Pragma headers.
2955 (WebCore::parseCacheControlDirectiveValues): Added. This splits
2956 certain Cache-Control directive values into a vector of strings.
2957 * platform/network/ResourceResponseBase.h:
2958 (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed
2959 Cache-Control header.
2960 (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma
2961 header.
2962 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
2963 declaration.
2964 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
2965 (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
2966 Added. Boolean to describe when the "Cache-Control" header needs to
2967 be reparsed.
2968 (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added.
2969 Boolean to describe when the "Pragma" header needs to be reparsed.
2970 (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
2971 Cached map to hold parsed "Cache-Control" headers.
2972 (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
2973 Cached map to hold parsed "Pragma" headers.
2974
2975 * platform/text/PlatformString.h:
2976 (WebCore::String::find): Added. Returns the first match based on
2977 the character-matching function pointer passed in.
2978 (WebCore::String::removeCharacters): Added declaration.
2979 (WebCore::find): Added. Inline method that takes a character-
2980 matching function pointer. Called by StringImpl::find().
2981 * platform/text/String.cpp:
2982 (WebCore::String::removeCharacters): Added. Calls
2983 StringImpl::removeCharacters().
2984 * platform/text/StringImpl.cpp:
2985 (WebCore::StringImpl::removeCharacters): Added. Returns a string
2986 with all characters removed that match the character-matching
2987 function pointer passed in. If there is no change to the string, it
2988 returns itself. Based heavily on StringImpl::simplifyWhitespace().
2989 (WebCore::StringImpl::find): Added. Calls WebCore::find().
2990 * platform/text/StringImpl.h:
2991 (WebCore::FindMatchFunctionPtr): Added. Typedef for a character-
2992 matching function pointer.
2993 (WebCore::StringImpl::removeCharacters): Added declaration.
2994 (WebCore::StringImpl::find): Ditto.
2995
justin.garcia@apple.com41ed13a2008-11-06 01:48:04 +000029962008-11-05 Justin Garcia <justin.garcia@apple.com>
2997
2998 Reviewed by Beth Dakin.
2999
3000 <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
3001
3002 As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node
3003 between two blockquotes. Because the start merge moves the text node into a blockquote, when we
3004 determine whether or not we should do the end merge, it incorrectly appears as though the end merge
3005 is merging out of a blockquote. The fix is to determine whether or not we should do the end merge
3006 before we do the start merge, so that the start merge doesn't effect our decision.
3007
3008 * editing/ReplaceSelectionCommand.cpp:
3009 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
3010 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
3011 (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
3012 * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
3013
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +000030142008-11-05 Cameron Zwarich <zwarich@apple.com>
3015
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00003016 Not reviewed.
3017
cwzwarich@webkit.org36c7fc72008-11-06 00:41:49 +00003018 Speculatively fix the Windows build, even though these changes may not
3019 actually matter for anything in the build, because the Windows bots are
3020 behind.
3021
3022 * WebCore.vcproj/WebCore.vcproj:
3023
30242008-11-05 Cameron Zwarich <zwarich@apple.com>
3025
3026 Not reviewed.
3027
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00003028 Fix the Qt build.
3029
3030 * bridge/qt/qt_class.cpp:
3031 * bridge/qt/qt_runtime.h:
3032
30332008-11-05 Cameron Zwarich <zwarich@apple.com>
3034
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +00003035 Rubber-stamped by Sam Weinig.
3036
3037 Move more files to the runtime subdirectory of JavaScriptCore.
3038
3039 * ForwardingHeaders/kjs/collector.h: Removed.
3040 * ForwardingHeaders/kjs/completion.h: Removed.
3041 * ForwardingHeaders/kjs/identifier.h: Removed.
3042 * ForwardingHeaders/kjs/interpreter.h: Removed.
3043 * ForwardingHeaders/kjs/lookup.h: Removed.
3044 * ForwardingHeaders/kjs/operations.h: Removed.
3045 * ForwardingHeaders/kjs/protect.h: Removed.
3046 * ForwardingHeaders/kjs/ustring.h: Removed.
3047 * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
3048 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
3049 * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
3050 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
3051 * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
3052 * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
3053 * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
3054 * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
3055 * bindings/js/GCController.cpp:
3056 * bindings/js/JSCustomPositionCallback.h:
3057 * bindings/js/JSCustomPositionErrorCallback.h:
3058 * bindings/js/JSCustomSQLStatementCallback.h:
3059 * bindings/js/JSCustomSQLStatementErrorCallback.h:
3060 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
3061 * bindings/js/JSCustomVoidCallback.h:
3062 * bindings/js/JSDOMBinding.h:
3063 * bindings/js/JSDOMWindowBase.h:
3064 * bindings/js/JSEventListener.h:
3065 * bindings/js/ScheduledAction.h:
3066 * bindings/js/ScriptController.cpp:
3067 * bindings/js/ScriptController.h:
3068 * bindings/objc/WebScriptObject.mm:
3069 * bindings/scripts/CodeGeneratorJS.pm:
3070 * bridge/NP_jsobject.cpp:
3071 * bridge/c/c_class.cpp:
3072 * bridge/jni/jni_class.cpp:
3073 * bridge/jni/jni_jsobject.mm:
3074 * bridge/npruntime.cpp:
3075 * bridge/runtime_root.h:
3076 * history/CachedPage.h:
3077 * html/CanvasRenderingContext2D.cpp:
3078 * html/HTMLCanvasElement.cpp:
3079 * inspector/InspectorController.cpp:
3080 * inspector/JavaScriptCallFrame.cpp:
3081 * page/Console.cpp:
3082 * page/Page.cpp:
3083 * platform/text/AtomicString.cpp:
3084 * platform/text/PlatformString.h:
3085
weinig@apple.comef952ff2008-11-05 20:03:26 +000030862008-11-05 Sam Weinig <sam@webkit.org>
3087
3088 Reviewed by Anders Carlsson.
3089
3090 Fix https://bugs.webkit.org/show_bug.cgi?id=22085
3091 The Plugin JS object should expose item() and namedItem() methods to match Firefox
3092
3093 * bindings/js/JSPluginCustom.cpp:
3094 (WebCore::JSPlugin::nameGetter):
3095 * plugins/Plugin.cpp:
3096 (WebCore::Plugin::namedItem):
3097 * plugins/Plugin.h:
3098 * plugins/Plugin.idl:
3099
ap@webkit.org25eca0a2008-11-05 19:19:02 +000031002008-11-05 Alexey Proskuryakov <ap@webkit.org>
3101
3102 Reviewed by Maciej Stachowiak.
3103
3104 https://bugs.webkit.org/show_bug.cgi?id=21060
3105 Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
3106
3107 Test: fast/dom/Range/surroundContents-check-boundary-points.html
3108
3109 * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
3110
andersca@apple.comd5804932008-11-05 18:42:29 +000031112008-11-05 Anders Carlsson <andersca@apple.com>
3112
3113 Reviewed by Dan Bernstein.
3114
3115 Remove two global destructors from CoreTextController.
3116
3117 * platform/graphics/mac/CoreTextController.cpp:
3118 (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
3119
darin@chromium.orga9ece152008-11-05 18:41:07 +000031202008-11-05 Darin Fisher <darin@chromium.org>
3121
3122 Reviewed by Darin Adler.
3123
3124 CRASH at Scrollbar::invalidateRect due to null m_client
3125 https://bugs.webkit.org/show_bug.cgi?id=22080
3126
3127 * platform/Scrollbar.cpp:
3128 (WebCore::Scrollbar::isWindowActive):
3129 (WebCore::Scrollbar::invalidateRect):
3130
weinig@apple.com84ce5772008-11-05 18:30:59 +000031312008-11-04 Sam Weinig <sam@webkit.org>
3132
3133 Reviewed by Simon Hausmann.
3134
3135 Fix https://bugs.webkit.org/show_bug.cgi?id=21648
3136 navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
3137
3138 - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
3139
3140 * bindings/js/JSMimeTypeArrayCustom.cpp:
3141 (WebCore::JSMimeTypeArray::nameGetter):
3142 * bindings/js/JSPluginArrayCustom.cpp:
3143 (WebCore::JSPluginArray::nameGetter):
3144 * page/DOMWindow.idl:
3145 * plugins/MimeType.idl:
3146 * plugins/MimeTypeArray.cpp:
3147 (WebCore::MimeTypeArray::namedItem):
3148 * plugins/MimeTypeArray.h:
3149 * plugins/MimeTypeArray.idl:
3150 * plugins/Plugin.idl:
3151 * plugins/PluginArray.cpp:
3152 (WebCore::PluginArray::namedItem):
3153 * plugins/PluginArray.h:
3154 * plugins/PluginArray.idl:
3155
sfalken@apple.com206de2b2008-11-05 18:23:10 +000031562008-11-05 Steve Falkenburg <sfalken@apple.com>
3157
3158 Build fix.
3159
3160 * plugins/PluginPackage.cpp:
3161
hausmann@webkit.orge5a83262008-11-05 15:31:30 +000031622008-11-05 Jeff Cook <cookiecaper@gmail.com>
3163
3164 Reviewed by Simon Hausmann and Tor Arne.
3165
3166 Fix crash in the Qt port when unloading swfdec and Flash 10
3167 by reordering window destruction and plugin stop.
3168
3169 See https://bugs.webkit.org/show_bug.cgi?id=20779
3170
3171 * plugins/qt/PluginViewQt.cpp:
3172 (WebCore::PluginView::stop):
3173
hausmann@webkit.org49f97662008-11-05 15:31:10 +000031742008-11-05 Simon Hausmann <hausmann@webkit.org>
3175
3176 Reviewed by Tor Arne Vestbø
3177
hausmann@webkit.orgf9c88732008-11-05 15:31:22 +00003178 Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
3179
3180 Otherwise Flash refuses to load and function :(
3181
3182 * plugins/PluginPackage.cpp:
3183 (WebCore::PluginPackage::determineQuirks):
3184 * plugins/PluginQuirkSet.h:
3185 (WebCore::):
3186 * plugins/qt/PluginViewQt.cpp:
3187 (WebCore::PluginView::getValue):
3188
31892008-11-05 Simon Hausmann <hausmann@webkit.org>
3190
3191 Reviewed by Tor Arne Vestbø
3192
hausmann@webkit.org49f97662008-11-05 15:31:10 +00003193 Unify determineQuirks between the Qt and the Gtk PluginPackage.
3194 Share the code for parsing the module version from the description.
3195 This is currently used to determine Flash based quirks.
3196
3197 * plugins/PluginPackage.cpp:
3198 (WebCore::PluginPackage::createPackage):
3199 (WebCore::PluginPackage::determineQuirks):
3200 (WebCore::PluginPackage::determineModuleVersionFromDescription):
3201 * plugins/PluginPackage.h:
3202 * plugins/gtk/PluginPackageGtk.cpp:
3203 (WebCore::PluginPackage::fetchInfo):
3204 * plugins/qt/PluginPackageQt.cpp:
3205 (WebCore::PluginPackage::fetchInfo):
3206
cwzwarich@webkit.org4bcb8732008-11-05 00:49:41 +000032072008-11-04 Cameron Zwarich <zwarich@apple.com>
3208
3209 Rubber-stamped by Sam Weinig.
3210
3211 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
3212
3213 * ForwardingHeaders/kjs/dtoa.h: Removed.
3214 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
3215 * css/CSSParser.cpp:
3216 * platform/text/String.cpp:
3217 * platform/text/StringImpl.cpp:
3218
pam@chromium.org28f3c1b2008-11-05 00:24:44 +000032192008-11-04 Jonathan Haas <myrdred@gmail.com>
3220
3221 Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
3222
3223 Reviewed by Darin Adler.
3224
3225 Fixed an issue which could cause memory corruption using ToT libxml.
3226 See https://bugs.webkit.org/show_bug.cgi?id=15715
3227
3228 Test: fast/xsl/xslt-nested-stylesheets.xml
3229
3230 * xml/XSLImportRule.cpp:
3231 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
3232 * xml/XSLStyleSheet.cpp:
3233 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
3234 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
3235 (WebCore::XSLStyleSheet::setParentStyleSheet): Added
3236 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
3237
simon.fraser@apple.com0d555c02008-11-04 22:40:53 +000032382008-11-04 Simon Fraser <simon.fraser@apple.com>
3239
3240 No review.
3241
3242 Improved buid fix: include MathExtras.h to get roundf on all platforms.
3243
3244 * platform/graphics/FloatPoint.h:
3245
beidson@apple.com0d9e16f2008-11-04 20:55:13 +000032462008-11-04 Brady Eidson <beidson@apple.com>
3247
3248 Reviewed by John Sullivan
3249
3250 Add a simple "visited" method to HistoryItem for use by global history
3251
3252 * WebCore.base.exp:
3253
3254 * history/HistoryItem.cpp:
3255 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
3256 and bump the visit count. All things that should happen when a url is visited again!
3257 * history/HistoryItem.h:
3258
jmalonzo@webkit.org5b93bc22008-11-04 19:43:58 +000032592008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
3260
3261 Build fix. Not reviewed.
3262
3263 * platform/graphics/FloatPoint.h: include math.h.
3264 reported by zdobersek in #webkit.
3265
darin@chromium.org48246852008-11-04 19:40:56 +000032662008-11-04 Darin Fisher <darin@chromium.org>
3267
3268 Reviewed by Anders Carlsson.
3269
3270 No need to clobber all ResourceRequest fields in FrameLoader::reload()
3271 https://bugs.webkit.org/show_bug.cgi?id=21949
3272
3273 * loader/FrameLoader.cpp:
3274 (WebCore::FrameLoader::reload):
3275
darin@apple.comebdfeb62008-11-04 19:00:58 +000032762008-11-04 Darin Adler <darin@apple.com>
3277
3278 Reviewed by Tim Hatcher.
3279
3280 * storage/Database.cpp:
3281 (WebCore::databaseVersionKey): Tweaked formatting.
3282
darin@apple.com6d0ef6f2008-11-04 18:58:45 +000032832008-11-03 Darin Adler <darin@apple.com>
3284
3285 Reviewed by Tim Hatcher.
3286
3287 - https://bugs.webkit.org/show_bug.cgi?id=22061
3288 create script to check for exit-time destructors
3289
3290 * WebCore.xcodeproj/project.pbxproj: Added a script
3291 phase that runs the check-for-exit-time-destructors script.
3292
3293 * html/HTMLAttributeNames.in: Removed some unused attribute names.
3294
3295 * html/HTMLEmbedElement.cpp:
3296 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
3297 sets the write-only m_pluginPage.
3298 * html/HTMLEmbedElement.h: Ditto.
3299
3300 * platform/mac/CursorMac.mm:
3301 (WebCore::leakNamedCursor): Changed to return a Cursor&.
3302 (WebCore::pointerCursor): Changed to leak an object to avoid an
3303 exit-time destructor.
3304 (WebCore::crossCursor): Ditto.
3305 (WebCore::handCursor): Ditto.
3306 (WebCore::moveCursor): Ditto.
3307 (WebCore::verticalTextCursor): Ditto.
3308 (WebCore::cellCursor): Ditto.
3309 (WebCore::contextMenuCursor): Ditto.
3310 (WebCore::aliasCursor): Ditto.
3311 (WebCore::zoomInCursor): Ditto.
3312 (WebCore::zoomOutCursor): Ditto.
3313 (WebCore::copyCursor): Ditto.
3314 (WebCore::noneCursor): Ditto.
3315 (WebCore::progressCursor): Ditto.
3316 (WebCore::noDropCursor): Ditto.
3317 (WebCore::notAllowedCursor): Ditto.
3318 (WebCore::iBeamCursor): Ditto.
3319 (WebCore::waitCursor): Ditto.
3320 (WebCore::helpCursor): Ditto.
3321 (WebCore::eastResizeCursor): Ditto.
3322 (WebCore::northResizeCursor): Ditto.
3323 (WebCore::northEastResizeCursor): Ditto.
3324 (WebCore::northWestResizeCursor): Ditto.
3325 (WebCore::southResizeCursor): Ditto.
3326 (WebCore::southEastResizeCursor): Ditto.
3327 (WebCore::southWestResizeCursor): Ditto.
3328 (WebCore::westResizeCursor): Ditto.
3329 (WebCore::northSouthResizeCursor): Ditto.
3330 (WebCore::eastWestResizeCursor): Ditto.
3331 (WebCore::northEastSouthWestResizeCursor): Ditto.
3332 (WebCore::northWestSouthEastResizeCursor): Ditto.
3333 (WebCore::columnResizeCursor): Ditto.
3334 (WebCore::rowResizeCursor): Ditto.
3335 (WebCore::grabCursor): Ditto.
3336 (WebCore::grabbingCursor): Ditto.
3337
3338 * storage/Database.cpp:
3339 (WebCore::guidMutex): Changed to leak an object to avoid an
3340 exit-time destructor. Also added a comment explaining why it's
3341 thread safe.
3342 (WebCore::guidToVersionMap): Ditto.
3343 (WebCore::guidToDatabaseMap): Ditto.
3344 (WebCore::Database::databaseInfoTableName): Ditto.
3345 (WebCore::databaseVersionKey): Ditto.
3346 (WebCore::Database::getVersionFromDatabase): Ditto.
3347 (WebCore::Database::setVersionInDatabase): Ditto.
3348 (WebCore::guidForOriginAndName): Ditto.
3349 * storage/DatabaseTracker.cpp:
3350 (WebCore::DatabaseTracker::tracker): Ditto.
3351 (WebCore::notificationMutex): Ditto.
3352 (WebCore::notificationQueue): Ditto.
3353 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
3354
simon.fraser@apple.comc65d3282008-11-04 18:54:50 +000033552008-11-04 Simon Fraser <simon.fraser@apple.com>
3356
3357 Reviewed by Dave Hyatt
3358
3359 https://bugs.webkit.org/show_bug.cgi?id=21941
3360
3361 Rename absolutePosition() to localToAbsolute(), and add the ability
3362 to optionally take transforms into account (which will eventually be the
3363 default behavior).
3364
3365 * WebCore.base.exp:
3366 * WebCore.xcodeproj/project.pbxproj:
3367 * dom/ContainerNode.cpp:
3368 (WebCore::ContainerNode::getUpperLeftCorner):
3369 (WebCore::ContainerNode::getLowerRightCorner):
3370 (WebCore::ContainerNode::getRect):
3371 * dom/ContainerNode.h:
3372 * dom/MouseRelatedEvent.cpp:
3373 (WebCore::MouseRelatedEvent::receivedTarget):
3374 * dom/Node.cpp:
3375 (WebCore::Node::getRect):
3376 * editing/SelectionController.cpp:
3377 (WebCore::SelectionController::layout):
3378 (WebCore::SelectionController::caretRect):
3379 * editing/visible_units.cpp:
3380 (WebCore::previousLinePosition):
3381 (WebCore::nextLinePosition):
3382 * html/HTMLAnchorElement.cpp:
3383 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3384 (WebCore::HTMLAnchorElement::defaultEventHandler):
3385 * html/HTMLAreaElement.cpp:
3386 (WebCore::HTMLAreaElement::getRect):
3387 * html/HTMLImageElement.cpp:
3388 (WebCore::HTMLImageElement::x):
3389 (WebCore::HTMLImageElement::y):
3390 * html/HTMLInputElement.cpp:
3391 (WebCore::HTMLInputElement::defaultEventHandler):
3392 * html/HTMLInputElement.h:
3393 * page/AccessibilityRenderObject.cpp:
3394 (WebCore::AccessibilityRenderObject::boundingBoxRect):
3395 * page/EventHandler.cpp:
3396 (WebCore::EventHandler::handleDrag):
3397 * platform/graphics/FloatPoint.h:
3398 (WebCore::roundedIntPoint):
3399 * platform/graphics/IntSize.h:
3400 (WebCore::IntSize::expand):
3401 * rendering/LayoutState.cpp:
3402 (WebCore::LayoutState::LayoutState):
3403 * rendering/RenderBlock.cpp:
3404 (WebCore::RenderBlock::layoutBlock):
3405 (WebCore::RenderBlock::paintObject):
3406 (WebCore::RenderBlock::selectionGapRects):
3407 (WebCore::RenderBlock::fillBlockSelectionGaps):
3408 (WebCore::RenderBlock::nodeAtPoint):
3409 (WebCore::RenderBlock::positionForCoordinates):
3410 * rendering/RenderBox.cpp:
3411 (WebCore::RenderBox::localToAbsolute):
3412 (WebCore::RenderBox::computeAbsoluteRepaintRect):
3413 (WebCore::RenderBox::caretRect):
3414 * rendering/RenderBox.h:
3415 (WebCore::RenderBox::relativePositionOffset):
3416 * rendering/RenderContainer.cpp:
3417 (WebCore::RenderContainer::addLineBoxRects):
3418 * rendering/RenderFlow.cpp:
3419 (WebCore::RenderFlow::absoluteClippedOverflowRect):
3420 (WebCore::RenderFlow::caretRect):
3421 (WebCore::RenderFlow::addFocusRingRects):
3422 * rendering/RenderLayer.cpp:
3423 (WebCore::RenderLayer::updateLayerPosition):
3424 (WebCore::RenderLayer::convertToLayerCoords):
3425 (WebCore::RenderLayer::addScrolledContentOffset):
3426 (WebCore::RenderLayer::subtractScrolledContentOffset):
3427 (WebCore::RenderLayer::scrollRectToVisible):
3428 * rendering/RenderLayer.h:
3429 (WebCore::RenderLayer::scrolledContentOffset):
3430 (WebCore::RenderLayer::relativePositionOffset):
3431 * rendering/RenderListBox.cpp:
3432 (WebCore::RenderListBox::panScroll):
3433 (WebCore::RenderListBox::scrollToward):
3434 * rendering/RenderListMarker.cpp:
3435 (WebCore::RenderListMarker::selectionRect):
3436 * rendering/RenderObject.cpp:
3437 (WebCore::RenderObject::absoluteBoundingBoxRect):
3438 (WebCore::RenderObject::computeAbsoluteRepaintRect):
3439 (WebCore::RenderObject::localToAbsolute):
3440 (WebCore::RenderObject::addDashboardRegions):
3441 (WebCore::RenderObject::absoluteContentBox):
3442 (WebCore::RenderObject::absoluteOutlineBox):
3443 * rendering/RenderObject.h:
3444 (WebCore::RenderObject::localToAbsoluteForContent):
3445 * rendering/RenderPart.cpp:
3446 (WebCore::RenderPart::updateWidgetPosition):
3447 * rendering/RenderReplaced.cpp:
3448 (WebCore::RenderReplaced::selectionRect):
3449 * rendering/RenderSVGInlineText.cpp:
3450 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
3451 * rendering/RenderSVGText.cpp:
3452 (WebCore::RenderSVGText::absoluteRects):
3453 * rendering/RenderTableCell.cpp:
3454 (WebCore::RenderTableCell::localToAbsolute):
3455 * rendering/RenderTableCell.h:
3456 * rendering/RenderText.cpp:
3457 (WebCore::RenderText::addLineBoxRects):
3458 (WebCore::RenderText::caretRect):
3459 (WebCore::RenderText::selectionRect):
3460 * rendering/RenderVideo.cpp:
3461 (WebCore::RenderVideo::updatePlayer):
3462 * rendering/RenderView.cpp:
3463 (WebCore::RenderView::localToAbsolute):
3464 * rendering/RenderView.h:
3465 * rendering/RenderWidget.cpp:
3466 (WebCore::RenderWidget::updateWidgetPosition):
3467 * svg/SVGSVGElement.cpp:
3468 (WebCore::SVGSVGElement::getScreenCTM):
3469
hausmann@webkit.orgb8b5aa12008-11-04 16:22:05 +000034702008-11-03 Yael Aharon <yael.aharon@nokia.com>
3471
3472 Reviewed by Simon Hausmann.
3473
3474 Add methods for getting and setting user data on History Item.
3475 This change is limited to QT port only. Tests were added in
3476 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
3477
3478 Minor change by Simon: made the functions inline and added a missing
3479 const.
3480
3481 * history/HistoryItem.h:
3482
ap@webkit.orgc5e3f1b2008-11-04 10:46:13 +000034832008-11-01 Alexey Proskuryakov <ap@webkit.org>
3484
3485 Reviewed by Darin Adler.
3486
3487 https://bugs.webkit.org/show_bug.cgi?id=22030
3488 Make EventNames usable from multiple threads
3489
3490 * platform/text/AtomicString.cpp:
3491 (WebCore::stringTable):
3492 (WebCore::AtomicString::add):
3493 (WebCore::AtomicString::remove):
3494 (WebCore::AtomicString::find):
3495 (WebCore::AtomicString::init):
3496 * platform/text/AtomicString.h:
3497 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
3498 so global AtomicString constants cannot be used from threads other than the main one.
3499
3500 * dom/EventNames.cpp:
3501 (WebCore::EventNames::EventNames):
3502 (WebCore::eventNames):
3503 (WebCore::EventNames::init):
3504 * dom/EventNames.h:
3505 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
3506 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
3507 threads.
3508
3509 * WebCore.base.exp:
3510 * bindings/js/JSDOMWindowBase.cpp:
3511 * bindings/js/JSEventListener.cpp:
3512 * bindings/js/ScriptController.cpp:
3513 (WebCore::ScriptController::processingUserGesture):
3514 * dom/BeforeTextInsertedEvent.cpp:
3515 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
3516 * dom/BeforeUnloadEvent.cpp:
3517 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
3518 * dom/CharacterData.cpp:
3519 (WebCore::CharacterData::dispatchModifiedEvent):
3520 * dom/ContainerNode.cpp:
3521 (WebCore::dispatchChildInsertionEvents):
3522 (WebCore::dispatchChildRemovalEvents):
3523 * dom/DedicatedWorker.cpp:
3524 (WebCore::DedicatedWorker::dispatchErrorEvent):
3525 * dom/Document.cpp:
3526 (WebCore::Document::implicitClose):
3527 (WebCore::Document::setFocusedNode):
3528 (WebCore::Document::addListenerTypeIfNeeded):
3529 (WebCore::Document::removeWindowInlineEventListenerForType):
3530 (WebCore::Document::addWindowEventListener):
3531 (WebCore::Document::removeWindowEventListener):
3532 (WebCore::Document::finishedParsing):
3533 * dom/EventTargetNode.cpp:
3534 (WebCore::EventTargetNode::dispatchGenericEvent):
3535 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
3536 (WebCore::EventTargetNode::dispatchWindowEvent):
3537 (WebCore::EventTargetNode::dispatchUIEvent):
3538 (WebCore::EventTargetNode::dispatchSimulatedClick):
3539 (WebCore::EventTargetNode::dispatchMouseEvent):
3540 (WebCore::EventTargetNode::dispatchFocusEvent):
3541 (WebCore::EventTargetNode::dispatchBlurEvent):
3542 (WebCore::EventTargetNode::defaultEventHandler):
3543 (WebCore::EventTargetNode::on*): (multiple methods)
3544 (WebCore::EventTargetNode::setOn*): (multiple methods)
3545 * dom/KeyboardEvent.cpp:
3546 (WebCore::eventTypeForKeyboardEventType):
3547 (WebCore::KeyboardEvent::keyCode):
3548 (WebCore::KeyboardEvent::charCode):
3549 * dom/MessageEvent.cpp:
3550 (WebCore::MessageEvent::MessageEvent):
3551 * dom/MessagePort.cpp:
3552 (WebCore::MessagePort::dispatchMessages):
3553 (WebCore::MessagePort::dispatchCloseEvent):
3554 * dom/MouseEvent.cpp:
3555 (WebCore::MouseEvent::isDragEvent):
3556 (WebCore::MouseEvent::toElement):
3557 (WebCore::MouseEvent::fromElement):
3558 * dom/OverflowEvent.cpp:
3559 (WebCore::OverflowEvent::OverflowEvent):
3560 * dom/TextEvent.cpp:
3561 (WebCore::TextEvent::TextEvent):
3562 * dom/WebKitAnimationEvent.cpp:
3563 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
3564 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
3565 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
3566 (WebCore::WebKitAnimationEvent::animationName):
3567 (WebCore::WebKitAnimationEvent::elapsedTime):
3568 * dom/WebKitTransitionEvent.cpp:
3569 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
3570 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
3571 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
3572 (WebCore::WebKitTransitionEvent::propertyName):
3573 (WebCore::WebKitTransitionEvent::elapsedTime):
3574 * dom/WheelEvent.cpp:
3575 (WebCore::WheelEvent::WheelEvent):
3576 (WebCore::WheelEvent::initWheelEvent):
3577 * dom/XMLTokenizerLibxml2.cpp:
3578 * dom/XMLTokenizerQt.cpp:
3579 * editing/DeleteButton.cpp:
3580 (WebCore::DeleteButton::defaultEventHandler):
3581 * editing/EditCommand.cpp:
3582 * editing/Editor.cpp:
3583 (WebCore::Editor::canDHTMLCut):
3584 (WebCore::Editor::canDHTMLCopy):
3585 (WebCore::Editor::canDHTMLPaste):
3586 (WebCore::Editor::tryDHTMLCopy):
3587 (WebCore::Editor::tryDHTMLCut):
3588 (WebCore::Editor::tryDHTMLPaste):
3589 (WebCore::dispatchEditableContentChangedEvents):
3590 * editing/ReplaceSelectionCommand.cpp:
3591 (WebCore::ReplacementFragment::ReplacementFragment):
3592 * editing/SelectionController.cpp:
3593 (WebCore::SelectionController::setFocused):
3594 * html/HTMLAnchorElement.cpp:
3595 (WebCore::HTMLAnchorElement::defaultEventHandler):
3596 * html/HTMLBodyElement.cpp:
3597 (WebCore::HTMLBodyElement::parseMappedAttribute):
3598 * html/HTMLButtonElement.cpp:
3599 (WebCore::HTMLButtonElement::parseMappedAttribute):
3600 (WebCore::HTMLButtonElement::defaultEventHandler):
3601 * html/HTMLElement.cpp:
3602 (WebCore::HTMLElement::parseMappedAttribute):
3603 * html/HTMLFormControlElement.cpp:
3604 (WebCore::HTMLFormControlElement::onChange):
3605 * html/HTMLFormElement.cpp:
3606 (WebCore::HTMLFormElement::handleLocalEvents):
3607 (WebCore::HTMLFormElement::prepareSubmit):
3608 (WebCore::HTMLFormElement::reset):
3609 (WebCore::HTMLFormElement::parseMappedAttribute):
3610 * html/HTMLFrameElementBase.cpp:
3611 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3612 * html/HTMLFrameSetElement.cpp:
3613 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3614 * html/HTMLImageElement.cpp:
3615 (WebCore::HTMLImageElement::parseMappedAttribute):
3616 * html/HTMLImageLoader.cpp:
3617 (WebCore::HTMLImageLoader::dispatchLoadEvent):
3618 * html/HTMLInputElement.cpp:
3619 (WebCore::HTMLInputElement::parseMappedAttribute):
3620 (WebCore::HTMLInputElement::setValueFromRenderer):
3621 (WebCore::HTMLInputElement::preDispatchEventHandler):
3622 (WebCore::HTMLInputElement::postDispatchEventHandler):
3623 (WebCore::HTMLInputElement::defaultEventHandler):
3624 (WebCore::HTMLInputElement::onSearch):
3625 * html/HTMLLabelElement.cpp:
3626 (WebCore::HTMLLabelElement::defaultEventHandler):
3627 * html/HTMLMediaElement.cpp:
3628 (WebCore::HTMLMediaElement::load):
3629 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
3630 (WebCore::HTMLMediaElement::setReadyState):
3631 (WebCore::HTMLMediaElement::progressEventTimerFired):
3632 (WebCore::HTMLMediaElement::seek):
3633 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
3634 (WebCore::HTMLMediaElement::setPlaybackRate):
3635 (WebCore::HTMLMediaElement::play):
3636 (WebCore::HTMLMediaElement::pause):
3637 (WebCore::HTMLMediaElement::setVolume):
3638 (WebCore::HTMLMediaElement::setMuted):
3639 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3640 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
3641 * html/HTMLObjectElement.cpp:
3642 (WebCore::HTMLObjectElement::parseMappedAttribute):
3643 * html/HTMLOptionElement.cpp:
3644 * html/HTMLScriptElement.cpp:
3645 (WebCore::HTMLScriptElement::parseMappedAttribute):
3646 (WebCore::HTMLScriptElement::dispatchLoadEvent):
3647 (WebCore::HTMLScriptElement::dispatchErrorEvent):
3648 * html/HTMLSelectElement.cpp:
3649 (WebCore::HTMLSelectElement::parseMappedAttribute):
3650 (WebCore::HTMLSelectElement::defaultEventHandler):
3651 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3652 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3653 * html/HTMLTextAreaElement.cpp:
3654 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3655 (WebCore::HTMLTextAreaElement::defaultEventHandler):
3656 * html/HTMLTokenizer.cpp:
3657 (WebCore::HTMLTokenizer::notifyFinished):
3658 * loader/FrameLoader.cpp:
3659 (WebCore::FrameLoader::stopLoading):
3660 (WebCore::FrameLoader::canCachePage):
3661 * loader/ImageDocument.cpp:
3662 (WebCore::ImageEventListener::handleEvent):
3663 * loader/ImageLoader.cpp:
3664 * loader/MediaDocument.cpp:
3665 (WebCore::MediaDocument::defaultEventHandler):
3666 * loader/appcache/DOMApplicationCache.cpp:
3667 (WebCore::DOMApplicationCache::callCheckingListener):
3668 (WebCore::DOMApplicationCache::callErrorListener):
3669 (WebCore::DOMApplicationCache::callNoUpdateListener):
3670 (WebCore::DOMApplicationCache::callDownloadingListener):
3671 (WebCore::DOMApplicationCache::callProgressListener):
3672 (WebCore::DOMApplicationCache::callUpdateReadyListener):
3673 (WebCore::DOMApplicationCache::callCachedListener):
3674 * page/AccessibilityObject.cpp:
3675 * page/AccessibilityRenderObject.cpp:
3676 (WebCore::AccessibilityRenderObject::mouseButtonListener):
3677 * page/ContextMenuController.cpp:
3678 (WebCore::ContextMenuController::handleContextMenuEvent):
3679 * page/DOMWindow.cpp:
3680 (WebCore::DOMWindow::on*): (multiple methods)
3681 (WebCore::DOMWindow::setOn*): (multiple methods)
3682 * page/EventHandler.cpp:
3683 (WebCore::EventHandler::handleMousePressEvent):
3684 (WebCore::EventHandler::handleMouseDoubleClickEvent):
3685 (WebCore::EventHandler::handleMouseMoveEvent):
3686 (WebCore::EventHandler::handleMouseReleaseEvent):
3687 (WebCore::EventHandler::updateDragAndDrop):
3688 (WebCore::EventHandler::cancelDragAndDrop):
3689 (WebCore::EventHandler::performDragAndDrop):
3690 (WebCore::EventHandler::updateMouseEventTargetNode):
3691 (WebCore::EventHandler::dispatchMouseEvent):
3692 (WebCore::EventHandler::sendContextMenuEvent):
3693 (WebCore::EventHandler::canMouseDownStartSelect):
3694 (WebCore::EventHandler::canMouseDragExtendSelect):
3695 (WebCore::EventHandler::defaultKeyboardEventHandler):
3696 (WebCore::EventHandler::dragSourceMovedTo):
3697 (WebCore::EventHandler::dragSourceEndedAt):
3698 (WebCore::EventHandler::handleDrag):
3699 (WebCore::EventHandler::handleTextInputEvent):
3700 * page/FocusController.cpp:
3701 * page/Frame.cpp:
3702 (WebCore::Frame::sendResizeEvent):
3703 (WebCore::Frame::sendScrollEvent):
3704 * page/Page.cpp:
3705 (WebCore::networkStateChanged):
3706 * page/animation/AnimationBase.cpp:
3707 (WebCore::AnimationBase::updateStateMachine):
3708 (WebCore::AnimationBase::animationTimerCallbackFired):
3709 (WebCore::AnimationBase::primeEventTimers):
3710 * page/animation/ImplicitAnimation.cpp:
3711 (WebCore::ImplicitAnimation::onAnimationEnd):
3712 (WebCore::ImplicitAnimation::sendTransitionEvent):
3713 * page/animation/KeyframeAnimation.cpp:
3714 (WebCore::KeyframeAnimation::onAnimationStart):
3715 (WebCore::KeyframeAnimation::onAnimationIteration):
3716 (WebCore::KeyframeAnimation::onAnimationEnd):
3717 (WebCore::KeyframeAnimation::sendAnimationEvent):
3718 * page/gtk/EventHandlerGtk.cpp:
3719 * page/mac/EventHandlerMac.mm:
3720 (WebCore::isKeyboardOptionTab):
3721 * page/mac/FrameMac.mm:
3722 * page/qt/EventHandlerQt.cpp:
3723 (WebCore::isKeyboardOptionTab):
3724 * plugins/PluginView.cpp:
3725 * plugins/gtk/PluginViewGtk.cpp:
3726 * plugins/qt/PluginViewQt.cpp:
3727 * plugins/win/PluginViewWin.cpp:
3728 (WebCore::PluginView::handleKeyboardEvent):
3729 (WebCore::PluginView::handleMouseEvent):
3730 * rendering/MediaControlElements.cpp:
3731 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
3732 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
3733 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
3734 (WebCore::MediaControlTimelineElement::defaultEventHandler):
3735 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
3736 * rendering/RenderFrameSet.cpp:
3737 (WebCore::RenderFrameSet::userResize):
3738 * rendering/RenderLayer.cpp:
3739 (WebCore::RenderLayer::scrollToOffset):
3740 * rendering/RenderListBox.cpp:
3741 (WebCore::RenderListBox::valueChanged):
3742 * rendering/RenderMedia.cpp:
3743 (WebCore::RenderMedia::forwardEvent):
3744 * rendering/RenderObject.cpp:
3745 * rendering/RenderSlider.cpp:
3746 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
3747 * rendering/RenderTextControl.cpp:
3748 (WebCore::RenderTextControl::forwardEvent):
3749 (WebCore::RenderTextControl::selectionChanged):
3750 * rendering/RenderWidget.cpp:
3751 * rendering/TextControlInnerElements.cpp:
3752 (WebCore::TextControlInnerTextElement::defaultEventHandler):
3753 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
3754 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
3755 * storage/LocalStorageArea.cpp:
3756 (WebCore::LocalStorageArea::dispatchStorageEvent):
3757 * storage/SessionStorageArea.cpp:
3758 (WebCore::SessionStorageArea::dispatchStorageEvent):
3759 * svg/SVGAElement.cpp:
3760 (WebCore::SVGAElement::defaultEventHandler):
3761 * svg/SVGDocument.cpp:
3762 (WebCore::SVGDocument::dispatchZoomEvent):
3763 (WebCore::SVGDocument::dispatchScrollEvent):
3764 * svg/SVGElement.cpp:
3765 (WebCore::SVGElement::parseMappedAttribute):
3766 (WebCore::hasLoadListener):
3767 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3768 * svg/SVGElementInstance.cpp:
3769 (WebCore::SVGElementInstance::on*): (multiple methods)
3770 (WebCore::SVGElementInstance::setOn*): (multiple methods)
3771 * svg/SVGImageLoader.cpp:
3772 (WebCore::SVGImageLoader::dispatchLoadEvent):
3773 * svg/SVGSVGElement.cpp:
3774 (WebCore::SVGSVGElement::parseMappedAttribute):
3775 * svg/SVGScriptElement.cpp:
3776 (WebCore::SVGScriptElement::dispatchErrorEvent):
3777 * xml/XMLHttpRequest.cpp:
3778 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
3779 (WebCore::XMLHttpRequest::dispatchAbortEvent):
3780 (WebCore::XMLHttpRequest::dispatchErrorEvent):
3781 (WebCore::XMLHttpRequest::dispatchLoadEvent):
3782 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
3783 (WebCore::XMLHttpRequest::dispatchProgressEvent):
3784 * xml/XMLHttpRequestUpload.cpp:
3785 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
3786 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
3787 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
3788 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
3789 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
3790 * xml/XPathResult.cpp:
3791 (WebCore::XPathResult::XPathResult):
3792 (WebCore::XPathResult::~XPathResult):
3793 (WebCore::XPathResult::invalidateIteratorState):
3794 Access event names via eventNames() function.
3795
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +000037962008-11-04 Cameron Zwarich <zwarich@apple.com>
3797
cwzwarich@webkit.orgd39a1fc2008-11-04 09:43:49 +00003798 Reviewed by Mark Rowe.
3799
3800 Delete unused forwarding headers.
3801
3802 * ForwardingHeaders/kjs/Activation.h: Removed.
3803 * ForwardingHeaders/kjs/Register.h: Removed.
3804 * ForwardingHeaders/kjs/RegisterID.h: Removed.
3805
38062008-11-04 Cameron Zwarich <zwarich@apple.com>
3807
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +00003808 Not reviewed.
3809
3810 Fix stupid typo in previous build fix.
3811
3812 * bindings/js/JSStorageCustom.cpp:
3813 * bindings/scripts/CodeGeneratorJS.pm:
3814 * bridge/NP_jsobject.cpp:
3815
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +000038162008-11-03 Cameron Zwarich <zwarich@apple.com>
3817
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00003818 Not reviewed.
3819
cwzwarich@webkit.org5d5284b2008-11-04 07:56:20 +00003820 Fix the build for all non-Mac platforms.
3821
3822 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
3823 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
3824 * bindings/js/JSStorageCustom.cpp:
3825 * bindings/scripts/CodeGeneratorJS.pm:
3826 * bridge/NP_jsobject.cpp:
3827
38282008-11-03 Cameron Zwarich <zwarich@apple.com>
3829
3830 Not reviewed.
3831
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00003832 Fix the wxWindows build.
3833
3834 * bridge/c/c_instance.cpp:
3835
38362008-11-03 Cameron Zwarich <zwarich@apple.com>
3837
cwzwarich@webkit.orgb91210c2008-11-04 07:10:41 +00003838 Rubber-stamped by Maciej Stachowiak.
3839
3840 Move more files into the runtime subdirectory of JavaScriptCore.
3841
3842 * ForwardingHeaders/kjs/ArgList.h: Removed.
3843 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
3844 * ForwardingHeaders/kjs/ExecState.h: Removed.
3845 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
3846 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
3847 * ForwardingHeaders/kjs/JSLock.h: Removed.
3848 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
3849 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
3850 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
3851 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
3852 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
3853 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
3854 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
3855 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
3856 * bindings/js/GCController.cpp:
3857 * bindings/js/JSCustomPositionCallback.cpp:
3858 * bindings/js/JSCustomPositionErrorCallback.cpp:
3859 * bindings/js/JSCustomSQLStatementCallback.cpp:
3860 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3861 * bindings/js/JSCustomSQLTransactionCallback.cpp:
3862 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3863 * bindings/js/JSCustomVoidCallback.cpp:
3864 * bindings/js/JSCustomXPathNSResolver.cpp:
3865 * bindings/js/JSDOMWindowBase.cpp:
3866 * bindings/js/JSEventCustom.cpp:
3867 * bindings/js/JSEventListener.cpp:
3868 * bindings/js/JSNodeFilterCondition.cpp:
3869 * bindings/js/ScheduledAction.cpp:
3870 * bindings/js/ScriptController.cpp:
3871 * bindings/js/ScriptControllerMac.mm:
3872 * bindings/objc/WebScriptObject.mm:
3873 * bridge/NP_jsobject.cpp:
3874 * bridge/c/c_class.cpp:
3875 * bridge/c/c_instance.cpp:
3876 * bridge/c/c_runtime.cpp:
3877 * bridge/c/c_utility.cpp:
3878 * bridge/jni/jni_class.cpp:
3879 * bridge/jni/jni_instance.cpp:
3880 * bridge/jni/jni_jsobject.mm:
3881 * bridge/jni/jni_objc.mm:
3882 * bridge/jni/jni_runtime.cpp:
3883 * bridge/jni/jni_runtime.h:
3884 * bridge/jni/jni_utility.cpp:
3885 * bridge/npruntime.cpp:
3886 * bridge/objc/objc_instance.mm:
3887 * bridge/objc/objc_runtime.mm:
3888 * bridge/objc/objc_utility.mm:
3889 * bridge/runtime.cpp:
3890 * dom/Document.cpp:
3891 * dom/Node.cpp:
3892 * dom/NodeFilter.cpp:
3893 * dom/NodeIterator.cpp:
3894 * dom/TreeWalker.cpp:
3895 * history/CachedPage.cpp:
3896 * inspector/InspectorController.cpp:
3897 * inspector/JavaScriptCallFrame.cpp:
3898 * inspector/JavaScriptCallFrame.h:
3899 * inspector/JavaScriptDebugServer.cpp:
3900 * inspector/JavaScriptProfileNode.cpp:
3901 * loader/FrameLoader.cpp:
3902 * loader/icon/IconDatabase.cpp:
3903 * page/Console.cpp:
3904 * page/Page.cpp:
3905 * page/mac/FrameMac.mm:
3906 * plugins/PluginView.cpp:
3907 * plugins/gtk/PluginViewGtk.cpp:
3908 * plugins/qt/PluginViewQt.cpp:
3909 * plugins/win/PluginViewWin.cpp:
3910 * storage/Database.cpp:
3911 * xml/XMLHttpRequest.cpp:
3912
39132008-11-03 Cameron Zwarich <zwarich@apple.com>
3914
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +00003915 Reviewed by Sam Weinig.
3916
3917 Remove the forwarding header for FunctionCallProfile, because it was
3918 renamed to ProfileNode in r33466.
3919
3920 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
3921
simon.fraser@apple.comf9050b32008-11-03 22:37:00 +000039222008-11-03 Simon Fraser <simon.fraser@apple.com>
3923
3924 Reviewed by Dave Hyatt
3925
3926 https://bugs.webkit.org/show_bug.cgi?id=22026
3927
3928 When computing the bounds of the transparency layer, we need to
3929 map the clipRect through the enclosing transform.
3930
3931 Test: fast/layers/opacity-transforms.html
3932
3933 * rendering/RenderLayer.cpp:
3934 (WebCore::transparencyClipBox):
3935
kdecker@apple.comeb4eabb22008-11-03 20:52:50 +000039362008-11-03 Kevin Decker <kdecker@apple.com>
3937
3938 Reviewed by Anders Carlsson.
3939
3940 https://bugs.webkit.org/show_bug.cgi?id=22053
3941
3942 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
3943
3944 * bridge/npapi.h:
3945
alp@webkit.org75ab3a52008-11-03 19:15:13 +000039462008-11-03 Xan Lopez <xan@gnome.org>
3947
3948 Reviewed by Alp Toker.
3949
3950 Update parseDataUrl() function in the libsoup http backend with
3951 the one from the curl backend which has recent correctness and crash
3952 fixes.
3953
3954 * platform/network/soup/ResourceHandleSoup.cpp:
3955 (WebCore::parseDataUrl):
3956
alp@webkit.org1ad9e722008-11-03 16:50:16 +000039572008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
3958
3959 Reviewed by Alp Toker.
3960
3961 https://bugs.webkit.org/show_bug.cgi?id=22041
3962 Fix CURL crashes on the test suite
3963
alp@webkit.orgc90968d2008-11-03 17:11:19 +00003964 Fix segfault with setDefersLoading(). Do not call into curl when we
3965 don't have a CURL handle.
3966
3967 It is attempted to defer the loading before the load has been
3968 started (no curl handle was allocated yet). If that happens then
3969 just remember that. ResourceHandleManager::startJob is already taking
3970 care of this and in initResourceHandle the the downloading will
3971 be paused if needed.
3972
3973 Fixes fast/loader/simultaneous-reloads-assert.html
3974
3975 * platform/network/curl/ResourceHandleCurl.cpp:
3976 (WebCore::ResourceHandle::setDefersLoading):
3977
39782008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
3979
3980 Reviewed by Alp Toker.
3981
3982 https://bugs.webkit.org/show_bug.cgi?id=22041
3983 Fix CURL crashes on the test suite
3984
alp@webkit.org1ad9e722008-11-03 16:50:16 +00003985 Do not send "no data" to WebCore in parseDataUrl().
3986
3987 Fixes assert on fast/tokenizer/image-empty-crash.html
3988
3989 * platform/network/curl/ResourceHandleManager.cpp:
3990 (WebCore::parseDataUrl):
3991
christian@webkit.orgfb968c62008-11-02 20:23:14 +000039922008-11-02 Xan Lopez <xan@gnome.org>
3993
3994 Reviewed by Holger Freyther.
3995
3996 https://bugs.webkit.org/show_bug.cgi?id=22009
3997 HTML5 Video with GStreamer pulls gnome-vfs without using it
3998
3999 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4000 Remove gnome-vfs include.
4001
abarth@webkit.orga796cc02008-11-01 09:31:42 +000040022008-11-01 Adam Barth <abarth@webkit.org>
4003
4004 Reviewed by Sam Weinig.
4005
4006 Be sure to check the final URLs of requested resources to make sure we
4007 don't get fooled by HTTP redirects.
4008
4009 https://bugs.webkit.org/show_bug.cgi?id=21963
4010
4011 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
4012 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
4013
4014 * dom/XMLTokenizerLibxml2.cpp:
4015 (WebCore::openFunc):
4016 * loader/DocLoader.cpp:
4017 (WebCore::DocLoader::canRequest):
4018 (WebCore::DocLoader::requestResource):
4019 * loader/DocLoader.h:
4020 * xml/XSLTProcessor.cpp:
4021 (WebCore::docLoaderFunc):
4022
ap@webkit.orgec7365b2008-11-01 07:21:53 +000040232008-11-01 Alexey Proskuryakov <ap@webkit.org>
4024
4025 Reviewed by Darin Adler.
4026
4027 https://bugs.webkit.org/show_bug.cgi?id=22001
4028 AtomicStringImpl* keys of event listener maps can outlive their strings
4029
4030 Test: fast/events/destroyed-atomic-string.html
4031
4032 * dom/MessagePort.cpp:
4033 (WebCore::MessagePort::addEventListener):
4034 (WebCore::MessagePort::removeEventListener):
4035 (WebCore::MessagePort::dispatchEvent):
4036 * dom/MessagePort.h:
4037 * loader/appcache/DOMApplicationCache.cpp:
4038 (WebCore::DOMApplicationCache::addEventListener):
4039 (WebCore::DOMApplicationCache::removeEventListener):
4040 (WebCore::DOMApplicationCache::dispatchEvent):
4041 * loader/appcache/DOMApplicationCache.h:
4042 * xml/XMLHttpRequest.cpp:
4043 (WebCore::XMLHttpRequest::addEventListener):
4044 (WebCore::XMLHttpRequest::removeEventListener):
4045 (WebCore::XMLHttpRequest::dispatchEvent):
4046 * xml/XMLHttpRequest.h:
4047 * xml/XMLHttpRequestUpload.cpp:
4048 (WebCore::XMLHttpRequestUpload::addEventListener):
4049 (WebCore::XMLHttpRequestUpload::removeEventListener):
4050 (WebCore::XMLHttpRequestUpload::dispatchEvent):
4051 * xml/XMLHttpRequestUpload.h:
4052 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
4053
ap@webkit.orgf319b262008-11-01 07:11:09 +000040542008-10-31 Alexey Proskuryakov <ap@webkit.org>
4055
4056 Reviewed by Darin Adler.
4057
4058 https://bugs.webkit.org/show_bug.cgi?id=21998
4059 Use JSDOMGlobalObject in EventListener-related bindings
4060
4061 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
4062
4063 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
4064 bindings for inline event handlers.
4065
4066 * bindings/js/JSDOMApplicationCacheCustom.cpp:
4067 (WebCore::JSDOMApplicationCache::addEventListener):
4068 (WebCore::JSDOMApplicationCache::removeEventListener):
4069 * bindings/js/JSEventTargetNodeCustom.cpp:
4070 (WebCore::JSEventTargetNode::addEventListener):
4071 (WebCore::JSEventTargetNode::removeEventListener):
4072 * bindings/js/JSMessagePortCustom.cpp:
4073 (WebCore::JSMessagePort::removeEventListener):
4074 * bindings/js/JSSVGElementInstanceCustom.cpp:
4075 (WebCore::JSSVGElementInstance::addEventListener):
4076 (WebCore::JSSVGElementInstance::removeEventListener):
4077 * bindings/js/JSXMLHttpRequestCustom.cpp:
4078 (WebCore::JSXMLHttpRequest::addEventListener):
4079 (WebCore::JSXMLHttpRequest::removeEventListener):
4080 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4081 (WebCore::JSXMLHttpRequestUpload::addEventListener):
4082 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
4083 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
4084
4085 * dom/EventTarget.h:
4086 * dom/EventTargetNode.cpp:
4087 (WebCore::EventTargetNode::scriptExecutionContext):
4088 * dom/EventTargetNode.h:
4089 * dom/MessagePort.cpp:
4090 * dom/MessagePort.h:
4091 (WebCore::MessagePort::scriptExecutionContext):
4092 * loader/appcache/DOMApplicationCache.cpp:
4093 (WebCore::DOMApplicationCache::scriptExecutionContext):
4094 * loader/appcache/DOMApplicationCache.h:
4095 * svg/SVGElementInstance.cpp:
4096 (WebCore::SVGElementInstance::scriptExecutionContext):
4097 * svg/SVGElementInstance.h:
4098 * xml/XMLHttpRequest.cpp:
4099 (WebCore::XMLHttpRequest::scriptExecutionContext):
4100 * xml/XMLHttpRequest.h:
4101 * xml/XMLHttpRequestUpload.cpp:
4102 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
4103 * xml/XMLHttpRequestUpload.h:
4104 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
4105 available yet.
4106
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +000041072008-10-31 Cameron Zwarich <zwarich@apple.com>
4108
cwzwarich@webkit.org16e38912008-11-01 01:05:21 +00004109 Rubber-stamped by Geoff Garen.
4110
4111 Rename SourceRange.h to SourceCode.h.
4112
4113 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
4114 * ForwardingHeaders/kjs/SourceRange.h: Removed.
4115 * bindings/js/StringSourceProvider.h:
4116 * bridge/NP_jsobject.cpp:
4117
41182008-10-31 Cameron Zwarich <zwarich@apple.com>
4119
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +00004120 Reviewed by Darin Adler.
4121
4122 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
4123 <https://bugs.webkit.org/show_bug.cgi?id=22019>
4124
4125 * WebCore.base.exp:
4126 * page/Console.cpp:
4127 (WebCore::printToStandardOut):
4128 (WebCore::Console::shouldPrintExceptions):
4129 (WebCore::Console::setShouldPrintExceptions):
4130 * page/Console.h:
4131
mitz@apple.comb7f88482008-10-31 23:35:00 +000041322008-10-31 Dan Bernstein <mitz@apple.com>
4133
4134 Reviewed by John Sullivan.
4135
4136 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
4137
4138 * dom/Document.cpp:
4139 (WebCore::Document::cookie): Added checking if cookies are disabled.
4140 (WebCore::Document::setCookie): Ditto.
4141 * page/Navigator.cpp:
4142 (WebCore::Navigator::cookieEnabled): Ditto.
4143 * page/Page.cpp:
4144 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
4145 * page/Page.h:
4146 (WebCore::Page::cookieEnabled): Added.
4147 (WebCore::Page::setCookieEnabled): Added.
4148
adele@apple.comae80b362008-10-31 23:25:48 +000041492008-10-31 Adele Peterson <adele@apple.com>
4150
4151 Reviewed by Darin Adler.
4152
4153 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
4154 https://bugs.webkit.org/show_bug.cgi?id=22008
4155
4156 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
4157 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
4158 * platform/graphics/Icon.h: ditto.
4159 * platform/graphics/gtk/IconGtk.cpp:
4160 (WebCore::Icon::createIconForFile): ditto.
4161 (WebCore::Icon::createIconForFiles): ditto.
4162 * platform/graphics/mac/IconMac.mm:
4163 (WebCore::Icon::createIconForFile): ditto.
4164 (WebCore::Icon::createIconForFiles): ditto.
4165 * platform/graphics/qt/IconQt.cpp:
4166 (WebCore::Icon::createIconForFile): ditto.
4167 (WebCore::Icon::createIconForFiles): ditto.
4168 * platform/wx/TemporaryLinkStubs.cpp:
4169 (Icon::createIconForFile): ditto.
4170 (Icon::createIconForFiles): ditto.
4171 * platform/graphics/win/IconWin.cpp:
4172 (WebCore::Icon::createIconForFile): ditto.
4173 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
4174
4175 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
4176 Improve icon creation code to match new code in Icon::createIconForFiles
4177
timothy@apple.comfae10182008-10-31 18:49:52 +000041782008-10-31 Timothy Hatcher <timothy@apple.com>
4179
4180 Add manual tests that check breakpoints on a blockless body of "for" loops.
4181
4182 https://bugs.webkit.org/show_bug.cgi?id=22004
4183
4184 Reviewed by Darin Adler.
4185
4186 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
4187 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
4188
darin@apple.com61934912008-10-31 18:45:19 +000041892008-10-31 Darin Adler <darin@apple.com>
4190
4191 - fix build
4192
4193 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
4194
ap@webkit.orgbe35d512008-10-31 09:44:03 +000041952008-10-30 Alexey Proskuryakov <ap@webkit.org>
4196
4197 Reviewed by Darin Adler.
4198
4199 https://bugs.webkit.org/show_bug.cgi?id=21970
4200 Make MessagePort event dispatch work in workers
4201
4202 * bindings/js/JSDOMGlobalObject.cpp:
4203 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
4204 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
4205 (WebCore::JSDOMGlobalObject::findJSEventListener):
4206 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
4207 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
4208 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
4209 (WebCore::JSDOMGlobalObject::jsEventListeners):
4210 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
4211 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
4212 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
4213 (WebCore::JSDOMGlobalObject::setCurrentEvent):
4214 (WebCore::JSDOMGlobalObject::currentEvent):
4215 (WebCore::toJSDOMGlobalObject):
4216 * bindings/js/JSDOMGlobalObject.h:
4217 * bindings/js/JSDOMWindowBase.cpp:
4218 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
4219 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
4220 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
4221 * bindings/js/JSDOMWindowBase.h:
4222 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
4223
4224 * bindings/js/JSEventListener.cpp:
4225 (WebCore::JSAbstractEventListener::handleEvent):
4226 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
4227 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
4228 (WebCore::JSUnprotectedEventListener::globalObject):
4229 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
4230 (WebCore::JSEventListener::JSEventListener):
4231 (WebCore::JSEventListener::~JSEventListener):
4232 (WebCore::JSEventListener::globalObject):
4233 (WebCore::JSEventListener::clearGlobalObject):
4234 (WebCore::JSLazyEventListener::JSLazyEventListener):
4235 (WebCore::JSLazyEventListener::parseCode):
4236 * bindings/js/JSEventListener.h:
4237 (WebCore::JSUnprotectedEventListener::create):
4238 (WebCore::JSEventListener::create):
4239 (WebCore::JSLazyEventListener::create):
4240 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
4241
4242 * bindings/js/JSMessagePortCustom.cpp:
4243 (WebCore::JSMessagePort::startConversation):
4244 (WebCore::JSMessagePort::addEventListener):
4245 (WebCore::JSMessagePort::removeEventListener):
4246 (WebCore::JSMessagePort::setOnmessage):
4247 (WebCore::JSMessagePort::setOnclose):
4248 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
4249 such code, and stop using a custom implementation for JSMessagePort inline event handler
4250 getters and setters.
4251
4252 * dom/Document.cpp:
4253 (WebCore::Document::virtualURL):
4254 * dom/Document.h:
4255 * dom/ScriptExecutionContext.h:
4256 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
4257 JSLazyEventListener).
4258
cwzwarich@webkit.orgefc1b112008-10-31 08:18:20 +000042592008-10-31 Cameron Zwarich <zwarich@apple.com>
4260
4261 Not reviewed.
4262
4263 Speculative wxWindows build fix.
4264
4265 * webcore-base.bkl:
4266
mrowe@apple.com222bc732008-10-31 06:13:07 +000042672008-10-30 Mark Rowe <mrowe@apple.com>
4268
4269 Reviewed by Jon Homeycutt.
4270
4271 Explicitly default to building for only the native architecture in debug and release builds.
4272
4273 * Configurations/DebugRelease.xcconfig:
4274
cwzwarich@webkit.orga691b5a2008-10-31 05:56:58 +000042752008-10-30 Cameron Zwarich <zwarich@apple.com>
4276
4277 Rubber-stamped by Sam Weinig.
4278
4279 Create a debugger directory in JavaScriptCore and move the relevant
4280 files to it.
4281
4282 * ForwardingHeaders/debugger: Added.
4283 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
4284 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
4285 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
4286 * ForwardingHeaders/kjs/debugger.h: Removed.
4287 * WebCore.pro:
4288 * bindings/js/ScriptController.cpp:
4289 * inspector/JavaScriptCallFrame.cpp:
4290 * inspector/JavaScriptCallFrame.h:
4291 * inspector/JavaScriptDebugServer.cpp:
4292 * inspector/JavaScriptDebugServer.h:
4293
timothy@apple.com4ab9f652008-10-31 05:49:22 +000042942008-10-30 Tony Chang <tony@chromium.org>
4295
4296 Fix 2 Windows theme bugs:
4297 1) Checkboxes marked readonly were rendered incorrectly
4298 2) If a button has focus and is pressed, it was rendered
4299 as focused rather than pressed.
4300
4301 https://bugs.webkit.org/show_bug.cgi?id=21859
4302
4303 Reviewed by Dave Hyatt.
4304
4305 * rendering/RenderThemeWin.cpp:
4306 (WebCore::RenderThemeWin::determineState):
4307 (WebCore::RenderThemeWin::determineButtonState):
4308
timothy@apple.come95b7572008-10-31 05:36:06 +000043092008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
4310
4311 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
4312 warnings; add some parentheses to disambiguate things. No functional
4313 changes, so no tests.
4314
4315 https://bugs.webkit.org/show_bug.cgi?id=21973
4316 Add parentheses to clean up some gcc warnings
4317
4318 Reviewed by Dan Bernstein.
4319
4320 * platform/graphics/Font.h:
4321 (WebCore::Font::treatAsZeroWidthSpace):
4322
timothy@apple.comef646322008-10-31 05:29:01 +000043232008-10-30 Aaron Boodman <aa@chromium.org>
4324
4325 Added an explicit dependency on HashMap.h. It was getting pulled in via
4326 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
4327
4328 Reviewed by Darin Adler.
4329
4330 * platform/text/PlatformString.h:
4331
ddkilzer@apple.com14d66632008-10-31 01:54:49 +000043322008-10-30 Greg Bolsinga <bolsinga@apple.com>
4333
4334 Reviewed by Sam Weinig
4335
ddkilzer@apple.com52840822008-10-31 01:56:43 +00004336 https://bugs.webkit.org/show_bug.cgi?id=21967
4337
4338 For some platforms the GeolocationService must be suspended and resumed.
4339
4340 * page/Geolocation.cpp:
4341 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
4342 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
4343 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
4344 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
4345 * page/Geolocation.h:
4346 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
4347 * platform/GeolocationService.h:
4348 (WebCore::GeolocationService::suspend): empty implementation
4349 (WebCore::GeolocationService::resume): empty implementation
4350
43512008-10-30 Greg Bolsinga <bolsinga@apple.com>
4352
4353 Reviewed by Sam Weinig
4354
ddkilzer@apple.com14d66632008-10-31 01:54:49 +00004355 https://bugs.webkit.org/show_bug.cgi?id=21966
4356
4357 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
4358 http://dev.w3.org/geo/api/spec-source.html
4359
4360 * page/Geolocation.cpp:
4361 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
4362 * page/Geoposition.cpp: velocity is now called speed
4363 (WebCore::Geoposition::toString):
4364 * page/Geoposition.h: velocity is now called speed
4365 (WebCore::Geoposition::create):
4366 (WebCore::Geoposition::speed):
4367 (WebCore::Geoposition::Geoposition):
4368 * page/Geoposition.idl: velocity is now called speed
4369 * page/PositionOptions.h: timeout is now unsigned
4370 (WebCore::PositionOptions::create):
4371 (WebCore::PositionOptions::timeout):
4372 (WebCore::PositionOptions::setTimeout):
4373 (WebCore::PositionOptions::PositionOptions):
4374 * page/PositionOptions.idl: timeout is now unsigned long
4375
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +000043762008-10-30 Justin Garcia <justin.garcia@apple.com>
4377
justin.garcia@apple.com484cb6b2008-10-31 00:11:48 +00004378 Also handle preserved newlines.
4379
4380 * editing/BreakBlockquoteCommand.cpp:
4381 (WebCore::BreakBlockquoteCommand::doApply):
4382
43832008-10-30 Justin Garcia <justin.garcia@apple.com>
4384
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +00004385 Reviewed by Beth Dakin.
4386
4387 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
4388
4389 * editing/BreakBlockquoteCommand.cpp:
4390 (WebCore::BreakBlockquoteCommand::doApply):
4391 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
4392 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
4393 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
4394 we now use visiblePos (in order to avoid VisiblePosition creation).
4395 Set pos after we delete the current selection (if there is one), and be consistent about what we set
4396 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
4397 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
4398 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
4399 where the caret is between text and a br work correctly.
4400
vestbo@webkit.orgd8876f12008-10-30 20:45:52 +000044012008-10-30 Yael Aharon <yael.aharon@nokia.com>
4402
4403 Reviewed by Darin Adler.
4404
4405 Fix the Qt build.
4406
4407 https://bugs.webkit.org/show_bug.cgi?id=21969
4408
4409 * inspector/front-end/WebKit.qrc:
4410 * platform/graphics/qt/ImageBufferQt.cpp:
4411 (WebCore::ImageBufferData::ImageBufferData):
4412 (WebCore::ImageBuffer::ImageBuffer):
4413 (WebCore::ImageBuffer::context):
4414 (WebCore::ImageBuffer::image):
4415 (WebCore::ImageBuffer::toDataURL):
4416
darin@apple.comf9f4f9a2008-10-30 20:52:02 +000044172008-10-30 Justin Garcia <justin.garcia@apple.com>
4418
4419 Reviewed by Darin Adler.
4420
4421 More preparation for:
4422 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
4423
4424 * editing/BreakBlockquoteCommand.cpp:
4425 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
4426 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
4427 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
4428 doesn't really fix a bug, since we can't really get into a situation where we move to a different
4429 topBlockquote, but it simplifies the code.
4430
alp@webkit.org3d557522008-10-30 14:09:59 +000044312008-10-30 Dirk Schulze <vbs85@gmx.de>
4432
4433 Reviewed by Alp Toker.
4434
4435 https://bugs.webkit.org/show_bug.cgi?id=21883
4436 [CAIRO] globalAlpha has to be stored and restored
4437
4438 Cairo's globalAlpha has to be stored and reloaded on calling
4439 save() and restore(). We use the power of GraphicsContextState for this.
4440
4441 * platform/graphics/GraphicsContextPrivate.h:
4442 (WebCore::GraphicsContextState::GraphicsContextState):
4443 * platform/graphics/cairo/GraphicsContextCairo.cpp:
4444 (WebCore::GraphicsContext::fillPath):
4445 (WebCore::GraphicsContext::strokePath):
4446 (WebCore::GraphicsContext::setAlpha):
4447 (WebCore::GraphicsContext::getAlpha):
4448 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
4449 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4450
ap@webkit.org771c2652008-10-30 08:41:34 +000044512008-10-29 Alexey Proskuryakov <ap@webkit.org>
4452
4453 Reviewed by Maciej Stachowiak.
4454
4455 Rename "attachedToEventTargetNode" to "isInline".
4456
4457 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
4458 XMLHttpRequest, MessagePort et al.
4459
4460 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
4461 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
4462 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
4463 "inlineEventListenerForType", as they work with inline listeners.
4464
4465 * bindings/js/JSDOMApplicationCacheCustom.cpp:
4466 (WebCore::JSDOMApplicationCache::addEventListener):
4467 (WebCore::JSDOMApplicationCache::removeEventListener):
4468 * bindings/js/JSMessagePortCustom.cpp:
4469 (WebCore::JSMessagePort::setOnmessage):
4470 (WebCore::JSMessagePort::setOnclose):
4471 * bindings/js/JSXMLHttpRequestCustom.cpp:
4472 (WebCore::JSXMLHttpRequest::addEventListener):
4473 (WebCore::JSXMLHttpRequest::removeEventListener):
4474 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4475 (WebCore::JSXMLHttpRequestUpload::addEventListener):
4476 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
4477 Pass a correct value for this argument - callers used to be confused, because they didn't
4478 consider themselves event target nodes. This doesn't affect behavior however, as the only
4479 difference between inline and non-inline event handlers is that the former treat
4480 "return false" as "event.preventDefault()", which is not important to any of these objects.
4481
4482 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
4483 Assert that isInline is true instead of checking its value, as the constructor of this class
4484 always sets it to true.
4485
4486 * bindings/js/JSDOMWindowBase.cpp:
4487 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
4488 (WebCore::JSDOMWindowBase::findJSEventListener):
4489 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
4490 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
4491 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
4492 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
4493 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
4494 * bindings/js/JSDOMWindowBase.h:
4495 * bindings/js/JSEventListener.cpp:
4496 (WebCore::JSAbstractEventListener::handleEvent):
4497 (WebCore::JSAbstractEventListener::isInline):
4498 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
4499 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
4500 (WebCore::JSEventListener::JSEventListener):
4501 (WebCore::JSEventListener::~JSEventListener):
4502 (WebCore::JSLazyEventListener::parseCode):
4503 * bindings/js/JSEventListener.h:
4504 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
4505 (WebCore::JSUnprotectedEventListener::create):
4506 (WebCore::JSEventListener::create):
4507 * bindings/js/ScriptController.cpp:
4508 (WebCore::ScriptController::createInlineEventHandler):
4509 * bindings/js/ScriptController.h:
4510 * dom/Document.cpp:
4511 (WebCore::Document::setWindowInlineEventListenerForType):
4512 (WebCore::Document::windowInlineEventListenerForType):
4513 (WebCore::Document::removeWindowInlineEventListenerForType):
4514 (WebCore::Document::createEventListener):
4515 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
4516 * dom/Document.h:
4517 * dom/EventListener.h:
4518 (WebCore::EventListener::isInline):
4519 * dom/EventTargetNode.cpp:
4520 (WebCore::EventTargetNode::removeInlineEventListenerForType):
4521 (WebCore::EventTargetNode::setInlineEventListenerForType):
4522 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
4523 (WebCore::EventTargetNode::inlineEventListenerForType):
4524 (WebCore::EventTargetNode::on*): (many methods)
4525 (WebCore::EventTargetNode::setOn*): (many methods)
4526 * dom/EventTargetNode.h:
4527 * editing/ReplaceSelectionCommand.cpp:
4528 (WebCore::ReplacementFragment::ReplacementFragment):
4529 * html/HTMLBodyElement.cpp:
4530 (WebCore::HTMLBodyElement::parseMappedAttribute):
4531 * html/HTMLButtonElement.cpp:
4532 (WebCore::HTMLButtonElement::parseMappedAttribute):
4533 * html/HTMLElement.cpp:
4534 (WebCore::HTMLElement::parseMappedAttribute):
4535 * html/HTMLFormElement.cpp:
4536 (WebCore::HTMLFormElement::parseMappedAttribute):
4537 * html/HTMLFrameElementBase.cpp:
4538 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
4539 * html/HTMLFrameSetElement.cpp:
4540 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
4541 * html/HTMLImageElement.cpp:
4542 (WebCore::HTMLImageElement::parseMappedAttribute):
4543 * html/HTMLInputElement.cpp:
4544 (WebCore::HTMLInputElement::parseMappedAttribute):
4545 * html/HTMLObjectElement.cpp:
4546 (WebCore::HTMLObjectElement::parseMappedAttribute):
4547 * html/HTMLScriptElement.cpp:
4548 (WebCore::HTMLScriptElement::parseMappedAttribute):
4549 * html/HTMLSelectElement.cpp:
4550 (WebCore::HTMLSelectElement::parseMappedAttribute):
4551 * html/HTMLTextAreaElement.cpp:
4552 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
4553 * page/AccessibilityRenderObject.cpp:
4554 (WebCore::AccessibilityRenderObject::mouseButtonListener):
4555 * page/DOMWindow.cpp:
4556 (WebCore::DOMWindow::setInlineEventListenerForType):
4557 (WebCore::DOMWindow::inlineEventListenerForType):
4558 (WebCore::DOMWindow::on*): (many methods)
4559 (WebCore::DOMWindow::setOn*): (many methods)
4560 * page/DOMWindow.h:
4561 * svg/SVGElement.cpp:
4562 (WebCore::SVGElement::parseMappedAttribute):
4563 * svg/SVGElementInstance.cpp:
4564 (WebCore::SVGElementInstance::on*): (many methods)
4565 (WebCore::SVGElementInstance::setOn*): (many methods)
4566 * svg/SVGSVGElement.cpp:
4567 (WebCore::SVGSVGElement::parseMappedAttribute):
4568 Rename things, as described above.
4569
zecke@webkit.orgbcca41d2008-10-29 22:39:18 +000045702008-10-29 Gustavo Noronha Silva <gns@gnome.org>
4571
4572 Reviewed and slightly changed by Holger Freyther.
4573
4574 Added all the files that need to be installed for the Inspector to
4575 work.
4576
4577 * GNUmakefile.am: Invoke the shell to get the files.
4578
darin@chromium.orgde675412008-10-29 21:45:02 +000045792008-10-29 Andrew Scherkus <scherkus@chromium.org>
4580
4581 Reviewed by Darin Adler
4582
4583 Add MediaPlayerPrivateChromium to MediaPlayer
4584 https://bugs.webkit.org/show_bug.cgi?id=21930
4585
4586 * platform/graphics/MediaPlayer.cpp:
4587
justin.garcia@apple.com8cba38d2008-10-29 21:43:47 +000045882008-10-29 Justin Garcia <justin.garcia@apple.com>
4589
4590 Reviewed by Darin Adler.
4591
4592 Some preparation for:
4593 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
4594
4595 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
4596 need to rebalance whitespace before the early return but for now don't risk any change in behavior
4597 I'll revisit that later.
4598
4599 * editing/BreakBlockquoteCommand.cpp:
4600 (WebCore::BreakBlockquoteCommand::doApply):
4601
kevino@webkit.orgce2e48a2008-10-29 20:13:27 +000046022008-10-29 Kevin Ollivier <kevino@theolliviers.com>
4603
4604 wx build fixes after addition of runtime and ImageBuffer changes.
4605
4606 * platform/graphics/wx/ImageBufferData.h: Added.
4607 * platform/graphics/wx/ImageBufferWx.cpp:
4608 (WebCore::ImageBufferData::ImageBufferData):
4609 (WebCore::ImageBuffer::ImageBuffer):
4610 (WebCore::ImageBuffer::context):
4611 * webcore-base.bkl:
4612
brettw@chromium.org95ee6812008-10-29 16:38:52 +000046132008-10-29 Brett Wilson <brettw@chromium.org>
4614
4615 Reviewed by Darin Adler
4616 https://bugs.webkit.org/attachment.cgi?id=24745
4617
4618 Allow Skia implementations to get text style changed notifications.
4619
4620 * platform/graphics/GraphicsContext.cpp:
4621
timothy@apple.comdbc138a2008-10-29 15:02:31 +000046222008-10-29 Timothy Hatcher <timothy@apple.com>
4623
4624 Add a manual test that checks breakpoints on a blockless body of
4625 an "else" statement.
4626
4627 https://bugs.webkit.org/show_bug.cgi?id=21944
4628
4629 Reviewed by Maciej Stachowiak.
4630
4631 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
4632
ap@webkit.orgc78a2072008-10-29 10:35:26 +000046332008-10-29 Alexey Proskuryakov <ap@webkit.org>
4634
ap@webkit.org7c52f882008-10-29 10:44:22 +00004635 Reviewed by Darin Adler.
4636
4637 https://bugs.webkit.org/show_bug.cgi?id=21921
4638 MessagePort messages are dispatched to documents that are not fully active
4639
4640 Covered by corrected fast/events/message-port-inactive-document.html
4641
4642 * bindings/js/JSEventListener.cpp:
4643 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
4644 that are not fully active.
4645
46462008-10-29 Alexey Proskuryakov <ap@webkit.org>
4647
ap@webkit.org6b4b6872008-10-29 10:37:26 +00004648 Reviewed by Sam Weinig.
4649
4650 https://bugs.webkit.org/show_bug.cgi?id=21922
4651 Expose MessagePort global constructor
4652
4653 Covered by existing dumper tests.
4654
4655 * dom/MessagePort.idl:
4656 * page/DOMWindow.idl:
4657
46582008-10-29 Alexey Proskuryakov <ap@webkit.org>
4659
ap@webkit.orgc78a2072008-10-29 10:35:26 +00004660 Reviewed by Darin Adler.
4661
4662 https://bugs.webkit.org/show_bug.cgi?id=21924
4663 HashTable internal index is not always deleted
4664
4665 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
4666 Call deleteTable for HashTables that are being deleted.
4667
ap@webkit.org3c120a82008-10-29 10:26:58 +000046682008-10-28 Alexey Proskuryakov <ap@webkit.org>
4669
4670 Reviewed by Darin Adler.
4671
4672 https://bugs.webkit.org/show_bug.cgi?id=21923
4673 Create an abstraction for script execution context
4674
4675 * GNUmakefile.am:
4676 * WebCore.pro:
4677 * WebCore.vcproj/WebCore.vcproj:
4678 * WebCore.xcodeproj/project.pbxproj:
4679 * WebCoreSources.bkl:
4680 Added ScriptExecutionContext.{h,cpp}.
4681
4682 * bindings/js/JSAudioConstructor.cpp:
4683 (WebCore::JSAudioConstructor::JSAudioConstructor):
4684 * bindings/js/JSAudioConstructor.h:
4685 * bindings/js/JSImageConstructor.cpp:
4686 (WebCore::JSImageConstructor::JSImageConstructor):
4687 * bindings/js/JSImageConstructor.h:
4688 * bindings/js/JSOptionConstructor.cpp:
4689 (WebCore::JSOptionConstructor::JSOptionConstructor):
4690 * bindings/js/JSOptionConstructor.h:
4691 * bindings/js/JSXMLHttpRequestConstructor.cpp:
4692 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
4693 * bindings/js/JSXMLHttpRequestConstructor.h:
4694 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
4695 Since these objects can only work within documents now, it is immediately converted back
4696 to Document.
4697
4698 * bindings/js/JSMessageChannelConstructor.cpp:
4699 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
4700 (WebCore::JSMessageChannelConstructor::construct):
4701 * bindings/js/JSMessageChannelConstructor.h:
4702 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
4703 MessageChannel needs to be supported in workers right away, so the constructor operates with
4704 it directly.
4705
4706 * dom/ActiveDOMObject.cpp:
4707 (WebCore::ActiveDOMObject::ActiveDOMObject):
4708 (WebCore::ActiveDOMObject::~ActiveDOMObject):
4709 (WebCore::ActiveDOMObject::contextDestroyed):
4710 * dom/ActiveDOMObject.h:
4711 (WebCore::ActiveDOMObject::scriptExecutionContext):
4712 * bindings/js/JSDOMBinding.cpp:
4713 (WebCore::markActiveObjectsForContext):
4714 (WebCore::markCrossHeapDependentObjectsForContext):
4715 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
4716 tracking is handled by ScriptExecutionContext.
4717
4718 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
4719
4720 * bindings/js/JSDOMGlobalObject.h:
4721 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
4722 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
4723 to worker context implementation.
4724 (WebCore::scriptExecutionContext): Added a pure virtual method to access
4725 ScriptExecutionContext, implemented by subclasses.
4726
4727 * bindings/js/JSDOMWindowBase.h:
4728 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
4729 Implement by returning the associated document. Note that this method currently gives bogus
4730 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
4731 that is currently in the frame, not the one associated with this window.
4732
4733 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
4734
4735 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
4736 Call markActiveObjectsForContext() by its new name.
4737
4738 * dom/DedicatedWorker.cpp:
4739 (WebCore::DedicatedWorker::DedicatedWorker):
4740 (WebCore::DedicatedWorker::document):
4741 * dom/DedicatedWorker.h:
4742 * xml/XMLHttpRequest.cpp:
4743 (WebCore::XMLHttpRequest::document):
4744 * xml/XMLHttpRequest.h:
4745 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
4746 within documents currently (at least for XMLHttpRequest, this will change soon though).
4747
4748 * dom/Document.cpp:
4749 (WebCore::Document::Document):
4750 (WebCore::Document::~Document):
4751 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
4752 with workers.
4753
4754 * dom/Document.h:
4755 (WebCore::Document::isDocument):
4756 (WebCore::Document::refScriptExecutionContext):
4757 (WebCore::Document::derefScriptExecutionContext):
4758 Inherit from ScriptExecutionContext.
4759
4760 * dom/MessageChannel.cpp:
4761 (WebCore::MessageChannel::MessageChannel):
4762 * dom/MessageChannel.h:
4763 (WebCore::MessageChannel::create):
4764 Use ScriptExecutionContext instead of Document.
4765
4766 * dom/MessagePort.cpp:
4767 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
4768 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
4769 unrelated issue that was causing random crashes in layout tests).
4770 (WebCore::MessagePort::MessagePort):
4771 (WebCore::MessagePort::~MessagePort):
4772 (WebCore::MessagePort::associatedFrame):
4773 (WebCore::MessagePort::clone):
4774 (WebCore::MessagePort::postMessage):
4775 (WebCore::MessagePort::startConversation):
4776 (WebCore::MessagePort::start):
4777 (WebCore::MessagePort::contextDestroyed):
4778 (WebCore::MessagePort::dispatchMessages):
4779 * dom/MessagePort.h:
4780 (WebCore::MessagePort::create):
4781 (WebCore::MessagePort::scriptExecutionContext):
4782 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
4783 work in worker contexts - we need to also make some its method thread safe for cross-thread
4784 messaging, and make event dispatching thread safe.
4785
4786 * dom/ScriptExecutionContext.cpp: Added.
4787 * dom/ScriptExecutionContext.h: Added.
4788 ActiveDOMObject and MessagePort tracking is moved from Document.
4789 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
4790 but as I'm just moving Document code, and it is Document that is the main context object
4791 in our implementation currently.
4792 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
4793 seem non-trivial to fix, and isn't really a part of this task.
4794
alp@webkit.orge27cab82008-10-29 03:20:15 +000047952008-10-28 Alp Toker <alp@nuanti.com>
4796
alp@webkit.orgb206e942008-10-29 05:22:20 +00004797 List newly-added ImageBufferData.h in build system.
4798
4799 * GNUmakefile.am:
4800
48012008-10-28 Alp Toker <alp@nuanti.com>
4802
alp@webkit.orge27cab82008-10-29 03:20:15 +00004803 Reviewed by Cameron Zwarich.
4804
4805 De-list unused WebCore ForwardingHeaders to fix the dist target.
4806
4807 * GNUmakefile.am:
4808
cwzwarich@webkit.org7eb0cf92008-10-29 02:41:47 +000048092008-10-28 Cameron Zwarich <zwarich@apple.com>
4810
4811 Not reviewed.
4812
4813 Attempt to fix the Windows build by generating Forwardingheaders for the
4814 runtime directory in JavaScriptCore.
4815
4816 * WebCore.vcproj/WebCore.vcproj:
4817
justin.garcia@apple.com28768642008-10-29 02:07:18 +000048182008-10-28 Justin Garcia <justin.garcia@apple.com>
4819
4820 Reviewed by Darin Adler.
4821
4822 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
4823
4824 * editing/Editor.cpp:
4825 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
4826 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
4827 will probably require a change more complicated than just marking the learned word as
4828 misspelled. I'll address it with a separate patch.
4829 * editing/EditorCommand.cpp:
4830 (WebCore::executeIgnoreSpelling): Added.
4831 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
4832
cwzwarich@webkit.orgba054bb2008-10-29 01:54:00 +000048332008-10-28 Cameron Zwarich <zwarich@apple.com>
4834
4835 Reviewed by Mark Rowe.
4836
4837 Move ForwardingHeaders to their correct location after the creation of
4838 the runtime directory in JavaScriptCore.
4839
4840 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
4841 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
4842 * ForwardingHeaders/kjs/CallData.h: Removed.
4843 * ForwardingHeaders/kjs/ConstructData.h: Removed.
4844 * ForwardingHeaders/kjs/DateInstance.h: Removed.
4845 * ForwardingHeaders/kjs/Error.h: Removed.
4846 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
4847 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
4848 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
4849 * ForwardingHeaders/kjs/JSArray.h: Removed.
4850 * ForwardingHeaders/kjs/JSFunction.h: Removed.
4851 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
4852 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
4853 * ForwardingHeaders/kjs/JSObject.h: Removed.
4854 * ForwardingHeaders/kjs/JSString.h: Removed.
4855 * ForwardingHeaders/kjs/JSValue.h: Removed.
4856 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
4857 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
4858 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
4859 * ForwardingHeaders/kjs/StringObject.h: Removed.
4860 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
4861 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
4862 * ForwardingHeaders/kjs/StructureID.h: Removed.
4863 * ForwardingHeaders/runtime: Added.
4864 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
4865 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
4866 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
4867 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
4868 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
4869 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
4870 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
4871 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
4872 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
4873 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
4874 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
4875 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
4876 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
4877 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
4878 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
4879 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
4880 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
4881 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
4882 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
4883 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
4884 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
4885 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
4886 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
4887 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4888 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4889 * bindings/js/JSClipboardCustom.cpp:
4890 * bindings/js/JSConsoleCustom.cpp:
4891 * bindings/js/JSCustomPositionCallback.h:
4892 * bindings/js/JSCustomPositionErrorCallback.h:
4893 * bindings/js/JSCustomSQLStatementCallback.h:
4894 * bindings/js/JSCustomSQLStatementErrorCallback.h:
4895 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
4896 * bindings/js/JSCustomVoidCallback.h:
4897 * bindings/js/JSCustomXPathNSResolver.h:
4898 * bindings/js/JSDOMBinding.cpp:
4899 * bindings/js/JSDOMBinding.h:
4900 * bindings/js/JSDOMGlobalObject.h:
4901 * bindings/js/JSDOMWindowBase.cpp:
4902 * bindings/js/JSDOMWindowCustom.cpp:
4903 * bindings/js/JSDOMWindowShell.cpp:
4904 * bindings/js/JSDatabaseCustom.cpp:
4905 * bindings/js/JSEventListener.cpp:
4906 * bindings/js/JSEventTarget.h:
4907 * bindings/js/JSHTMLDocumentCustom.cpp:
4908 * bindings/js/JSHistoryCustom.cpp:
4909 * bindings/js/JSInspectedObjectWrapper.cpp:
4910 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4911 * bindings/js/JSLocationCustom.cpp:
4912 * bindings/js/JSNodeFilterCondition.h:
4913 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4914 * bindings/js/JSQuarantinedObjectWrapper.h:
4915 * bindings/js/JSXMLHttpRequestCustom.cpp:
4916 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4917 * bindings/objc/WebScriptObject.mm:
4918 * bindings/objc/WebScriptObjectPrivate.h:
4919 * bindings/scripts/CodeGeneratorJS.pm:
4920 * bridge/NP_jsobject.cpp:
4921 * bridge/c/c_instance.cpp:
4922 * bridge/c/c_utility.cpp:
4923 * bridge/c/c_utility.h:
4924 * bridge/jni/jni_instance.cpp:
4925 * bridge/jni/jni_jsobject.h:
4926 * bridge/jni/jni_jsobject.mm:
4927 * bridge/jni/jni_runtime.cpp:
4928 * bridge/jni/jni_utility.cpp:
4929 * bridge/jni/jni_utility.h:
4930 * bridge/objc/objc_instance.mm:
4931 * bridge/objc/objc_runtime.h:
4932 * bridge/objc/objc_runtime.mm:
4933 * bridge/objc/objc_utility.h:
4934 * bridge/objc/objc_utility.mm:
4935 * bridge/runtime.h:
4936 * bridge/runtime_array.cpp:
4937 * bridge/runtime_array.h:
4938 * bridge/runtime_method.cpp:
4939 * bridge/runtime_method.h:
4940 * bridge/runtime_object.cpp:
4941 * bridge/runtime_object.h:
4942 * bridge/runtime_root.cpp:
4943 * inspector/JavaScriptCallFrame.cpp:
4944 * inspector/JavaScriptProfile.cpp:
4945 * inspector/JavaScriptProfile.h:
4946 * inspector/JavaScriptProfileNode.cpp:
4947 * inspector/JavaScriptProfileNode.h:
4948 * loader/FrameLoader.cpp:
4949 * page/Console.cpp:
4950 * plugins/PluginView.cpp:
4951 * plugins/gtk/PluginViewGtk.cpp:
4952 * plugins/qt/PluginViewQt.cpp:
4953 * plugins/win/PluginViewWin.cpp:
4954
adele@apple.com66ae4f52008-10-29 00:20:48 +000049552008-10-28 Adele Peterson <adele@apple.com>
4956
adele@apple.com39b601d2008-10-29 00:37:36 +00004957 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
4958
4959 * WebCore.vcproj/WebCore.vcproj:
4960
49612008-10-28 Adele Peterson <adele@apple.com>
4962
4963 Windows build fix.
adele@apple.com66ae4f52008-10-29 00:20:48 +00004964
4965 * platform/graphics/ImageBuffer.h:
4966 (WebCore::ImageBuffer::create):
4967
cwzwarich@webkit.orgcf5b4bf2008-10-29 00:12:35 +000049682008-10-28 Cameron Zwarich <zwarich@apple.com>
4969
4970 Not reviewed.
4971
4972 Roll out a mistaken attempt at fixing the GTK build in r37947.
4973
4974 * GNUmakefile.am:
4975
adele@apple.comdfda2f42008-10-28 23:36:33 +000049762008-10-28 Adele Peterson <adele@apple.com>
4977
4978 Reviewed by John Sullivan.
4979
4980 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
4981 "files" string for multifile uploads needs to be localized
4982
4983 * page/mac/WebCoreViewFactory.h:
4984 * platform/LocalizedStrings.h:
4985 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
4986 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
4987 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
4988 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
4989 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
4990 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
4991
brettw@chromium.org6eee5b02008-10-28 23:10:42 +000049922008-10-28 Brett Wilson <brettw@chromium.org>
4993
4994 Reviewed by Darin Adler.
4995
4996 https://bugs.webkit.org/show_bug.cgi?id=21816
4997
4998 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
4999 into a new PlatformImageBuffer class. Move the static create function
5000 into the header because it can be cross-platform. Initialization now
5001 happens in the cunstructor which sets a flag that create uses to know
5002 whether it should return null or not. I also made passing of IntSize
5003 more consistent (always by reference).
5004
5005 This change also changes the ifdefs in GraphicsContext to allow Skia
5006 ports to implement text drawing modes.
5007
5008 * platform/graphics/ImageBuffer.h:
5009 (WebCore::ImageBuffer::create):
5010 (WebCore::ImageBuffer::size):
5011 * platform/graphics/cairo/ImageBufferCairo.cpp:
5012 (WebCore::ImageBufferData::ImageBufferData):
5013 (WebCore::ImageBuffer::ImageBuffer):
5014 (WebCore::ImageBuffer::~ImageBuffer):
5015 (WebCore::ImageBuffer::image):
5016 (WebCore::ImageBuffer::getImageData):
5017 (WebCore::ImageBuffer::putImageData):
5018 * platform/graphics/cairo/ImageBufferData.h:
5019 * platform/graphics/cg/ImageBufferCG.cpp:
5020 (WebCore::ImageBufferData::ImageBufferData):
5021 (WebCore::ImageBuffer::ImageBuffer):
5022 (WebCore::ImageBuffer::~ImageBuffer):
5023 (WebCore::ImageBuffer::getImageData):
5024 (WebCore::ImageBuffer::putImageData):
5025 * platform/graphics/cg/ImageBufferData.h:
5026 * platform/graphics/qt/ImageBufferData.h:
5027 * platform/graphics/qt/ImageBufferQt.cpp:
5028 (WebCore::ImageBufferData::ImageBufferData):
5029 (WebCore::ImageBuffer::ImageBuffer):
5030 (WebCore::ImageBuffer::~ImageBuffer):
5031
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +000050322008-10-28 Cameron Zwarich <zwarich@apple.com>
5033
5034 Not reviewed.
5035
cwzwarich@webkit.org38fa5d22008-10-28 22:22:30 +00005036 Fix the GTK build.
5037
5038 * GNUmakefile.am:
5039
50402008-10-28 Cameron Zwarich <zwarich@apple.com>
5041
5042 Not reviewed.
5043
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +00005044 Another Qt build fix.
5045
5046 * WebCore.pro:
5047
ddkilzer@apple.com983f9392008-10-28 21:01:40 +000050482008-10-28 Greg Bolsinga <bolsinga@apple.com>
5049
5050 Reviewed by David Kilzer.
5051
ddkilzer@apple.com0f55da32008-10-28 21:42:26 +00005052 https://bugs.webkit.org/show_bug.cgi?id=21932
5053 Add non-pointer constant lookups to SoftLinking.h
5054
5055 * platform/mac/SoftLinking.h:
5056
50572008-10-28 Greg Bolsinga <bolsinga@apple.com>
5058
5059 Reviewed by David Kilzer.
5060
ddkilzer@apple.com983f9392008-10-28 21:01:40 +00005061 https://bugs.webkit.org/show_bug.cgi?id=2192
5062 Missing semi-colons in Geoposition.idl
5063
5064 * page/Geoposition.idl: Add missing semi-colons
5065
timothy@apple.comecd08c12008-10-28 20:41:59 +000050662008-10-28 Timothy Hatcher <timothy@apple.com>
5067
timothy@apple.com7dec1b92008-10-28 20:42:34 +00005068 Make the Profiles panel in the Web Inspector have an enable screen.
5069 Profiling now needs to be enabled before console.profile() works.
5070
5071 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
5072 not slow down JavaScript all the time
5073
5074 Reviewed by Darin Adler and Kevin McCullough.
5075
5076 * English.lproj/localizedStrings.js: New strings.
5077 * WebCore.base.exp: New and changed exports.
5078 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
5079 * bindings/js/JSDOMWindowBase.cpp:
5080 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
5081 * inspector/InspectorController.cpp:
5082 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
5083 Timer to call InspectorController::startUserInitiatedProfiling.
5084 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
5085 that calls InspectorController::startUserInitiatedProfiling.
5086 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
5087 and enable the profiler if the profiler was not enabled.
5088 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
5089 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
5090 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
5091 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
5092 Call the profilerWasEnabled script function.
5093 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
5094 so it won't be started later.
5095 * inspector/InspectorController.h:
5096 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
5097 * inspector/front-end/Images/debuggingButtons.png: Remove.
5098 * inspector/front-end/Images/enableButtons.png: Added.
5099 * inspector/front-end/Images/profilesSilhouette.png: Added.
5100 * inspector/front-end/Images/scriptsSilhouette.png: Added.
5101 * inspector/front-end/PanelEnablerView.js: Added.
5102 (WebInspector.PanelEnablerView):
5103 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
5104 event so listeners can do their thing.
5105 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
5106 * inspector/front-end/ProfilesPanel.js:
5107 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
5108 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
5109 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
5110 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
5111 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
5112 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
5113 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
5114 show/hide other buttons. Also show/hide the PanelEnablerView.
5115 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
5116 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
5117 disableProfiler or enableProfiler.
5118 * inspector/front-end/ScriptsPanel.js:
5119 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
5120 debuggingButton with the enableToggleButton.
5121 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
5122 the enableToggleButton.
5123 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
5124 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
5125 with the enableToggleButton.
5126 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
5127 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
5128 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
5129 * inspector/front-end/View.js: Inherit from WebInspector.Object.
5130 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
5131 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
5132 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
5133 * inspector/front-end/inspector.js:
5134 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
5135 (WebInspector.profilerWasDisabled): Ditto.
5136 * page/Console.cpp:
5137 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
5138 (WebCore::Console::info): Ditto.
5139 (WebCore::Console::log): Ditto.
5140 (WebCore::Console::assertCondition): Ditto.
5141 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
5142 (WebCore::Console::count): Ditto.
5143 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
5144 (WebCore::Console::profileEnd): Ditto.
5145 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
5146 * page/Settings.cpp:
5147 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
5148 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
5149 Now just sets the member boolean.
5150 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
5151
51522008-10-28 Timothy Hatcher <timothy@apple.com>
5153
timothy@apple.com0a8972d2008-10-28 20:42:11 +00005154 Rename a few methods related to attaching and detaching the debugger. Also
5155 adds stub methods for enabling and disabling the profiler.
5156
5157 * Rename attachDebugger to enableDebugger.
5158 * Rename detachDebugger to disableDebugger.
5159 * Rename the debuggerAttached getter to debuggerEnabled.
5160 * Rename the debuggerAttached callback to debuggerWasEnabled.
5161 * Rename the debuggerDetached callback to debuggerWasDisabled.
5162
5163 Reviewed by Darin Adler.
5164
5165 * WebCore.base.exp:
5166 * inspector/InspectorController.cpp:
5167 (WebCore::InspectorController::InspectorController):
5168 (WebCore::InspectorController::setWindowVisible):
5169 (WebCore::InspectorController::windowScriptObjectAvailable):
5170 (WebCore::InspectorController::close):
5171 (WebCore::InspectorController::enableProfiler):
5172 (WebCore::InspectorController::disableProfiler):
5173 (WebCore::InspectorController::enableDebugger):
5174 (WebCore::InspectorController::disableDebugger):
5175 (WebCore::InspectorController::pauseInDebugger):
5176 (WebCore::InspectorController::resumeDebugger):
5177 (WebCore::InspectorController::stepOverStatementInDebugger):
5178 (WebCore::InspectorController::stepIntoStatementInDebugger):
5179 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
5180 * inspector/InspectorController.h:
5181 (WebCore::InspectorController::profilerEnabled):
5182 (WebCore::InspectorController::debuggerEnabled):
5183 * inspector/front-end/BreakpointsSidebarPane.js:
5184 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
5185 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
5186 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
5187 * inspector/front-end/Object.js:
5188 * inspector/front-end/ProfilesPanel.js:
5189 (WebInspector.ProfilesPanel):
5190 * inspector/front-end/ScriptsPanel.js:
5191 (WebInspector.ScriptsPanel):
5192 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
5193 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
5194 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
5195 (WebInspector.ScriptsPanel.prototype.reset):
5196 (WebInspector.ScriptsPanel.prototype.canShowResource):
5197 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
5198 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
5199 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
5200 * inspector/front-end/View.js:
5201 * inspector/front-end/inspector.css:
5202 * inspector/front-end/inspector.html:
5203 * inspector/front-end/inspector.js:
5204 (WebInspector.addResource):
5205 (WebInspector.debuggerWasEnabled):
5206 (WebInspector.debuggerWasDisabled):
5207
52082008-10-28 Timothy Hatcher <timothy@apple.com>
5209
timothy@apple.comecd08c12008-10-28 20:41:59 +00005210 Fix an exception when searching the Resources panel while there
5211 and resources queued to be added to the list.
5212
5213 Reviewed by Kevin McCullough.
5214
5215 * inspector/front-end/ResourcesPanel.js:
5216 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
5217 the _resourcesTreeElement property.
5218 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
5219
alp@webkit.orgd5cc6262008-10-28 16:18:00 +000052202008-10-28 Alp Toker <alp@nuanti.com>
5221
5222 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
5223 isn't defined.
5224
5225 * platform/graphics/gtk/FontGtk.cpp:
5226 (WebCore::getDefaultPangoLayout):
5227 * platform/graphics/gtk/FontPlatformDataPango.cpp:
5228
ap@webkit.orgbed87e92008-10-28 13:42:34 +000052292008-10-28 Alexey Proskuryakov <ap@webkit.org>
5230
5231 Reviewed by Darin Adler.
5232
5233 https://bugs.webkit.org/show_bug.cgi?id=21893
5234 Character set is incorrect for external scripts in XHTML pages
5235
5236 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
5237
5238 Test: fast/encoding/external-script-charset.xhtml
5239
5240 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
5241
5242 * dom/ScriptElement.h:
5243 * dom/XMLTokenizerLibxml2.cpp:
5244 (WebCore::XMLTokenizer::endElementNs):
5245 * dom/XMLTokenizerQt.cpp:
5246 (WebCore::XMLTokenizer::parseEndElement):
5247 * html/HTMLScriptElement.h:
5248 * svg/SVGScriptElement.cpp:
5249 (WebCore::SVGScriptElement::scriptCharset):
5250 * svg/SVGScriptElement.h:
5251
alp@webkit.org2ab36952008-10-28 12:53:51 +000052522008-10-28 Alp Toker <alp@nuanti.com>
5253
5254 Include copyright license files in the autotools dist target and
5255 exclude unused zlib headers.
5256
5257 Change suggested by Mike Hommey.
5258
5259 * GNUmakefile.am:
5260
weinig@apple.com57022612008-10-28 05:24:13 +000052612008-10-27 Sam Weinig <sam@webkit.org>
5262
5263 Reviewed by Maciej Stachowiak.
5264
5265 Clear the window shell when destroying a page to allow documents
5266 which have no way of being reached anymore, to be torn down.
5267
5268 * page/Frame.cpp:
5269 (WebCore::Frame::pageDestroyed):
5270
kevino@webkit.orgcdfc5ff2008-10-27 22:15:11 +000052712008-10-27 Kevin Watters <kevinwatters@gmail.com>
5272
5273 Reviewed by Kevin Ollivier.
5274
5275 Update the active state as well as the focused state as both need to be true
5276 for the caret to be drawn.
5277
5278 https://bugs.webkit.org/show_bug.cgi?id=21900
5279
5280 * WebView.cpp:
5281 (wxWebView::OnSetFocus):
5282 (wxWebView::OnKillFocus):
5283
kevino@webkit.orgc10dd0c2008-10-27 22:07:30 +000052842008-10-27 Kevin Ollivier <kevino@theolliviers.com>
5285
5286 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
5287
5288 * webcore-wx.bkl:
5289
darin@apple.com3ab3cf62008-10-27 21:20:13 +000052902008-10-27 Michael Knaup <michael.knaup@mac.com>
5291
5292 Reviewed and tweaked by Darin Adler.
5293
5294 - https://bugs.webkit.org/show_bug.cgi?id=8988
5295
5296 Bug 8988: Add support for Mozilla CSS custom cursors.
5297 Added -webkit-grab and -webkit-grabbing cursor suppport
5298 for the Mac, dummy implementations for other platforms.
5299
5300 * css/CSSParser.cpp:
5301 (WebCore::CSSParser::parseValue): Updated since the
5302 -webkit-grabbing cursor is now the last one.
5303
5304 * css/CSSPrimitiveValueMappings.h:
5305 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
5306 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
5307
5308 * css/CSSValueKeywords.in: Added -webkit-grab and
5309 -webkit-grabbing.
5310
5311 * manual-tests/cursor.html: Added -webkit-zoom-in,
5312 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
5313
5314 * page/EventHandler.cpp:
5315 (WebCore::EventHandler::selectCursor): Added
5316 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
5317
5318 * platform/Cursor.h: Added grabCursor and grabbingCursor.
5319
5320 * platform/gtk/CursorGtk.cpp:
5321 (WebCore::grabCursor): Added.
5322 (WebCore::grabbingCursor): Added.
5323 * platform/mac/CursorMac.mm:
5324 (WebCore::grabCursor): Added.
5325 (WebCore::grabbingCursor): Added.
5326 * platform/qt/CursorQt.cpp:
5327 (WebCore::grabCursor): Added.
5328 (WebCore::grabbingCursor): Added.
5329 * platform/win/CursorWin.cpp:
5330 (WebCore::grabCursor): Added.
5331 (WebCore::grabbingCursor): Added.
5332 * platform/wx/CursorWx.cpp:
5333 (WebCore::grabCursor): Added.
5334 (WebCore::grabbingCursor): Added.
5335
5336 * rendering/style/RenderStyleConstants.h:
5337 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
5338 Also broke ECursor out into a single constant per line.
5339 Also added a couple of comments.
5340
eric@webkit.orgb1115002008-10-27 20:07:49 +000053412008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
5342
5343 Reviewed by Darin Adler.
5344
5345 * svg/SVGAnimatedTemplate.h: needed a HashMap define
5346
eric@webkit.orgb2e05732008-10-27 19:49:58 +000053472008-10-21 Eric Seidel <eric@webkit.org>
5348
5349 Reviewed by Dave Hyatt.
5350
5351 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
5352 https://bugs.webkit.org/show_bug.cgi?id=20400
5353
5354 Test: svg/custom/stop-crash.svg
5355
5356 * WebCore.xcodeproj/project.pbxproj:
5357 * rendering/RenderSVGGradientStop.h:
5358 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
5359
andersca@apple.com0021f002008-10-27 18:52:49 +000053602008-10-27 Anders Carlsson <andersca@apple.com>
5361
andersca@apple.comd693d602008-10-27 18:55:12 +00005362 Reviewed by Sam Weinig.
5363
5364 No need to call release if the connection is null.
5365
5366 * platform/network/mac/ResourceHandleMac.mm:
5367 (WebCore::ResourceHandle::start):
5368
53692008-10-27 Anders Carlsson <andersca@apple.com>
5370
andersca@apple.com0021f002008-10-27 18:52:49 +00005371 Reviewed by Kevin Decker.
5372
5373 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
5374
5375 Make sure to null check the NSURLConnection object.
5376
5377 * platform/network/mac/ResourceHandleMac.mm:
5378 (WebCore::ResourceHandle::start):
5379 (WebCore::ResourceHandle::setDefersLoading):
5380
ap@webkit.org6bc2b852008-10-27 08:53:48 +000053812008-10-27 Alexey Proskuryakov <ap@webkit.org>
5382
5383 Fix non-Mac builds.
5384
5385 * GNUmakefile.am:
5386 * WebCore.pro:
5387 * WebCore.vcproj/WebCore.vcproj:
5388 * WebCoreSources.bkl:
5389 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
5390
ap@webkit.orgb133b5c2008-10-27 07:59:16 +000053912008-10-26 Alexey Proskuryakov <ap@webkit.org>
5392
5393 Reviewed by Sam Weinig.
5394
5395 https://bugs.webkit.org/show_bug.cgi?id=21886
5396 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
5397
5398 Test: fast/dom/HTMLOptionElement/option-prototype.html
5399
5400 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
5401 "constructor" cannot be used to construct anything. This matches Firefox behavior.
5402
5403 * WebCore.xcodeproj/project.pbxproj:
5404 * bindings/js/JSDOMWindowBase.cpp:
5405 (jsDOMWindowBaseOption):
5406 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
5407 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
5408 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
5409 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
5410 * html/HTMLOptionElement.idl:
5411 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
5412
5413 * html/HTMLOptionElement.idl: Generate a constructor.
5414
ggaren@apple.combdfb2b52008-10-25 20:03:06 +000054152008-10-25 Geoffrey Garen <ggaren@apple.com>
5416
5417 Not reviewed.
5418
5419 Try to fix Mac debug build on the buildbot.
5420
5421 * platform/FileChooser.cpp:
5422 (WebCore::FileChooserClient::~FileChooserClient):
5423 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
5424 weak exported symbol.
5425
vestbo@webkit.org4e516942008-10-25 15:22:24 +000054262008-10-25 Jade Han <jade.han@nokia.com>
5427
5428 Reviewed by Anders.
5429
5430 Enable custom properties for Qt runtime objects in QtWebKit
5431
5432 https://bugs.webkit.org/show_bug.cgi?id=21813
5433
5434 * bridge/runtime_object.cpp:
5435 (JSC::RuntimeObjectImp::getOwnPropertySlot):
5436 (JSC::RuntimeObjectImp::put):
5437
weinig@apple.comd75fed72008-10-25 06:02:05 +000054382008-10-24 Sam Weinig <sam@webkit.org>
5439
weinig@apple.com6c48aa12008-10-25 06:36:21 +00005440 Fix windows build.
5441
5442 * page/Chrome.cpp:
5443 * page/Chrome.h:
5444
54452008-10-24 Sam Weinig <sam@webkit.org>
5446
weinig@apple.com32ded9f2008-10-25 06:29:06 +00005447 Fix Qt build.
5448
5449 * platform/qt/FileChooserQt.cpp:
5450
54512008-10-24 Sam Weinig <sam@webkit.org>
5452
weinig@apple.comd75fed72008-10-25 06:02:05 +00005453 Reviewed by Dan Bernstein.
5454
5455 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
5456 Layering violation: FileChooser should not depend on Document/Frame/Page
5457
5458 Move file choosing into WebKit ChromeClient.
5459
5460 * loader/EmptyClients.h:
5461 (WebCore::EmptyChromeClient::runOpenPanel):
5462 * page/Chrome.cpp:
5463 (WebCore::Chrome::runOpenPanel):
5464 * page/Chrome.h:
5465 * page/ChromeClient.h:
5466 * page/mac/ChromeMac.mm:
5467 * platform/FileChooser.h:
5468 * platform/mac/FileChooserMac.mm:
5469 * platform/qt/FileChooserQt.cpp:
5470 * platform/win/FileChooserWin.cpp:
5471 * platform/wx/TemporaryLinkStubs.cpp:
5472 * rendering/RenderFileUploadControl.cpp:
5473 (WebCore::RenderFileUploadControl::click):
5474
kevino@webkit.org4629ecf2008-10-25 01:34:12 +000054752008-10-24 Kevin Ollivier <kevino@theolliviers.com>
5476
5477 wx build fix - add newIconForFiles stub.
5478
5479 * platform/wx/TemporaryLinkStubs.cpp:
5480 (Icon::newIconForFiles):
5481
kevino@webkit.org64c5aeb2008-10-25 01:15:05 +000054822008-10-24 Kevin Watters <kevinwatters@gmail.com>
5483
5484 Reviewed by Kevin Ollivier.
5485
5486 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
5487 value the text is drawn at (it was a couple pixels off before because wx
5488 internally adds to the y value.
5489
5490 https://bugs.webkit.org/show_bug.cgi?id=21853
5491
5492 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
5493 (wxFontProperties::wxFontProperties):
5494 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
5495 (WebCore::drawTextWithSpacing):
5496
eric@webkit.orgeb5cef42008-10-24 23:46:30 +000054972008-10-24 Eric Seidel <eric@webkit.org>
5498
5499 Reviewed by Sam Weinig.
5500
5501 Generate missing constructors and add test to prevent missing ones in the future
5502 https://bugs.webkit.org/show_bug.cgi?id=21846
5503
5504 Test: fast/js/global-constructors.html
5505
5506 * css/CSSStyleSheet.idl:
5507 * css/RGBColor.idl:
5508 * dom/NodeIterator.idl:
5509 * dom/TreeWalker.idl:
5510 * xml/XPathExpression.idl:
5511
ap@webkit.org1ae2de22008-10-24 23:39:17 +000055122008-10-24 Alexey Proskuryakov <ap@webkit.org>
5513
5514 Reviewed by Darin Adler.
5515
5516 https://bugs.webkit.org/show_bug.cgi?id=21836
5517 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
5518
5519 Test: http/tests/xmlhttprequest/detaching-frame.html
5520
5521 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
5522 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
5523 when dispatching the same callback that results in this function being called.
5524
ddkilzer@apple.come2f6f5c2008-10-24 23:04:55 +000055252008-10-24 David Kilzer <ddkilzer@apple.com>
5526
5527 Gtk build fix.
5528
5529 * platform/gtk/TemporaryLinkStubs.cpp:
5530 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
5531
mrowe@apple.com60f38472008-10-24 22:20:10 +000055322008-10-24 Mark Rowe <mrowe@apple.com>
5533
5534 Reviewed by Sam Weinig.
5535
5536 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
5537
5538 * platform/graphics/cg/GraphicsContextCG.cpp:
5539 (WebCore::GraphicsContext::setImageInterpolationQuality):
5540 (WebCore::GraphicsContext::imageInterpolationQuality):
5541
andersca@apple.com4348c6a2008-10-24 22:16:18 +000055422008-10-24 Anders Carlsson <andersca@apple.com>
5543
5544 Reviewed by Sam Weinig.
5545
5546 <rdar://problem/5440917> Support NPN_Construct
5547
5548 * WebCore.NPAPI.exp:
5549 Export _NPN_Construct.
5550
5551 * bridge/NP_jsobject.cpp:
5552 (_NPN_Construct):
5553 Implement this.
5554
5555 * bridge/c/c_instance.cpp:
5556 (JSC::Bindings::CInstance::supportsConstruct):
5557 (JSC::Bindings::CInstance::invokeConstruct):
5558 Have this call the appropriate NPClass method.
5559
5560 * bridge/npruntime.h:
5561 Add NPN_Construct.
5562
5563 * bridge/npruntime_impl.h:
5564 Add _NPN_Construct.
5565
5566 * bridge/runtime.h:
5567 (JSC::Bindings::Instance::supportsConstruct):
5568 (JSC::Bindings::Instance::invokeConstruct):
5569 New methods.
5570
5571 * bridge/runtime_object.cpp:
5572 (JSC::callRuntimeConstructor):
5573 Call the native instance.
5574
5575 (JSC::RuntimeObjectImp::getConstructData):
5576 Implement this.
5577
5578 * bridge/runtime_object.h:
5579 Add new method declarations.
5580
5581 * plugins/gtk/PluginPackageGtk.cpp:
5582 (WebCore::PluginPackage::load):
5583 * plugins/qt/PluginPackageQt.cpp:
5584 (WebCore::PluginPackage::load):
5585 * plugins/win/PluginPackageWin.cpp:
5586 (WebCore::PluginPackage::load):
5587 Initialize m_pluginFuncs.construct.
5588
adele@apple.com8d6189b2008-10-24 22:09:35 +000055892008-10-24 Adele Peterson <adele@apple.com>
5590
5591 Build fix.
5592
5593 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
5594 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
5595
ddkilzer@apple.combff12fe2008-10-24 21:51:58 +000055962008-10-24 Greg Bolsinga <bolsinga@apple.com>
5597
5598 Fix GTK build break.
5599
5600 Reviewed by David Kilzer.
5601
5602 * GNUmakefile.am: Do not include .idl files whose generated files should not be
5603 compiled.
5604
ddkilzer@apple.comec6a0d12008-10-24 21:46:12 +000056052008-10-24 David Kilzer <ddkilzer@apple.com>
5606
5607 Wx build fix.
5608
5609 * platform/wx/TemporaryLinkStubs.cpp:
5610 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
5611
adele@apple.com497541b2008-10-24 21:12:45 +000056122008-10-24 Adele Peterson <adele@apple.com>
5613
5614 Reviewed by Sam Weinig.
5615
5616 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
5617
5618 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
5619 This is consistent with the direction HTML5 will be going in the future.
5620
5621 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
5622 the individual files in a tooltip for now. Improvements to this control will come later.
5623
5624 Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.
5625 These FileList Files can also be sent in an XMLHTTPRequest.
5626
5627 * manual-tests/post-multi-file-upload.html: Added.
5628 * manual-tests/resources/multiFileResources: Added.
5629 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
5630 * manual-tests/resources/multiFileResources/testFile1.html: Added.
5631 * manual-tests/resources/multiFileResources/testFile2.html: Added.
5632 * manual-tests/resources/multiFileResources/testFile3.html: Added.
5633
5634 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
5635
5636 * html/HTMLInputElement.cpp:
5637 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
5638 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
5639 but we don't want to break the behavior for existing websites that may rely on this.
5640 (WebCore::HTMLInputElement::setValue): ditto.
5641 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
5642 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
5643 * html/HTMLInputElement.h:
5644
5645 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
5646
5647 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
5648
5649 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
5650 (WebCore::FileChooser::FileChooser):
5651 (WebCore::FileChooser::create):
5652 (WebCore::FileChooser::clear):
5653 (WebCore::FileChooser::chooseFile):
5654 (WebCore::FileChooser::chooseFiles):
5655 (WebCore::FileChooser::chooseIcon):
5656 * platform/FileChooser.h:
5657 (WebCore::FileChooser::filePaths):
5658 (WebCore::FileChooser::allowsMultipleFiles):
5659
5660 * platform/graphics/Icon.h:
5661 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
5662 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
5663 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
5664 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
5665
5666 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
5667 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
5668 * platform/qt/FileChooserQt.cpp:
5669 (WebCore::FileChooser::openFileChooser):
5670 (WebCore::FileChooser::basenameForWidth):
5671 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
5672
5673 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
5674 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
5675 both get called for the same ResourceHandle. This getting called twice has no negative effect.
5676
5677 * rendering/RenderFileUploadControl.cpp:
5678 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
5679 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
5680 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
5681 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
5682 * rendering/RenderFileUploadControl.h:
5683
pkasting@chromium.orga8304c02008-10-24 20:43:02 +000056842008-10-23 Peter Kasting <pkasting@google.com>
5685
5686 Reviewed by David Hyatt.
5687
5688 https://bugs.webkit.org/show_bug.cgi?id=21844
5689 Remove setFocusRingColorChangeFunction.
5690
5691 * page/Page.cpp:
5692 (WebCore::Page::Page):
5693 * platform/graphics/Color.h:
5694 * platform/graphics/mac/ColorMac.mm:
5695 (WebCore::focusRingColor):
5696 * platform/graphics/qt/GraphicsContextQt.cpp:
5697 * platform/graphics/win/ColorSafari.cpp:
5698
ddkilzer@apple.com853ea9f2008-10-24 20:32:46 +000056992008-10-24 David Kilzer <ddkilzer@apple.com>
5700
5701 Build fix for Qt.
5702
5703 Reviewed by Greg.
5704
5705 * WebCore.pro: Added missing *.idl files.
5706
ddkilzer@apple.comf930faf2008-10-24 20:10:40 +000057072008-10-24 Greg Bolsinga <bolsinga@apple.com>
5708
5709 Reviewed by Sam Weinig.
5710
5711 https://bugs.webkit.org/show_bug.cgi?id=21475
5712
5713 Provide support for the Geolocation API
5714
5715 http://dev.w3.org/geo/api/spec-source.html
5716
5717 Test: geolocation/geolocation-not-implemented.html
5718
5719 * DerivedSources.make:
5720 * GNUmakefile.am: Added Geolocation support
5721 * WebCore.pro: Added Geolocation support
5722 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
5723 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
5724 * WebCoreSources.bkl: Added Geolocation support
5725 * bindings/js/JSCustomPositionCallback.cpp: Added.
5726 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
5727 (WebCore::JSCustomPositionCallback::handleEvent):
5728 * bindings/js/JSCustomPositionCallback.h: Added.
5729 (WebCore::JSCustomPositionCallback::create):
5730 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
5731 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
5732 (WebCore::JSCustomPositionErrorCallback::handleEvent):
5733 * bindings/js/JSCustomPositionErrorCallback.h: Added.
5734 (WebCore::JSCustomPositionErrorCallback::create):
5735 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
5736 (WebCore::markDOMObjectWrapper):
5737 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
5738 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
5739 * bindings/js/JSGeolocationCustom.cpp: Added.
5740 (WebCore::JSGeolocation::getCurrentPosition):
5741 (WebCore::JSGeolocation::watchPosition):
5742 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
5743 (WebCore::JSNavigator::mark):
5744 * dom/Document.cpp:
5745 (WebCore::Document::Document):
5746 * dom/Document.h:
5747 (WebCore::Document::setUsingGeolocation):
5748 (WebCore::Document::usingGeolocation):
5749 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
5750 (WebCore::FrameLoader::canCachePage):
5751 * page/Geolocation.cpp: Added.
5752 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
5753 (WebCore::Geolocation::GeoNotifier::timerFired):
5754 (WebCore::Geolocation::Geolocation):
5755 (WebCore::Geolocation::disconnectFrame):
5756 (WebCore::Geolocation::getCurrentPosition):
5757 (WebCore::Geolocation::watchPosition):
5758 (WebCore::Geolocation::clearWatch):
5759 (WebCore::Geolocation::stopUpdatingIfEmpty):
5760 (WebCore::Geolocation::sendErrorToOneShots):
5761 (WebCore::Geolocation::sendErrorToWatchers):
5762 (WebCore::Geolocation::sendPositionToOneShots):
5763 (WebCore::Geolocation::sendPositionToWatchers):
5764 (WebCore::Geolocation::handleError):
5765 (WebCore::Geolocation::geolocationServicePositionChanged):
5766 (WebCore::Geolocation::geolocationServiceErrorOccurred):
5767 * page/Geolocation.h: Added.
5768 (WebCore::Geolocation::create):
5769 (WebCore::Geolocation::~Geolocation):
5770 (WebCore::Geolocation::lastPosition):
5771 (WebCore::Geolocation::GeoNotifier::create):
5772 * page/Geolocation.idl: Added.
5773 * page/Geoposition.cpp: Added.
5774 (WebCore::Geoposition::toString):
5775 * page/Geoposition.h: Added.
5776 (WebCore::Geoposition::create):
5777 (WebCore::Geoposition::latitude):
5778 (WebCore::Geoposition::longitude):
5779 (WebCore::Geoposition::altitude):
5780 (WebCore::Geoposition::accuracy):
5781 (WebCore::Geoposition::altitudeAccuracy):
5782 (WebCore::Geoposition::heading):
5783 (WebCore::Geoposition::velocity):
5784 (WebCore::Geoposition::timestamp):
5785 (WebCore::Geoposition::Geoposition):
5786 * page/Geoposition.idl: Added.
5787 * page/Navigator.cpp:
5788 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
5789 (WebCore::Navigator::geolocation): accessor for Geolocation
5790 * page/Navigator.h:
5791 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
5792 * page/Navigator.idl: accessor for Geolocation
5793 * page/PositionCallback.h: Added.
5794 (WebCore::PositionCallback::~PositionCallback):
5795 * page/PositionCallback.idl: Added.
5796 * page/PositionError.h: Added.
5797 (WebCore::PositionError::):
5798 (WebCore::PositionError::create):
5799 (WebCore::PositionError::code):
5800 (WebCore::PositionError::message):
5801 (WebCore::PositionError::PositionError):
5802 * page/PositionError.idl: Added.
5803 * page/PositionErrorCallback.h: Added.
5804 (WebCore::PositionErrorCallback::~PositionErrorCallback):
5805 * page/PositionErrorCallback.idl: Added.
5806 * page/PositionOptions.h: Added.
5807 (WebCore::PositionOptions::create):
5808 (WebCore::PositionOptions::enableHighAccuracy):
5809 (WebCore::PositionOptions::setEnableHighAccuracy):
5810 (WebCore::PositionOptions::timeout):
5811 (WebCore::PositionOptions::setTimeout):
5812 (WebCore::PositionOptions::PositionOptions):
5813 * page/PositionOptions.idl: Added.
5814 * platform/GeolocationService.cpp: Added.
5815 (WebCore::GeolocationService::GeolocationService):
5816 (WebCore::GeolocationService::positionChanged):
5817 (WebCore::GeolocationService::errorOccurred):
5818 * platform/GeolocationService.h: Added.
5819 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
5820 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
5821 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
5822 (WebCore::GeolocationService::~GeolocationService):
5823
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +000058242008-10-24 Simon Fraser <simon.fraser@apple.com>
5825
simon.fraser@apple.com912ac412008-10-24 19:32:51 +00005826 Reviewed by Darin Adler
5827
5828 https://bugs.webkit.org/show_bug.cgi?id=21818
5829
5830 Add HashTraits for AtomicString so that AtomicString can be used as
5831 the key for a HashMap or HashSet.
5832
5833 * GNUmakefile.am: add AtomicStringHash.h
5834 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
5835 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
5836 * platform/text/AtomicString.h:
5837 (WebCore::AtomicString::AtomicString):
5838 (WebCore::AtomicString::isHashTableDeletedValue):
5839 specialize DefaultHash for AtomicString to use AtomicStringHash
5840 * platform/text/AtomicStringHash.h: Added.
5841 * platform/text/StringImpl.cpp:
5842 (WebCore::StringImpl::StringImpl):
5843 compute the hash up-front for the empty string
5844 * platform/text/StringImpl.h:
5845 (WebCore::StringImpl::existingHash):
5846 method to get the hash without a test and branch, for callers like
5847 AtomicStringHash who can guarantee that the hash has already been computed.
5848
58492008-10-24 Simon Fraser <simon.fraser@apple.com>
5850
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +00005851 Reviewed by Sam Weinig
5852
5853 https://bugs.webkit.org/show_bug.cgi?id=21857
5854
5855 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
5856 switch in _wrapCSSRule.
5857
5858 * bindings/objc/DOMCSS.mm:
5859 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
5860
aroben@apple.comb3ba69262008-10-24 19:14:17 +000058612008-10-24 Adam Roben <aroben@apple.com>
5862
5863 Windows build fix
5864
5865 * plugins/PluginView.cpp:
5866
mitz@apple.com258a2a32008-10-24 19:10:51 +000058672008-10-24 Dan Bernstein <mitz@apple.com>
5868
5869 Reviewed by Sam Weinig.
5870
5871 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
5872 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
5873
5874 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
5875
5876 * rendering/RenderWidget.cpp:
5877 (WebCore::RenderWidget::destroy): Copied code added to
5878 RenderBox::destroy() in r36513 into this function.
5879
timothy@apple.comf4540012008-10-24 18:49:39 +000058802008-10-24 Timothy Hatcher <timothy@apple.com>
5881
5882 Add a mechanism to ask the InspectorClient for key/value setting pairs.
5883 These settings can be strings, numbers, booleans or string vectors. The
5884 settings are also bridged to and from JavaScript.
5885
5886 https://bugs.webkit.org/show_bug.cgi?id=21856
5887
5888 Reviewed by Darin Adler.
5889
5890 * WebCore.base.exp: Expose the String CFStringRef constructor.
5891 * inspector/InspectorClient.h:
5892 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
5893 (WebCore::InspectorClient::storeSetting): Ditto.
5894 (WebCore::InspectorClient::removeSetting): Ditto.
5895 * inspector/InspectorController.cpp:
5896 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
5897 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
5898 (WebCore::InspectorController::InspectorController): Increment a global static
5899 to track the number of live InspectorControllers.
5900 (WebCore::InspectorController::~InspectorController): Decrement the global static
5901 that tracks the number of live InspectorControllers. Delete the setting cache if there
5902 are no more live controllers.
5903 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
5904 otherwise make a new Setting and ask the client to populate it.
5905 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
5906 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
5907 to the InspectorController script class.
5908 * inspector/InspectorController.h:
5909 (WebCore::InspectorController::Setting::Setting):
5910 (WebCore::InspectorController::Setting::operator=):
5911 (WebCore::InspectorController::Setting::type): Return m_type.
5912 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
5913 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
5914 Assert the type is correct.
5915 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
5916 Assert the type is correct.
5917 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
5918 Assert the type is correct.
5919 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
5920 Assert the type is correct.
5921 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
5922 field and the type.
5923 * loader/EmptyClients.h:
5924 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
5925 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
5926 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
5927
cwzwarich@webkit.org22ade9b2008-10-24 18:10:17 +000059282008-10-24 Cameron Zwarich <zwarich@apple.com>
5929
5930 Reviewed by Sam Weinig.
5931
5932 Remove some C-style casts.
5933
5934 * html/HTMLViewSourceDocument.cpp:
5935 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
5936
darin@apple.com44331f82008-10-24 16:22:51 +000059372008-10-24 Darin Adler <darin@apple.com>
5938
5939 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
5940
5941 * bindings/js/JSAttrCustom.cpp:
5942 * bindings/js/JSCSSRuleCustom.cpp:
5943 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
5944 * bindings/js/JSCSSValueCustom.cpp:
5945 * bindings/js/JSCanvasPixelArrayCustom.h:
5946 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
5947 * bindings/js/JSClipboardCustom.cpp:
5948 * bindings/js/JSConsoleCustom.cpp:
5949 * bindings/js/JSCustomSQLStatementCallback.cpp:
5950 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
5951 * bindings/js/JSCustomSQLTransactionCallback.cpp:
5952 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
5953 * bindings/js/JSCustomVoidCallback.cpp:
5954 * bindings/js/JSCustomVoidCallback.h:
5955 * bindings/js/JSCustomXPathNSResolver.cpp:
5956 * bindings/js/JSCustomXPathNSResolver.h:
5957 * bindings/js/JSDOMApplicationCacheCustom.cpp:
5958 * bindings/js/JSDOMBinding.cpp:
5959 * bindings/js/JSDOMBinding.h:
5960 * bindings/js/JSDOMWindowBase.cpp:
5961 * bindings/js/JSDOMWindowBase.h:
5962 * bindings/js/JSDOMWindowCustom.cpp:
5963 * bindings/js/JSDOMWindowCustom.h:
5964 * bindings/js/JSDOMWindowShell.cpp:
5965 * bindings/js/JSDOMWindowShell.h:
5966 * bindings/js/JSDatabaseCustom.cpp:
5967 * bindings/js/JSDedicatedWorkerCustom.cpp:
5968 * bindings/js/JSDocumentCustom.cpp:
5969 * bindings/js/JSElementCustom.cpp:
5970 * bindings/js/JSEventCustom.cpp:
5971 * bindings/js/JSEventListener.cpp:
5972 * bindings/js/JSEventTarget.cpp:
5973 * bindings/js/JSEventTarget.h:
5974 * bindings/js/JSEventTargetBase.h:
5975 * bindings/js/JSEventTargetNodeCustom.cpp:
5976 * bindings/js/JSHTMLAllCollection.h:
5977 * bindings/js/JSHTMLAppletElementCustom.cpp:
5978 * bindings/js/JSHTMLCollectionCustom.cpp:
5979 * bindings/js/JSHTMLDocumentCustom.cpp:
5980 * bindings/js/JSHTMLEmbedElementCustom.cpp:
5981 * bindings/js/JSHTMLFormElementCustom.cpp:
5982 * bindings/js/JSHTMLFrameElementCustom.cpp:
5983 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
5984 * bindings/js/JSHTMLIFrameElementCustom.cpp:
5985 * bindings/js/JSHTMLInputElementCustom.cpp:
5986 * bindings/js/JSHTMLObjectElementCustom.cpp:
5987 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
5988 * bindings/js/JSHTMLSelectElementCustom.cpp:
5989 * bindings/js/JSHTMLSelectElementCustom.h:
5990 * bindings/js/JSHistoryCustom.cpp:
5991 * bindings/js/JSImageDataCustom.cpp:
5992 * bindings/js/JSInspectedObjectWrapper.cpp:
5993 * bindings/js/JSInspectedObjectWrapper.h:
5994 * bindings/js/JSInspectorCallbackWrapper.cpp:
5995 * bindings/js/JSInspectorCallbackWrapper.h:
5996 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
5997 * bindings/js/JSLocationCustom.cpp:
5998 * bindings/js/JSMessagePortCustom.cpp:
5999 * bindings/js/JSMimeTypeArrayCustom.cpp:
6000 * bindings/js/JSNamedNodeMapCustom.cpp:
6001 * bindings/js/JSNamedNodesCollection.cpp:
6002 * bindings/js/JSNamedNodesCollection.h:
6003 * bindings/js/JSNavigatorCustom.cpp:
6004 * bindings/js/JSNodeCustom.cpp:
6005 * bindings/js/JSNodeFilterCondition.cpp:
6006 * bindings/js/JSNodeFilterCondition.h:
6007 * bindings/js/JSNodeFilterCustom.cpp:
6008 * bindings/js/JSNodeIteratorCustom.cpp:
6009 * bindings/js/JSNodeListCustom.cpp:
6010 * bindings/js/JSPluginArrayCustom.cpp:
6011 * bindings/js/JSPluginCustom.cpp:
6012 * bindings/js/JSPluginElementFunctions.cpp:
6013 * bindings/js/JSPluginElementFunctions.h:
6014 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6015 * bindings/js/JSQuarantinedObjectWrapper.h:
6016 * bindings/js/JSRGBColor.cpp:
6017 * bindings/js/JSRGBColor.h:
6018 * bindings/js/JSSQLResultSetRowListCustom.cpp:
6019 * bindings/js/JSSQLTransactionCustom.cpp:
6020 * bindings/js/JSSVGElementInstanceCustom.cpp:
6021 * bindings/js/JSSVGLengthCustom.cpp:
6022 * bindings/js/JSSVGMatrixCustom.cpp:
6023 * bindings/js/JSSVGPathSegCustom.cpp:
6024 * bindings/js/JSSVGPathSegListCustom.cpp:
6025 * bindings/js/JSSVGPointListCustom.cpp:
6026 * bindings/js/JSSVGTransformListCustom.cpp:
6027 * bindings/js/JSStorageCustom.cpp:
6028 * bindings/js/JSStyleSheetCustom.cpp:
6029 * bindings/js/JSStyleSheetListCustom.cpp:
6030 * bindings/js/JSTextCustom.cpp:
6031 * bindings/js/JSTreeWalkerCustom.cpp:
6032 * bindings/js/JSXMLHttpRequestCustom.cpp:
6033 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
6034 * bindings/js/JSXSLTProcessorCustom.cpp:
6035 * bindings/js/ScheduledAction.cpp:
6036 * bindings/js/ScheduledAction.h:
6037 * bindings/js/ScriptController.cpp:
6038 * bindings/js/ScriptController.h:
6039 * bindings/objc/WebScriptObject.mm:
6040 * bindings/objc/WebScriptObjectPrivate.h:
6041 * bindings/scripts/CodeGeneratorJS.pm:
6042 * bridge/NP_jsobject.cpp:
6043 * bridge/c/c_instance.cpp:
6044 * bridge/c/c_instance.h:
6045 * bridge/c/c_runtime.cpp:
6046 * bridge/c/c_runtime.h:
6047 * bridge/c/c_utility.cpp:
6048 * bridge/c/c_utility.h:
6049 * bridge/jni/jni_instance.cpp:
6050 * bridge/jni/jni_instance.h:
6051 * bridge/jni/jni_jsobject.h:
6052 * bridge/jni/jni_jsobject.mm:
6053 * bridge/jni/jni_objc.mm:
6054 * bridge/jni/jni_runtime.cpp:
6055 * bridge/jni/jni_runtime.h:
6056 * bridge/jni/jni_utility.cpp:
6057 * bridge/jni/jni_utility.h:
6058 * bridge/objc/WebScriptObject.h:
6059 * bridge/objc/objc_class.h:
6060 * bridge/objc/objc_class.mm:
6061 * bridge/objc/objc_instance.h:
6062 * bridge/objc/objc_instance.mm:
6063 * bridge/objc/objc_runtime.h:
6064 * bridge/objc/objc_runtime.mm:
6065 * bridge/objc/objc_utility.h:
6066 * bridge/objc/objc_utility.mm:
6067 * bridge/qt/qt_class.cpp:
6068 * bridge/qt/qt_class.h:
6069 * bridge/qt/qt_instance.cpp:
6070 * bridge/qt/qt_instance.h:
6071 * bridge/qt/qt_runtime.cpp:
6072 * bridge/qt/qt_runtime.h:
6073 * bridge/runtime.cpp:
6074 * bridge/runtime.h:
6075 * bridge/runtime_array.cpp:
6076 * bridge/runtime_array.h:
6077 * bridge/runtime_method.cpp:
6078 * bridge/runtime_method.h:
6079 * bridge/runtime_object.cpp:
6080 * bridge/runtime_object.h:
6081 * bridge/testqtbindings.cpp:
6082 * inspector/JavaScriptCallFrame.cpp:
6083 * inspector/JavaScriptCallFrame.h:
6084 * inspector/JavaScriptProfile.cpp:
6085 * inspector/JavaScriptProfile.h:
6086 * inspector/JavaScriptProfileNode.cpp:
6087 * inspector/JavaScriptProfileNode.h:
6088 * loader/FrameLoader.cpp:
6089 * loader/FrameLoader.h:
6090 * page/Console.cpp:
6091 * page/Console.h:
6092 * plugins/MimeTypeArray.h:
6093 * plugins/Plugin.h:
6094 * plugins/PluginArray.h:
6095 * plugins/PluginView.cpp:
6096 * xml/XMLHttpRequest.cpp:
6097 Use JSValue* instead of JSValuePtr.
6098
hausmann@webkit.orgcffb4f42008-10-24 14:43:29 +000060992008-10-24 Simon Hausmann <hausmann@webkit.org>
6100
6101 Fix the Qt build.
6102
6103 * bridge/qt/qt_instance.cpp:
6104 (JSC::Bindings::QtField::valueFromInstance):
6105
ddkilzer@apple.com4f3c9aa2008-10-24 07:39:15 +000061062008-10-24 David Kilzer <ddkilzer@apple.com>
6107
6108 Rolled out r37840 and r37841.
6109
6110 * DerivedSources.make:
6111 * GNUmakefile.am:
6112 * WebCore.pro:
6113 * WebCore.vcproj/WebCore.vcproj:
6114 * WebCore.xcodeproj/project.pbxproj:
6115 * WebCoreSources.bkl:
6116 * bindings/js/JSCustomPositionCallback.cpp: Removed.
6117 * bindings/js/JSCustomPositionCallback.h: Removed.
6118 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
6119 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
6120 * bindings/js/JSDOMBinding.cpp:
6121 * bindings/js/JSDOMBinding.h:
6122 * bindings/js/JSDOMWindowCustom.cpp:
6123 (WebCore::markDOMObjectWrapper):
6124 * bindings/js/JSGeolocationCustom.cpp: Removed.
6125 * bindings/js/JSNavigatorCustom.cpp:
6126 * dom/Document.cpp:
6127 (WebCore::Document::Document):
6128 * dom/Document.h:
6129 * loader/FrameLoader.cpp:
6130 (WebCore::FrameLoader::canCachePage):
6131 * page/Geolocation.cpp: Removed.
6132 * page/Geolocation.h: Removed.
6133 * page/Geolocation.idl: Removed.
6134 * page/Geoposition.cpp: Removed.
6135 * page/Geoposition.h: Removed.
6136 * page/Geoposition.idl: Removed.
6137 * page/Navigator.cpp:
6138 (WebCore::Navigator::disconnectFrame):
6139 * page/Navigator.h:
6140 * page/Navigator.idl:
6141 * page/PositionCallback.h: Removed.
6142 * page/PositionCallback.idl: Removed.
6143 * page/PositionError.h: Removed.
6144 * page/PositionError.idl: Removed.
6145 * page/PositionErrorCallback.h: Removed.
6146 * page/PositionErrorCallback.idl: Removed.
6147 * page/PositionOptions.h: Removed.
6148 * page/PositionOptions.idl: Removed.
6149 * platform/GeolocationService.cpp: Removed.
6150 * platform/GeolocationService.h: Removed.
6151
ddkilzer@apple.com4a4be182008-10-24 05:39:28 +000061522008-10-23 David Kilzer <ddkilzer@apple.com>
6153
6154 Attempt to fix GTK build.
6155
6156 * GNUmakefile.am: Added new *.idl files that were missing.
6157
ddkilzer@apple.comc9e37fd2008-10-24 05:05:47 +000061582008-10-23 Greg Bolsinga <bolsinga@apple.com>
6159
6160 Reviewed by Sam Weinig.
6161
6162 https://bugs.webkit.org/show_bug.cgi?id=21475
6163
6164 Provide support for the Geolocation API
6165
6166 http://dev.w3.org/geo/api/spec-source.html
6167
6168 Test: geolocation/geolocation-not-implemented.html
6169
6170 * DerivedSources.make:
6171 * GNUmakefile.am: Added Geolocation support
6172 * WebCore.pro: Added Geolocation support
6173 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
6174 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
6175 * WebCoreSources.bkl: Added Geolocation support
6176 * bindings/js/JSCustomPositionCallback.cpp: Added.
6177 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
6178 (WebCore::JSCustomPositionCallback::handleEvent):
6179 * bindings/js/JSCustomPositionCallback.h: Added.
6180 (WebCore::JSCustomPositionCallback::create):
6181 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
6182 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
6183 (WebCore::JSCustomPositionErrorCallback::handleEvent):
6184 * bindings/js/JSCustomPositionErrorCallback.h: Added.
6185 (WebCore::JSCustomPositionErrorCallback::create):
6186 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
6187 (WebCore::markDOMObjectWrapper):
6188 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
6189 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
6190 * bindings/js/JSGeolocationCustom.cpp: Added.
6191 (WebCore::JSGeolocation::getCurrentPosition):
6192 (WebCore::JSGeolocation::watchPosition):
6193 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
6194 (WebCore::JSNavigator::mark):
6195 * dom/Document.cpp:
6196 (WebCore::Document::Document):
6197 * dom/Document.h:
6198 (WebCore::Document::setUsingGeolocation):
6199 (WebCore::Document::usingGeolocation):
6200 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
6201 (WebCore::FrameLoader::canCachePage):
6202 * page/Geolocation.cpp: Added.
6203 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
6204 (WebCore::Geolocation::GeoNotifier::timerFired):
6205 (WebCore::Geolocation::Geolocation):
6206 (WebCore::Geolocation::disconnectFrame):
6207 (WebCore::Geolocation::getCurrentPosition):
6208 (WebCore::Geolocation::watchPosition):
6209 (WebCore::Geolocation::clearWatch):
6210 (WebCore::Geolocation::stopUpdatingIfEmpty):
6211 (WebCore::Geolocation::sendErrorToOneShots):
6212 (WebCore::Geolocation::sendErrorToWatchers):
6213 (WebCore::Geolocation::sendPositionToOneShots):
6214 (WebCore::Geolocation::sendPositionToWatchers):
6215 (WebCore::Geolocation::handleError):
6216 (WebCore::Geolocation::geolocationServicePositionChanged):
6217 (WebCore::Geolocation::geolocationServiceErrorOccurred):
6218 * page/Geolocation.h: Added.
6219 (WebCore::Geolocation::create):
6220 (WebCore::Geolocation::~Geolocation):
6221 (WebCore::Geolocation::lastPosition):
6222 (WebCore::Geolocation::GeoNotifier::create):
6223 * page/Geolocation.idl: Added.
6224 * page/Geoposition.cpp: Added.
6225 (WebCore::Geoposition::toString):
6226 * page/Geoposition.h: Added.
6227 (WebCore::Geoposition::create):
6228 (WebCore::Geoposition::latitude):
6229 (WebCore::Geoposition::longitude):
6230 (WebCore::Geoposition::altitude):
6231 (WebCore::Geoposition::accuracy):
6232 (WebCore::Geoposition::altitudeAccuracy):
6233 (WebCore::Geoposition::heading):
6234 (WebCore::Geoposition::velocity):
6235 (WebCore::Geoposition::timestamp):
6236 (WebCore::Geoposition::Geoposition):
6237 * page/Geoposition.idl: Added.
6238 * page/Navigator.cpp:
6239 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
6240 (WebCore::Navigator::geolocation): accessor for Geolocation
6241 * page/Navigator.h:
6242 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
6243 * page/Navigator.idl: accessor for Geolocation
6244 * page/PositionCallback.h: Added.
6245 (WebCore::PositionCallback::~PositionCallback):
6246 * page/PositionCallback.idl: Added.
6247 * page/PositionError.h: Added.
6248 (WebCore::PositionError::):
6249 (WebCore::PositionError::create):
6250 (WebCore::PositionError::code):
6251 (WebCore::PositionError::message):
6252 (WebCore::PositionError::PositionError):
6253 * page/PositionError.idl: Added.
6254 * page/PositionErrorCallback.h: Added.
6255 (WebCore::PositionErrorCallback::~PositionErrorCallback):
6256 * page/PositionErrorCallback.idl: Added.
6257 * page/PositionOptions.h: Added.
6258 (WebCore::PositionOptions::create):
6259 (WebCore::PositionOptions::enableHighAccuracy):
6260 (WebCore::PositionOptions::setEnableHighAccuracy):
6261 (WebCore::PositionOptions::timeout):
6262 (WebCore::PositionOptions::setTimeout):
6263 (WebCore::PositionOptions::PositionOptions):
6264 * page/PositionOptions.idl: Added.
6265 * platform/GeolocationService.cpp: Added.
6266 (WebCore::GeolocationService::GeolocationService):
6267 (WebCore::GeolocationService::positionChanged):
6268 (WebCore::GeolocationService::errorOccurred):
6269 * platform/GeolocationService.h: Added.
6270 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
6271 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
6272 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
6273 (WebCore::GeolocationService::~GeolocationService):
6274
alp@webkit.org4e4aac32008-10-24 04:52:50 +000062752008-10-23 Alp Toker <alp@nuanti.com>
6276
6277 Fix typo in comment in previous commit. GTK -> GLIB
6278
6279 * platform/gtk/guriescape.c:
6280
alp@webkit.org274a3a12008-10-24 04:32:51 +000062812008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
6282
6283 Reviewed by Alp Toker.
6284
6285 https://bugs.webkit.org/show_bug.cgi?id=21824
6286 [GTK] FileSystem abstraction uses features from Glib 2.16
6287
6288 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
6289
6290 * platform/gtk/guriescape.c:
6291 (unescape_character):
6292 (_webcore_g_uri_unescape_segment):
6293 (_webcore_g_uri_unescape_string):
6294 * platform/gtk/guriescape.h:
6295
jmalonzo@webkit.orga721ed52008-10-24 03:44:10 +000062962008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
6297
6298 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
6299
6300 * GNUmakefile.am:
6301
darin@chromium.org65ff24c2008-10-24 01:04:33 +000063022008-10-23 Darin Fisher <darin@chromium.org>
6303
6304 Reviewed by Eric Seidel.
6305
6306 m_frame null checked but then dereferenced
6307 https://bugs.webkit.org/show_bug.cgi?id=21845
6308
6309 This error was found using a static analysis tool, and so I do not know
6310 how to produce a null m_frame on entry to this method. Hence, I have
6311 not included a regression test.
6312
6313 * page/EventHandler.cpp:
6314 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
6315
mitz@apple.com83d2e872008-10-23 21:56:03 +000063162008-10-23 Dan Bernstein <mitz@apple.com>
6317
6318 Reviewed by Sam Weinig with no hesitation.
6319
6320 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
6321 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
6322
6323 Test: fast/text/bidi-embedding-pop-and-push-same.html
6324
6325 * platform/text/BidiResolver.h:
6326 (WebCore::BidiResolver::embed): Changed to only add the embedding
6327 operation to a vector of pending operations.
6328
6329 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
6330 code that used to be in the PDF case of embed() here, except the part
6331 that sets the context.
6332
6333 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
6334 code that used to be in the non-PDF case of embed() here, except the
6335 part the sets the context.
6336
6337 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
6338 explicit embedding operations in the vector by creating an updated
6339 context and determining the old and new embedding levels. If the levels
6340 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
6341 sets the context to the new one.
6342
6343 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
6344 commitExplicitEmbedding() after calling embed() and after calling
6345 increment().
6346
6347 * rendering/bidi.cpp:
6348 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
6349 this function increments the resolver.
6350
6351 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
6352
jmalonzo@webkit.org2af1d5f2008-10-23 21:24:14 +000063532008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
6354
6355 Gtk build fix. Not reviewed.
6356
6357 Add DNSCurl and DNSSoup to the Gtk build
6358
6359 * GNUmakefile.am:
6360 * platform/gtk/TemporaryLinkStubs.cpp:
6361 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
6362 (WebCore::prefetchDNS):
6363
eric@webkit.org378afbe2008-10-23 21:17:27 +000063642008-10-23 Eric Seidel <eric@webkit.org>
6365
6366 Reviewed by Sam Weinig.
6367
6368 Un-break the Darwin build.
6369
6370 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
6371 * platform/graphics/cg/ImageCG.cpp:
6372
darin@chromium.org9573fd42008-10-23 21:13:50 +000063732008-10-23 Darin Fisher <darin@chromium.org>
6374
6375 Reviewed by Eric Seidel.
6376
6377 Fix forward decls to be struct instead of class.
6378 https://bugs.webkit.org/show_bug.cgi?id=21838
6379
6380 * rendering/style/StyleRareInheritedData.h:
6381 * rendering/style/StyleRareNonInheritedData.h:
6382
weinig@apple.combb96c632008-10-23 20:36:25 +000063832008-10-23 Brent Fulgham <bfulgham@gmail.com>
6384
6385 Reviewed by Oliver Hunt.
6386
6387 * platform/network/curl/ResourceRequest.h: A better implementation
6388 of CFURLRequest, rather than void*. This gives better compatibility
6389 with the WebKit.idl interface.
6390 (WebCore::ResourceRequest::cfURLRequest):
6391
eric@webkit.orgb7074c02008-10-23 19:59:42 +000063922008-10-23 Mike Pinkerton <pinkerton@chromium.org>
6393
6394 Reviewed by Eric Seidel.
6395
6396 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
6397 ifdefs to reflect that.
6398
6399 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
6400 * platform/graphics/cg/ImageCG.cpp:
6401
pkasting@chromium.org586415d2008-10-23 19:37:35 +000064022008-10-23 Peter Kasting <pkasting@google.com>
6403
6404 Reviewed by Adam Roben.
6405
6406 https://bugs.webkit.org/show_bug.cgi?id=21833
6407 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
6408
6409 * inspector/InspectorController.cpp:
6410 (WebCore::InspectorController::InspectorController):
6411 (WebCore::InspectorController::setWindowVisible):
6412 (WebCore::InspectorController::windowScriptObjectAvailable):
6413 (WebCore::InspectorController::close):
6414 * inspector/InspectorController.h:
6415 * page/Page.cpp:
6416 (WebCore::Page::Page):
6417
kmccullough@apple.comd7e4bf72008-10-23 18:33:46 +000064182008-10-23 Kevin McCullough <kmccullough@apple.com>
6419
6420 Reviewed by Tim Hatcher.
6421
6422 https://bugs.webkit.org/show_bug.cgi?id=21817
6423 Bug 21817: Manual profiler tests should be made into layout tests
6424
6425 -Moving the tests before diffing so that it's clear what changed.
6426
6427 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
6428 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
6429 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
6430 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
6431 * manual-tests/inspector/profiler-test-apply.html: Removed.
6432 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
6433 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
6434 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
6435 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
6436 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
6437 * manual-tests/inspector/profiler-test-constructor.html: Removed.
6438 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
6439 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
6440 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
6441 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
6442 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
6443 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
6444 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
6445 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
6446 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
6447 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
6448 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
6449 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
6450 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
6451 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
6452 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
6453 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
6454 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
6455 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
6456 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
6457 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
6458 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
6459 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
6460 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
6461 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
6462 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
6463 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
6464 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
6465 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
6466 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
6467 * manual-tests/inspector/resources/other-frame.html: Removed.
6468 * manual-tests/inspector/resources/other-window.html: Removed.
6469 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
6470
abarth@webkit.org31873302008-10-23 17:07:24 +000064712008-10-23 Adam Barth <abarth@webkit.org>
6472
6473 Reviewed by Sam Weinig.
6474
6475 https://bugs.webkit.org/show_bug.cgi?id=21826
6476
6477 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
6478
6479 * page/SecurityOrigin.h:
6480 (WebCore::SecurityOrigin::domainWasSetInDOM):
6481
darin@apple.com3f537b92008-10-23 15:55:41 +000064822008-10-23 Darin Adler <darin@apple.com>
6483
6484 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
6485
6486 * bindings/js/ScheduledAction.h:
6487 * inspector/InspectorController.cpp:
6488 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
6489
hausmann@webkit.org7ff09a42008-10-23 12:27:41 +000064902008-10-23 Simon Hausmann <hausmann@webkit.org>
6491
6492 Fix the Qt build.
6493
6494 * bridge/qt/qt_runtime.cpp:
6495 (JSC::Bindings::QtConnectionObject::execute):
6496 * bridge/qt/qt_runtime.h:
6497 (JSC::Bindings::QtRuntimeMethod::createStructureID):
6498
ap@webkit.org76544c12008-10-23 10:15:55 +000064992008-10-23 Alexey Proskuryakov <ap@webkit.org>
6500
6501 Reviewed by Maciej Stachowiak.
6502
6503 https://bugs.webkit.org/show_bug.cgi?id=21825
6504 JSDOMBinding should not blindly cast the global object to JSDOMWindow
6505
6506 * bindings/js/JSDOMGlobalObject.cpp:
6507 * bindings/js/JSDOMGlobalObject.h:
6508 * GNUmakefile.am:
6509 * WebCore.pro:
6510 * WebCore.vcproj/WebCore.vcproj:
6511 * WebCore.xcodeproj/project.pbxproj:
6512 * WebCoreSources.bkl:
6513 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
6514
6515 * bindings/js/JSDOMBinding.cpp:
6516 (WebCore::getCachedDOMStructure):
6517 (WebCore::cacheDOMStructure):
6518 (WebCore::getCachedDOMConstructor):
6519 (WebCore::cacheDOMConstructor):
6520 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
6521
6522 * bindings/js/JSDOMWindowBase.cpp:
6523 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
6524 * bindings/js/JSDOMWindowBase.h:
6525 * bindings/js/JSDOMWindowCustom.cpp:
6526 (WebCore::JSDOMWindow::mark):
6527 Moved constructor and structure tracking to JSDOMGlobalObject.
6528
abarth@webkit.org48cade32008-10-23 09:43:34 +000065292008-10-23 Adam Barth <abarth@webkit.org>
6530
6531 Reviewed by Sam Weinig.
6532
6533 https://bugs.webkit.org/show_bug.cgi?id=21787
6534
6535 Update postMessage to send origin = "null" for non-serializable
6536 origins to match latest spec. Merge SecurityOrigin::toString and
6537 SecurityOrigin::toHTTPOrigin because they are now the same.
6538
6539 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
6540
6541 * loader/FrameLoader.cpp:
6542 (WebCore::FrameLoader::outgoingOrigin):
6543 (WebCore::FrameLoader::loadURL):
6544 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
6545 (WebCore::FrameLoader::loadItem):
6546 * loader/loader.cpp:
6547 (WebCore::Loader::Host::servePendingRequests):
6548 * page/SecurityOrigin.cpp:
6549 (WebCore::SecurityOrigin::toString):
6550 * page/SecurityOrigin.h:
6551 * xml/XMLHttpRequest.cpp:
6552 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
6553 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
6554 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
6555 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
6556
ddkilzer@apple.com5c2a8892008-10-23 02:53:02 +000065572008-10-22 David Kilzer <ddkilzer@apple.com>
6558
6559 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
6560
6561 <https://bugs.webkit.org/show_bug.cgi?id=21781>
6562
6563 Reviewed by Antti.
6564
6565 No tests since there is no change in behavior.
6566
6567 * loader/CachedImage.cpp:
6568 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
6569 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
6570 (WebCore::CachedImage::data): Flag an error if the image being
6571 loaded is too big.
6572 * loader/CachedImage.h:
6573 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
6574 * page/Settings.cpp:
6575 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
6576 to the maximum value of size_t.
6577 * page/Settings.h:
6578 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
6579 (WebCore::Settings::maximumDecodedImageSize): Ditto.
6580
darin@apple.com3fb46e42008-10-23 01:43:37 +000065812008-10-22 Mike Pinkerton <pinkerton@chromium.org>
6582
6583 Reviewed by Dan Bernstein.
6584 Landed and tweaked a bit by Darin Adler.
6585
6586 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
6587
6588 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
6589 its use for PLATFORM(CHROMIUM) in the future.
6590
6591 * platform/graphics/SimpleFontData.h:
6592
dsmith@webkit.org102296e2008-10-23 00:49:27 +000065932008-10-22 David Smith <catfish.man@gmail.com>
6594
darin@apple.com3fb46e42008-10-23 01:43:37 +00006595 Reviewed by Anders Carlsson.
dsmith@webkit.org102296e2008-10-23 00:49:27 +00006596
6597 https://bugs.webkit.org/show_bug.cgi?id=19974
6598 getElementsByClassName not live enough
6599
6600 Test: fast/dom/getElementsByClassName/015.html
6601
6602 * dom/StyledElement.cpp:
6603 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
6604
darin@apple.com74e6ed62008-10-23 00:11:11 +000066052008-10-22 Darin Adler <darin@apple.com>
6606
6607 Reviewed by Sam Weinig.
6608
6609 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
6610 Bug 21294: Devirtualize getOwnPropertySlot()
6611
6612 * bindings/js/JSDOMWindowShell.h:
6613 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
6614 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
6615
6616 * bindings/js/JSInspectorCallbackWrapper.cpp:
6617 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
6618 for this class rather than sharing nullProtoStructureID, which no longer exists.
6619
6620 * bindings/js/JSNamedNodesCollection.h:
6621 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
6622 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
6623 * bindings/js/JSRGBColor.h:
6624 (WebCore::JSRGBColor::createStructureID): Ditto.
6625
6626 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
6627 constructors, and prototypes in any case where they override getOwnPropertySlot, without
6628 HasStandardGetOwnPropertySlot.
6629
6630 * bridge/objc/objc_runtime.h:
6631 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
6632 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
6633 * bridge/qt/qt_runtime.h:
6634 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
6635 * bridge/runtime_array.h:
6636 (JSC::RuntimeArray::createStructureID): Ditto.
6637 * bridge/runtime_method.h:
6638 (JSC::RuntimeMethod::createStructureID): Ditto.
6639 * bridge/runtime_object.h:
6640 (JSC::RuntimeObjectImp::createStructureID): Ditto.
6641
aroben@apple.comf4c75612008-10-22 23:33:58 +000066422008-10-22 Brent Fulgham <bfulgham@gmail.com>
6643
aroben@apple.com21fec102008-10-22 23:34:22 +00006644 Bring Windows Cairo Port's font handling in line with CG.
6645 http://bugs.webkit.org/show_bug.cgi?id=21812.
6646
6647 Reviewed by Adam Roben.
6648
6649 * platform/graphics/win/FontCacheWin.cpp:
6650 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
6651 TrueType font search. It should match CG in all font selections.
6652
66532008-10-22 Brent Fulgham <bfulgham@gmail.com>
6654
aroben@apple.comf4c75612008-10-22 23:33:58 +00006655 http://bugs.webkit.org/show_bug.cgi?id=21812.
6656 Bring Windows Cairo Port's font handling in line with CG.
6657
6658 Reviewed by David Hyatt.
6659
6660 * platform/graphics/win/FontCacheWin.cpp:
6661 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
6662
beidson@apple.comb90e6aa2008-10-22 23:06:53 +000066632008-10-22 Brady Eidson <beidson@apple.com>
6664
6665 Reviewed by Adam Roben
6666
6667 <rdar://6261773> - autocomplete="off" doesn't work on Windows
6668
6669 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
6670 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
6671 instead of the much more correct "true."
6672
6673 In the past we have worked around this by declaring the bitfield member as an unsigned instead
6674 of the enum type.
6675
6676 For more discussion, see http://trac.webkit.org/changeset/25329
6677
6678 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
6679
kmccullough@apple.com0435f782008-10-22 23:04:00 +000066802008-10-22 Kevin McCullough <kmccullough@apple.com>
6681
6682 Reviewed by Oliver Hunt and Tim Hatcher.
6683
6684 https://bugs.webkit.org/show_bug.cgi?id=19225
6685 Bug 19225: JSProfiler: Create automated profiler tests
6686 - This change exports profiles on the console object so that they can be
6687 iterated over via JavaScript, and thus can be used in automated tests.
6688
6689 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
6690 that JS can use.
6691 (WebCore::JSConsole::profiles):
6692 * inspector/InspectorController.h: Use the new typedef.
6693 (WebCore::InspectorController::profiles):
6694 * page/Console.cpp: Keep our own array of profile objects.
6695 (WebCore::Console::profileEnd):
6696 * page/Console.h: Ditto.
6697 (WebCore::Console::profiles):
6698 * page/Console.idl: Expose the profiles to JS.
6699
hyatt@apple.comaf225eb2008-10-22 21:51:23 +000067002008-10-22 David Hyatt <hyatt@apple.com>
6701
6702 https://bugs.webkit.org/show_bug.cgi?id=21775
6703
6704 Convert buttons over to use the new Theme API on OS X.
6705
6706 Reviewed by Adam Roben
6707
6708 * platform/LengthBox.h:
6709 (WebCore::LengthBox::LengthBox):
6710 * platform/Theme.cpp:
6711 (WebCore::Theme::controlBorder):
6712 (WebCore::Theme::controlPadding):
6713 * platform/Theme.h:
6714 (WebCore::Theme::controlFont):
6715 (WebCore::Theme::controlSize):
6716 (WebCore::Theme::minControlSize):
6717 (WebCore::Theme::controlRequiresPreWhiteSpace):
6718 * platform/mac/ThemeMac.h:
6719 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
6720 * platform/mac/ThemeMac.mm:
6721 (WebCore::checkboxSize):
6722 (WebCore::radioSize):
6723 (WebCore::buttonSizes):
6724 (WebCore::buttonMargins):
6725 (WebCore::button):
6726 (WebCore::paintButton):
6727 (WebCore::ThemeMac::controlFont):
6728 (WebCore::ThemeMac::controlSize):
6729 (WebCore::ThemeMac::minControlSize):
6730 (WebCore::ThemeMac::controlBorder):
6731 (WebCore::ThemeMac::controlPadding):
6732 (WebCore::ThemeMac::inflateControlPaintRect):
6733 (WebCore::ThemeMac::paint):
6734 * rendering/RenderTheme.cpp:
6735 (WebCore::RenderTheme::adjustStyle):
6736 (WebCore::RenderTheme::paint):
6737 (WebCore::RenderTheme::controlStatesForRenderer):
6738 (WebCore::RenderTheme::isDefault):
6739 (WebCore::RenderTheme::adjustRadioStyle):
6740 * rendering/RenderTheme.h:
6741 (WebCore::RenderTheme::setRadioSize):
6742 * rendering/RenderThemeMac.h:
6743 * rendering/RenderThemeMac.mm:
6744 (WebCore::RenderThemeMac::adjustRepaintRect):
6745 (WebCore::menuListButtonSizes):
6746 (WebCore::RenderThemeMac::adjustMenuListStyle):
6747 * rendering/style/RenderStyle.h:
6748 (WebCore::InheritedFlags::paddingBox):
6749 (WebCore::InheritedFlags::setPaddingBox):
6750
simon.fraser@apple.coma2a27b52008-10-22 19:35:52 +000067512008-10-22 Chris Marrin <cmarrin@apple.com>
6752
6753 Reviewed by Dave Hyatt
6754
6755 Make sure that the AtomicString that identifies a set of animation keyframes
6756 stays live by keeping a copy in the WebKitCSSKeyframesRule.
6757
6758 Also call styleSheetChanged() when the keyframes name changes, but
6759 add an internal method that doesn't call styleSheetChanged() for use
6760 during normal stylesheet parsing.
6761
6762 Test: animations/change-keyframes-name.html
6763
6764 * css/CSSGrammar.y:
6765 * css/WebKitCSSKeyframesRule.cpp:
6766 (WebCore::WebKitCSSKeyframesRule::setName):
6767 * css/WebKitCSSKeyframesRule.h:
6768 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
6769
ap@webkit.org6ed149d2008-10-22 17:43:26 +000067702008-10-22 Alexey Proskuryakov <ap@webkit.org>
6771
6772 Reviewed by Sam Weinig.
6773
6774 https://bugs.webkit.org/show_bug.cgi?id=21791
6775 WebCore JS bindings should be able to use non-static hash tables for properties
6776
6777 Add a map for HashTables to WebCore JS client data.
6778
6779 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
6780 supported in workers in forseeable future this is not critical.
6781
6782 * bindings/js/JSDOMBinding.cpp:
6783 (WebCore::DOMObjectHashTableMap::get):
6784 (WebCore::DOMObjectHashTableMap::mapFor):
6785 (WebCore::getHashTableForGlobalData):
6786 (WebCore::DOMObjectWrapperMap::mapFor):
6787 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
6788 table one.
6789
6790 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
6791
6792 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
6793 JSDOMBinding map to access its property hash tables.
6794
6795 * dom/MessageChannel.idl:
6796 * dom/MessagePort.idl:
6797 Added NoStaticTables attribute.
6798
alp@webkit.org8d1d4c92008-10-22 13:55:06 +000067992008-10-22 Gustavo Noronha Silva <gns@gnome.org>
6800
6801 Reviewed by Timothy Hatcher.
6802
6803 Build failure because of missing include
6804 https://bugs.webkit.org/show_bug.cgi?id=21765
6805
6806 Build failure fix for WebKit/GTK+; added missing
6807 include (GOwnPtr.h)
6808
6809 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6810
alp@webkit.orgee7dc252008-10-22 10:38:23 +000068112008-10-22 Alp Toker <alp@nuanti.com>
6812
alp@webkit.org197960d2008-10-22 13:51:16 +00006813 Reviewed by Adam Roben.
6814
6815 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
6816 doesn't initialize values if the requested property doesn't exist, so
6817 initialize the values to the documented defaults before calling it
6818 where necessary. Additionally, avoid critical warnings by not calling
6819 gtk_widget_style_get() when we know the property isn't available.
6820
6821 Note that this is an imported source file which doesn't follow the
6822 WebKit coding style.
6823
6824 * platform/gtk/gtk2drawing.c:
6825 (moz_gtk_init):
6826 (moz_gtk_button_get_inner_border):
6827 (moz_gtk_combo_box_paint):
6828 (moz_gtk_toolbar_separator_paint):
6829 (moz_gtk_menu_separator_paint):
6830 (moz_gtk_get_widget_border):
6831 (moz_gtk_get_tab_scroll_arrow_size):
6832 (moz_gtk_get_toolbar_separator_width):
6833 (moz_gtk_get_menu_separator_height):
6834
68352008-10-22 Alp Toker <alp@nuanti.com>
6836
alp@webkit.orgee7dc252008-10-22 10:38:23 +00006837 Fix build for Cairo 1.2.
6838
6839 * platform/graphics/cairo/GraphicsContextCairo.cpp:
6840 (WebCore::GraphicsContext::clipOut):
6841 * platform/gtk/RenderThemeGtk.cpp:
6842 (WebCore::paintMozWidget):
6843
darin@chromium.orga740bfe2008-10-22 07:56:41 +000068442008-10-22 Darin Fisher <darin@chromium.org>
6845
6846 Reviewed by Eric Seidel.
6847
6848 A little more PLATFORM(CHROMIUM) in WebCore
6849 https://bugs.webkit.org/show_bug.cgi?id=21758
6850
6851 * page/AccessibilityObject.h:
6852 * platform/graphics/Icon.h:
6853
ap@webkit.org4c610c02008-10-22 06:07:32 +000068542008-10-21 Alexey Proskuryakov <ap@webkit.org>
6855
6856 Reviewed by Darin Adler.
6857
6858 Test: fast/events/message-channel-gc-3.html
6859
6860 https://bugs.webkit.org/show_bug.cgi?id=21769
6861 MessagePort should be GC protected if there are messages to be delivered
6862
6863 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
6864 pending, and check if the queue is non-empty.
6865 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
6866 fix (below).
6867
6868 * dom/MessagePort.cpp:
6869 (WebCore::CloseMessagePortTimer::fired):
6870 (WebCore::MessagePort::MessagePort):
6871 (WebCore::MessagePort::queueCloseEvent):
6872 (WebCore::MessagePort::dispatchCloseEvent):
6873 (WebCore::MessagePort::hasPendingActivity):
6874 Track message and close event activity separately.
6875
6876 * bindings/js/JSDOMBinding.cpp:
6877 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
6878 causing same-heap ports to never be deleted.
6879
mitz@apple.com90a34532008-10-22 03:10:23 +000068802008-10-21 Dan Bernstein <mitz@apple.com>
6881
6882 Reviewed by Sam Weinig.
6883
6884 - remove unreachable code
6885
6886 * platform/text/BidiResolver.h:
6887 (WebCore::::embed):
6888
bdakin@apple.comc144ec52008-10-22 00:22:55 +000068892008-10-21 Beth Dakin <bdakin@apple.com>
6890
6891 Reviewed by Darin Adler.
6892
6893 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
6894 REGRESSION(r31030-31055): Choosing "Print window" from frame set
6895 prints blank page
6896 and corresponding: <rdar://problem/6142398>
6897
6898 viewHeight() and viewWidth() only return valuable information if we
6899 are not printing. Everywhere else in the code, we make sure we are
6900 not printing before we call these functions. Adding a check for
6901 printing here fixes this bug, and framesets print again.
6902
6903 * rendering/RenderFrameSet.cpp:
6904 (WebCore::RenderFrameSet::layout):
6905
hausmann@webkit.orgfde4e2e2008-10-21 12:57:35 +000069062008-10-21 Yael Aharon <yael.aharon@nokia.com>
6907
6908 Reviewed by Simon.
6909
6910 Pixmap in canvas tag was not getting initialized.
6911
6912 See https://bugs.webkit.org/show_bug.cgi?id=21771
6913
6914 * platform/graphics/qt/ImageBufferQt.cpp:
6915 (WebCore::ImageBuffer::create):
6916
simon.fraser@apple.com1f2bbf32008-10-21 06:01:03 +000069172008-10-20 Simon Fraser <simon.fraser@apple.com>
6918
6919 Reviewed by Dan Bernstein
6920
6921 Add a comment explaining layoutDelta(), and an assertion
6922 that checks that delta changes were correctly paired during layout.
6923
6924 * rendering/RenderView.cpp:
6925 (WebCore::RenderView::layout):
6926 * rendering/RenderView.h:
6927
timothy@apple.com6b535d52008-10-21 04:50:24 +000069282008-10-20 Timothy Hatcher <timothy@apple.com>
6929
timothy@apple.com1c922772008-10-21 04:50:34 +00006930 Make auto-complete only suggest properties that are valid syntax
6931 when using dot-notation. Also when completing numeric properties,
6932 the quotes are omitted inside the brackets.
6933
6934 https://bugs.webkit.org/show_bug.cgi?id=21760
6935 https://bugs.webkit.org/show_bug.cgi?id=21761
6936
6937 Reviewed by Oliver Hunt.
6938
6939 * inspector/front-end/Console.js:
6940 (WebInspector.Console.prototype.completions): Skip properties that
6941 are not valid identifies when using dot-notation. And omit the quotes
6942 when completing numbers in bracket-notation.
6943
69442008-10-20 Timothy Hatcher <timothy@apple.com>
6945
timothy@apple.com6b535d52008-10-21 04:50:24 +00006946 Fixes the Profiles panel in the Web Inspector, which was broken by
6947 the JSValue base-class changes. Also renames some functions and
6948 variables in JavaScriptProfileNode.cpp that where title case.
6949
6950 https://bugs.webkit.org/show_bug.cgi?id=21764
6951
6952 Reviewed by Oliver Hunt.
6953
6954 * inspector/JavaScriptProfile.cpp:
6955 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
6956 returned JSValuePtr will be treated as an object and not a value.
6957 * inspector/JavaScriptProfileNode.cpp:
6958 (WebCore::toJS): Ditto.
6959
weinig@apple.com5ed91732008-10-21 02:14:45 +000069602008-10-20 Sam Weinig <sam@webkit.org>
6961
6962 Reviewed by Anders Carlsson.
6963
6964 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
6965
6966 * loader/EmptyClients.h:
6967 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
6968 * loader/FrameLoader.cpp:
6969 (WebCore::FrameLoader::detachFromParent):
6970 * loader/FrameLoaderClient.h:
6971
antti@apple.com6068cf42008-10-21 01:22:51 +000069722008-10-20 Antti Koivisto <antti@apple.com>
6973
6974 Reviewed by Adele Peterson.
6975
6976 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
6977 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
6978 <rdar://problem/6285025
6979
6980 If we get 304 response we need to explicitly check if that completes the frame load.
6981
6982 No test case, simulating the condition is pretty difficult.
6983
6984 * loader/loader.cpp:
6985 (WebCore::Loader::Host::didReceiveResponse):
6986
andersca@apple.com74021572008-10-21 01:05:19 +000069872008-10-20 Anders Carlsson <andersca@apple.com>
6988
6989 Reviewed by Mark Rowe.
6990
6991 Work around <rdar://problem/6301728>.
6992
6993 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
6994
6995 * loader/MainResourceLoader.cpp:
6996 (WebCore::MainResourceLoader::didReceiveResponse):
6997 (WebCore::MainResourceLoader::didReceiveData):
6998 (WebCore::MainResourceLoader::didFinishLoading):
6999 (WebCore::MainResourceLoader::didFail):
7000
bdakin@apple.com05f9b6b2008-10-20 22:47:19 +000070012008-10-20 Beth Dakin <bdakin@apple.com>
7002
7003 Reviewed by Adele Peterson.
7004
7005 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
7006 crashes in Safari at com.apple.WebCore
7007 WebCore::ScrollView::visibleContentRect const + 153
7008
7009 d->m_view can be null and is null-checked at other points in the
7010 code. The logs indicate that this crash occurs when closing a
7011 window containing a PDF, so in case where we crash, the PDF's view
7012 is probably already null. So the fix is to simply add a null-check.
7013
7014 * page/Frame.cpp:
7015 (WebCore::Frame::selectionRect):
7016
adele@apple.com79cd4612008-10-20 21:31:08 +000070172008-10-20 Adele Peterson <adele@apple.com>
7018
7019 Reviewed by Darin Adler.
7020
7021 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
7022 Removed stray increment that would screw up any form with multiple files in it.
7023
weinig@apple.com5f550542008-10-20 20:42:46 +000070242008-10-20 Sam Weinig <sam@webkit.org>
7025
7026 Rubber-stamped by David Hyatt.
7027
7028 Split LengthBox and LengthSize into their own files.
7029
7030 * GNUmakefile.am:
7031 * WebCore.vcproj/WebCore.vcproj:
7032 * WebCore.xcodeproj/project.pbxproj:
7033 * platform/Length.h:
7034 (WebCore::Length::blend):
7035 * platform/LengthBox.h: Copied from platform/Length.h.
7036 (WebCore::LengthBox::LengthBox):
7037 (WebCore::LengthBox::nonZero):
7038 * platform/LengthSize.h: Copied from platform/Length.h.
7039 (WebCore::LengthSize::LengthSize):
7040 (WebCore::LengthSize::setWidth):
7041 (WebCore::LengthSize::setHeight):
7042 (WebCore::LengthSize::height):
7043 * platform/Theme.h:
7044 * rendering/style/FillLayer.h:
7045 * rendering/style/NinePieceImage.h:
7046 (WebCore::NinePieceImage::NinePieceImage):
7047 * rendering/style/RenderStyle.h:
7048 * rendering/style/StyleDashboardRegion.h:
7049 * rendering/style/StyleSurroundData.h:
7050 * rendering/style/StyleVisualData.h:
7051
mitz@apple.com105c3c02008-10-20 20:15:27 +000070522008-10-20 Dan Bernstein <mitz@apple.com>
7053
7054 - Mac build fix
7055
7056 * WebCore.xcodeproj/project.pbxproj:
7057
alp@webkit.org4a81ed22008-10-20 19:30:26 +000070582008-10-20 Alp Toker <alp@nuanti.com>
7059
7060 Fix autotools dist build target by listing recently added header
7061 files only. Not reviewed.
7062
7063 * GNUmakefile.am:
7064
hyatt@apple.com8f754742008-10-20 19:18:38 +000070652008-10-20 David Hyatt <hyatt@apple.com>
7066
hyatt@apple.comccda9a12008-10-20 19:27:58 +00007067 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
7068 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
7069 originally.
7070
7071 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
7072
7073 Reviewed by Adam Roben
7074
7075 * WebCore.xcodeproj/project.pbxproj:
7076 * platform/Theme.cpp: Added.
7077 (WebCore::Theme::controlSupportsBorder):
7078 (WebCore::Theme::controlSupportsPadding):
7079 * platform/Theme.h:
7080 * platform/mac/ThemeMac.h:
7081 * platform/mac/ThemeMac.mm:
7082 * rendering/RenderTheme.cpp:
7083 (WebCore::RenderTheme::adjustStyle):
7084 * rendering/RenderTheme.h:
7085
70862008-10-20 David Hyatt <hyatt@apple.com>
7087
hyatt@apple.com8f754742008-10-20 19:18:38 +00007088 Rename LengthBox's members to have m_ in front of them.
7089
7090 Reviewed by Sam Weinig
7091
7092 * css/CSSComputedStyleDeclaration.cpp:
7093 (WebCore::valueForNinePieceImage):
7094 (WebCore::getPositionOffsetValue):
7095 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7096 * css/CSSStyleSelector.cpp:
7097 (WebCore::CSSStyleSelector::mapNinePieceImage):
7098 * platform/Length.h:
7099 (WebCore::LengthBox::LengthBox):
7100 (WebCore::LengthBox::left):
7101 (WebCore::LengthBox::right):
7102 (WebCore::LengthBox::top):
7103 (WebCore::LengthBox::bottom):
7104 (WebCore::LengthBox::operator==):
7105 (WebCore::LengthBox::nonZero):
7106 * rendering/RenderObject.cpp:
7107 (WebCore::RenderObject::paintNinePieceImage):
7108 (WebCore::RenderObject::addDashboardRegions):
7109 * rendering/style/RenderStyle.cpp:
7110 (WebCore::positionedObjectMoved):
7111 (WebCore::RenderStyle::setClip):
7112 (WebCore::RenderStyle::noneDashboardRegions):
7113 * rendering/style/RenderStyle.h:
7114 (WebCore::InheritedFlags::left):
7115 (WebCore::InheritedFlags::right):
7116 (WebCore::InheritedFlags::top):
7117 (WebCore::InheritedFlags::bottom):
7118 (WebCore::InheritedFlags::clipLeft):
7119 (WebCore::InheritedFlags::clipRight):
7120 (WebCore::InheritedFlags::clipTop):
7121 (WebCore::InheritedFlags::clipBottom):
7122 (WebCore::InheritedFlags::marginTop):
7123 (WebCore::InheritedFlags::marginBottom):
7124 (WebCore::InheritedFlags::marginLeft):
7125 (WebCore::InheritedFlags::marginRight):
7126 (WebCore::InheritedFlags::paddingTop):
7127 (WebCore::InheritedFlags::paddingBottom):
7128 (WebCore::InheritedFlags::paddingLeft):
7129 (WebCore::InheritedFlags::paddingRight):
7130 (WebCore::InheritedFlags::setLeft):
7131 (WebCore::InheritedFlags::setRight):
7132 (WebCore::InheritedFlags::setTop):
7133 (WebCore::InheritedFlags::setBottom):
7134 (WebCore::InheritedFlags::setDashboardRegion):
7135 (WebCore::InheritedFlags::setClipLeft):
7136 (WebCore::InheritedFlags::setClipRight):
7137 (WebCore::InheritedFlags::setClipTop):
7138 (WebCore::InheritedFlags::setClipBottom):
7139 (WebCore::InheritedFlags::setMarginTop):
7140 (WebCore::InheritedFlags::setMarginBottom):
7141 (WebCore::InheritedFlags::setMarginLeft):
7142 (WebCore::InheritedFlags::setMarginRight):
7143 (WebCore::InheritedFlags::setPaddingTop):
7144 (WebCore::InheritedFlags::setPaddingBottom):
7145 (WebCore::InheritedFlags::setPaddingLeft):
7146 (WebCore::InheritedFlags::setPaddingRight):
7147
timothy@apple.com77523c52008-10-20 19:03:15 +000071482008-10-20 Timothy Hatcher <timothy@apple.com>
7149
7150 Make the Resource panel perform graph updates atomically, so when resources
7151 are added the graph and summary graph update at the same time.
7152
7153 https://bugs.webkit.org/show_bug.cgi?id=21755
7154
7155 Reviewed by Kevin McCullough.
7156
7157 * inspector/front-end/Resource.js:
7158 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
7159 property is undefined, null or 0. This allows callers to check for -1 and not
7160 the other values when there is no startTime yet.
7161 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
7162 (WebInspector.Resource.prototype.get endTime): Ditto.
7163 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
7164 (WebInspector.Resource.prototype.get latency): Ditto.
7165 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
7166 property is undefined or null. This allows callers to always assume a number.
7167 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
7168 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
7169 no _errors property yet.
7170 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
7171 if the same as the previous value, since there is no work to guard.
7172 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
7173 no _warnings property yet.
7174 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
7175 if the same as the previous value, since there is no work to guard.
7176 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
7177 responseReceivedTime is -1.
7178 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
7179 * inspector/front-end/ResourcesPanel.js:
7180 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
7181 have a _resourcesTreeElement yet, exclude it from the searchable views.
7182 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
7183 and call refresh to refresh the entire graph.
7184 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
7185 is visible that calls refresh.
7186 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
7187 graph for a resource if it hasn't been created yet. If the boundaries changed during
7188 the first stale resource pass, do a full pass of all resources when updating the graphs.
7189 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
7190 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
7191 graph, these are now created during the first refresh.
7192 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
7193 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
7194 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
7195 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
7196 add the resource to the _staleResources and set needsRefresh.
7197 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
7198 _resourcesTreeElement.
7199 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
7200 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
7201 since the insertBefore call will do it if needed.
7202 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
7203 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
7204 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
7205 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
7206 since all the legend items are removed in one pass right before.
7207 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
7208 before the calculator so the correct sortingFunction is there when a refresh happens.
7209 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
7210 when the startTime is -1, since that looks best visually. Also set middle and end
7211 to the start and middle (respectfully) when startAtZero. This looks best visually.
7212 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
7213 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
7214
hyatt@apple.coma16cfd32008-10-20 18:45:17 +000072152008-10-20 David Hyatt <hyatt@apple.com>
7216
7217 https://bugs.webkit.org/show_bug.cgi?id=21733
7218
7219 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
7220 no attempt is made to re-cache the frame from a non-existent image source.
7221
7222 Reviewed by Sam Weinig
7223
7224 * platform/graphics/cairo/ImageCairo.cpp:
7225 (WebCore::BitmapImage::BitmapImage):
7226 * platform/graphics/cg/ImageCG.cpp:
7227 (WebCore::BitmapImage::BitmapImage):
7228
mitz@apple.comdffa6702008-10-20 18:23:29 +000072292008-10-20 Dan Bernstein <mitz@apple.com>
7230
7231 Reviewed by John Sullivan.
7232
7233 - make hasARenderedDescendant() have internal linkage
7234
7235 * editing/CompositeEditCommand.cpp:
7236 (WebCore::hasARenderedDescendant):
7237
cfleizach@apple.com2826b442008-10-20 17:57:12 +000072382008-10-20 Chris Fleizach <cfleizach@apple.com>
7239
7240 Reviewed by Jon Honeycutt
7241
7242 Fix a crash in Accessibility where a table section was being
7243 referenced without first checking if it was null
7244
7245 https://bugs.webkit.org/show_bug.cgi?id=21721
7246
7247 Test: accessibility/table-nofirstbody.html
7248
7249 * page/AccessibilityTable.cpp:
7250 (WebCore::AccessibilityTable::addChildren):
7251
hyatt@apple.com95f62812008-10-20 17:40:52 +000072522008-10-20 David Hyatt <hyatt@apple.com>
7253
7254 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
7255
7256 Reviewed by Darin Adler
7257
7258 * platform/graphics/cg/ImageSourceCG.cpp:
7259 (WebCore::ImageSource::repetitionCount):
7260 (WebCore::ImageSource::frameDurationAtIndex):
7261
alp@webkit.org1b2d1fd2008-10-20 17:06:10 +000072622008-10-20 Alp Toker <alp@nuanti.com>
7263
7264 Reviewed by Mark Rowe.
7265
7266 Fix the pthread conditionals in the FTP code to correctly define
7267 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
7268 build.
7269
7270 * loader/FTPDirectoryDocument.cpp:
7271 * loader/FTPDirectoryParser.cpp:
7272
hyatt@apple.com74aa2f22008-10-20 16:50:20 +000072732008-10-20 David Hyatt <hyatt@apple.com>
7274
7275 https://bugs.webkit.org/show_bug.cgi?id=21751
7276
7277 Convert checkboxes and radio buttons on OS X over to the new Theme API.
7278
7279 Reviewed by Adam Roben
7280
7281 * css/CSSComputedStyleDeclaration.cpp:
7282 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7283 * css/CSSStyleSelector.cpp:
7284 (WebCore::CSSStyleSelector::mapFillSize):
7285 * platform/Length.h:
7286 (WebCore::LengthSize::LengthSize):
7287 (WebCore::LengthSize::operator==):
7288 (WebCore::LengthSize::width):
7289 (WebCore::LengthSize::height):
7290 (WebCore::LengthSize::setWidth):
7291 (WebCore::LengthSize::setHeight):
7292 * platform/Theme.h:
7293 (WebCore::Theme::controlSize):
7294 (WebCore::Theme::controlSupportsBorder):
7295 (WebCore::Theme::controlSupportsPadding):
7296 (WebCore::Theme::paint):
7297 (WebCore::Theme::inflateControlPaintRect):
7298 * platform/ThemeTypes.h:
7299 (WebCore::):
7300 * platform/mac/ThemeMac.h:
7301 * platform/mac/ThemeMac.mm:
7302 (WebCore::):
7303 (WebCore::controlSizeForFont):
7304 (WebCore::sizeFromFont):
7305 (WebCore::setControlSize):
7306 (WebCore::updateStates):
7307 (WebCore::inflateRect):
7308 (WebCore::checkboxSizes):
7309 (WebCore::checkboxMargins):
7310 (WebCore::checkboxSize):
7311 (WebCore::checkbox):
7312 (WebCore::paintCheckbox):
7313 (WebCore::radioSizes):
7314 (WebCore::radioMargins):
7315 (WebCore::radioSize):
7316 (WebCore::radio):
7317 (WebCore::paintRadio):
7318 (WebCore::ThemeMac::baselinePositionAdjustment):
7319 (WebCore::ThemeMac::controlSize):
7320 (WebCore::ThemeMac::controlSupportsBorder):
7321 (WebCore::ThemeMac::controlSupportsPadding):
7322 (WebCore::ThemeMac::inflateControlPaintRect):
7323 (WebCore::ThemeMac::paint):
7324 * rendering/RenderBox.cpp:
7325 (WebCore::RenderBox::calculateBackgroundSize):
7326 * rendering/RenderObject.cpp:
7327 (WebCore::mustRepaintFillLayers):
7328 * rendering/RenderTheme.cpp:
7329 (WebCore::RenderTheme::adjustStyle):
7330 (WebCore::RenderTheme::paint):
7331 (WebCore::RenderTheme::baselinePosition):
7332 (WebCore::RenderTheme::adjustRepaintRect):
7333 (WebCore::RenderTheme::controlStatesForRenderer):
7334 (WebCore::RenderTheme::isFocused):
7335 * rendering/RenderTheme.h:
7336 * rendering/RenderThemeMac.h:
7337 * rendering/RenderThemeMac.mm:
7338 (WebCore::RenderThemeMac::adjustRepaintRect):
7339 * rendering/style/FillLayer.cpp:
7340 (WebCore::FillLayer::operator==):
7341
ggaren@apple.com4b8c0fb2008-10-20 16:48:30 +000073422008-10-18 Geoffrey Garen <ggaren@apple.com>
7343
7344 Reviewed by Darin Adler.
7345
7346 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
7347 Emit profiling instrumentation only if the Web Inspector's profiling
7348 feature is enabled
7349
7350 * bindings/js/JSDOMWindowBase.cpp:
7351 (WebCore::JSDOMWindowBase::supportsProfiling):
7352 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
7353 whether a target global object has the Web Inspector's profiling feature
7354 enabled.
7355
7356 * inspector/JavaScriptDebugServer.cpp:
7357 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
7358 (WebCore::JavaScriptDebugServer::didAddListener):
7359 (WebCore::JavaScriptDebugServer::didRemoveListener):
7360 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
7361 used by the Settings object.
7362
7363 * page/Settings.cpp:
7364 (WebCore::Settings::Settings):
7365 (WebCore::Settings::setDeveloperExtrasEnabled):
7366 * page/Settings.h: Recompile when the developer menu is enabled/disabled
7367 for the first time, to add/remove profiling hooks. In the future, with
7368 better Web Inspector UI, we can do this on a page-by-page basis,
7369 instead of a global basis.
7370
hyatt@apple.com6b537eb2008-10-20 15:54:55 +000073712008-10-20 David Hyatt <hyatt@apple.com>
7372
7373 Move Length to platform/.
7374
7375 Reviewed by Adam Roben
7376
7377 * GNUmakefile.am:
7378 * WebCore.pro:
7379 * WebCore.vcproj/WebCore.vcproj:
7380 * WebCore.xcodeproj/project.pbxproj:
7381 * WebCoreSources.bkl:
7382 * platform/Length.cpp: Copied from rendering/Length.cpp.
7383 * platform/Length.h: Copied from rendering/Length.h.
7384
darin@apple.com29bf98b2008-10-20 15:16:29 +000073852008-10-20 Darin Adler <darin@apple.com>
7386
darin@apple.come90aa812008-10-20 15:28:14 +00007387 - try to fix Qt build
7388
darin@apple.com1f5b8ac2008-10-20 15:29:04 +00007389 * bridge/qt/qt_runtime.cpp:
7390 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
7391 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
7392
73932008-10-20 Darin Adler <darin@apple.com>
7394
7395 - try to fix Qt build
7396
darin@apple.come90aa812008-10-20 15:28:14 +00007397 * bridge/qt/qt_instance.cpp:
7398 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
7399 (JSC::Bindings::QtField::valueFromInstance): Ditto.
7400 * bridge/qt/qt_instance.h: Ditto.
7401
74022008-10-20 Darin Adler <darin@apple.com>
7403
darin@apple.com29bf98b2008-10-20 15:16:29 +00007404 - try to fix Tiger build
7405
7406 * bridge/objc/objc_instance.mm:
7407 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
7408 volatile qualifier.
7409 (ObjcInstance::invokeDefaultMethod): Ditto.
7410 (ObjcInstance::getValueOfUndefinedField): Ditto.
7411 * bridge/objc/objc_runtime.mm:
7412 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
7413
ap@webkit.org0d0f77352008-10-20 15:13:11 +000074142008-10-20 Alexey Proskuryakov <ap@webkit.org>
7415
7416 Reviewed by Darin Adler.
7417
7418 https://bugs.webkit.org/show_bug.cgi?id=21750
7419 Eliminate the notion of "temporary events"
7420
7421 We mark some events as temporary when dispatching, for the sole reason of
7422 manually calling forgetDOMObject when done dispatching.
7423
7424 There doesn't seem to be any reason to call it manually, as JSEvent destructor
7425 will do this automatically right away.
7426
7427 * bindings/js/ScriptController.cpp:
7428 * bindings/js/ScriptController.h:
7429 Removed ScriptController::finishedWithEvent(), which was called after dispatching
7430 a temporary event.
7431
7432 * dom/ContainerNode.cpp:
7433 (WebCore::dispatchChildInsertionEvents):
7434 (WebCore::dispatchChildRemovalEvents):
7435 * dom/EventTarget.h:
7436 * dom/EventTargetNode.cpp:
7437 (WebCore::EventTargetNode::dispatchEvent):
7438 (WebCore::EventTargetNode::dispatchGenericEvent):
7439 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
7440 (WebCore::EventTargetNode::dispatchWindowEvent):
7441 (WebCore::EventTargetNode::dispatchUIEvent):
7442 (WebCore::EventTargetNode::dispatchKeyEvent):
7443 (WebCore::EventTargetNode::dispatchMouseEvent):
7444 (WebCore::EventTargetNode::dispatchWheelEvent):
7445 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
7446 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
7447 (WebCore::EventTargetNode::dispatchEventForType):
7448 (WebCore::EventTargetNode::dispatchProgressEvent):
7449 (WebCore::EventTargetNode::dispatchStorageEvent):
7450 * dom/EventTargetNode.h:
7451 * dom/MessagePort.cpp:
7452 (WebCore::MessagePort::dispatchMessages):
7453 (WebCore::MessagePort::dispatchCloseEvent):
7454 (WebCore::MessagePort::dispatchEvent):
7455 * dom/MessagePort.h:
7456 * editing/Editor.cpp:
7457 (WebCore::Editor::dispatchCPPEvent):
7458 (WebCore::dispatchEditableContentChangedEvents):
7459 * editing/ReplaceSelectionCommand.cpp:
7460 (WebCore::ReplacementFragment::ReplacementFragment):
7461 * editing/TypingCommand.cpp:
7462 (WebCore::TypingCommand::insertText):
7463 * loader/appcache/DOMApplicationCache.cpp:
7464 (WebCore::DOMApplicationCache::dispatchEvent):
7465 (WebCore::DOMApplicationCache::callListener):
7466 * loader/appcache/DOMApplicationCache.h:
7467 * page/EventHandler.cpp:
7468 (WebCore::EventHandler::dispatchDragEvent):
7469 (WebCore::EventHandler::keyEvent):
7470 (WebCore::EventHandler::handleTextInputEvent):
7471 * page/FrameView.cpp:
7472 (WebCore::FrameView::scheduleEvent):
7473 (WebCore::FrameView::updateOverflowStatus):
7474 (WebCore::FrameView::dispatchScheduledEvents):
7475 * page/FrameView.h:
7476 * rendering/RenderLayer.cpp:
7477 (WebCore::RenderLayer::scrollToOffset):
7478 (WebCore::RenderLayer::updateOverflowStatus):
7479 * svg/SVGElement.cpp:
7480 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
7481 * svg/SVGElementInstance.cpp:
7482 (WebCore::SVGElementInstance::dispatchEvent):
7483 * svg/SVGElementInstance.h:
7484 * xml/XMLHttpRequest.cpp:
7485 (WebCore::XMLHttpRequest::dispatchEvent):
7486 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
7487 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
7488 * xml/XMLHttpRequest.h:
7489 * xml/XMLHttpRequestUpload.cpp:
7490 (WebCore::XMLHttpRequestUpload::dispatchEvent):
7491 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
7492 * xml/XMLHttpRequestUpload.h:
7493 Don't pass the tempEvent boolean around.
7494
alp@webkit.org64c083f2008-10-20 11:32:36 +000074952008-10-20 Alp Toker <alp@nuanti.com>
7496
7497 Remove unused includes only. Partial GTK+/Win build fix.
7498
7499 * platform/graphics/gtk/SimpleFontDataPango.cpp:
7500
ap@webkit.org00a9b882008-10-20 09:24:30 +000075012008-10-20 Alexey Proskuryakov <ap@webkit.org>
7502
7503 Reviewed by Oliver Hunt.
7504
7505 https://bugs.webkit.org/show_bug.cgi?id=21705
7506 Implement Web Workers client-side API
7507
7508 The implementation is experimental, and disabled by default. It doesn't quite match the
7509 published draft, being influenced by further WHATWG discussions.
7510
7511 This only implements the client-side API, and does not actually create any threads or
7512 global contexts yet.
7513
7514 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
7515 still not sure if having separate classes for these helps at all.
7516
7517 * WebCore.xcodeproj/project.pbxproj: Added new files.
7518
7519 * bindings/js/JSDOMWindowBase.cpp:
7520 (jsDOMWindowBaseWorker):
7521 (WebCore::JSDOMWindowBase::put):
7522 (setJSDOMWindowBaseWorker):
7523 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
7524 to match prevailing style.
7525
7526 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
7527 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
7528 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
7529 The implementation of event listeners are left custom intentionally, for easier implementation
7530 of listeners that are not tied to any Document in the future.
7531
7532 * dom/DedicatedWorker.cpp: Added.
7533 * dom/DedicatedWorker.h: Added.
7534 * dom/DedicatedWorker.idl: Added.
7535 Added an implementation that can only load requested scripts for now.
7536
darin@apple.comcd9e55b2008-10-20 06:29:32 +000075372008-10-19 Darin Adler <darin@apple.com>
7538
7539 Reviewed by Dan Bernstein.
7540
7541 - fix assertion seen when opening inspector
7542
7543 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7544 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
7545 Removed unneeded asObject cast.
7546
mitz@apple.com2cce4672008-10-20 03:49:58 +000075472008-10-19 Dan Bernstein <mitz@apple.com>
7548
7549 Rubber-stamped by Timothy Hatcher.
7550
7551 - remove empty directories and correct the MIME type of inspector images
7552
7553 * page/inspector: Removed.
7554 * page/inspector/Images: Removed.
7555
timothy@apple.com2b1a4132008-10-20 03:43:19 +000075562008-10-19 Timothy Hatcher <timothy@apple.com>
7557
timothy@apple.com389d6642008-10-20 03:43:57 +00007558 Make the Web Inspector Resources panel open quicker and change graphs
7559 faster. There was some accidental n^2 logic at fault when updating the
7560 graph boundaries.
7561
7562 https://bugs.webkit.org/show_bug.cgi?id=21742
7563
7564 Reviewed by Darin Adler.
7565
7566 * inspector/front-end/ResourcesPanel.js:
7567 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
7568 a null calculator. Remove the second argument passed to _refreshAllResources.
7569 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
7570 the calculator for all the stale resources before calling refreshResource.
7571 Pass true for the first argument of refreshResource to skip the boundary update.
7572 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
7573 the second argument passed to _refreshAllResources.
7574 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
7575 skipSort argument since every passed true, and it would be bad to pass false.
7576 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
7577 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
7578 the resources before calling refreshResource. Pass true for the first argument
7579 of refreshResource to skip the boundary update.
7580
75812008-10-19 Timothy Hatcher <timothy@apple.com>
7582
timothy@apple.coma68e10d2008-10-20 03:43:45 +00007583 Visually distinguish resources that loaded from the memory cache.
7584
7585 https://bugs.webkit.org/show_bug.cgi?id=14279
7586
7587 Reviewed by Dan Bernstein.
7588
7589 * English.lproj/localizedStrings.js: New string.
7590 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
7591 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
7592 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
7593 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
7594 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
7595 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
7596 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
7597 * inspector/front-end/ResourcesPanel.js:
7598 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
7599 Add the "(from cache)" suffix to the tooltip.
7600 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
7601 Add the "(from cache)" suffix to the tooltip.
7602 (WebInspector.ResourceGraph): Add the "resource-cached" class.
7603 * inspector/front-end/inspector.css: New styles to make the timeline
7604 bars use the hollow pill images.
7605
76062008-10-19 Timothy Hatcher <timothy@apple.com>
7607
timothy@apple.comc4c00ec2008-10-20 03:43:29 +00007608 Update the scroll position in the Resources panel when loading
7609 a new page or toggling on small resource rows.
7610
7611 https://bugs.webkit.org/show_bug.cgi?id=20114
7612
7613 Reviewed by Darin Adler.
7614
7615 * inspector/front-end/ResourcesPanel.js:
7616 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
7617 since all the resource are being removed.
7618 (WebInspector.ResourcesPanel.prototype.removeResource): Call
7619 _adjustScrollPosition in case the view is shorter and needs scrolled.
7620 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
7621 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
7622 the height of the sidebar against the scrollTop and height of the
7623 resourcesContainerElement. If the sidebar is shorter, scroll up
7624 so the last resource is at the bottom again.
7625
76262008-10-19 Timothy Hatcher <timothy@apple.com>
7627
timothy@apple.com2b1a4132008-10-20 03:43:19 +00007628 Show per resource times and sizes when hovering over the bar graph for a resource.
7629
7630 https://bugs.webkit.org/show_bug.cgi?id=14300
7631 rdar://problem/5712802
7632
7633 Reviewed by Cameron Zwarich.
7634
7635 * English.lproj/localizedStrings.js: Add new strings.
7636 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
7637 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
7638 * inspector/front-end/ResourcesPanel.js:
7639 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
7640 ResourceGraph.refresh function.
7641 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
7642 returns the formatted value.
7643 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
7644 for the latency and download times. Also generate a custom tooltip.
7645 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
7646 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
7647 in case the bar has changed size.
7648 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
7649 * inspector/front-end/inspector.css: New styles for the labels.
7650
darin@apple.com989a6f82008-10-20 00:28:51 +000076512008-10-19 Darin Adler <darin@apple.com>
7652
7653 Reviewed by Oliver Hunt.
7654
7655 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
7656 improve performance by eliminating JSValue as a base class for JSCell
7657
7658 Remove most uses of JSValue, which will be removed in a future patch.
7659
7660 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
7661 and used JSValuePtr instead.
7662 * bindings/js/JSEventTarget.h: Ditto.
7663 * bindings/js/JSNodeFilterCondition.h: Ditto.
7664 * bindings/js/ScheduledAction.h: Ditto.
7665 * bindings/js/ScriptController.h: Ditto.
7666 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
7667 * bridge/c/c_utility.h: Ditto.
7668 * bridge/jni/jni_jsobject.h: Ditto.
7669 * bridge/jni/jni_utility.h: Ditto.
7670 * bridge/objc/WebScriptObject.h: Ditto.
7671 * dom/Traversal.h: Ditto.
7672 * inspector/InspectorController.cpp: Ditto.
7673 * inspector/JavaScriptProfile.h: Ditto.
7674 * inspector/JavaScriptProfileNode.h: Ditto.
7675 * loader/FrameLoader.h: Ditto.
7676 * page/Console.h: Ditto.
7677 * plugins/MimeTypeArray.h: Ditto.
7678 * plugins/Plugin.h: Ditto.
7679 * plugins/PluginArray.h: Ditto.
7680 * plugins/PluginView.cpp:
7681 (WebCore::getString): Ditto.
7682 (WebCore::PluginView::performRequest): Ditto.
7683 * plugins/gtk/PluginViewGtk.cpp: Ditto.
7684 * plugins/qt/PluginViewQt.cpp: Ditto.
7685 * plugins/win/PluginViewWin.cpp: Ditto.
7686
7687 * bridge/qt/qt_class.cpp:
7688 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
7689 instead of JSValue*.
7690 * bridge/qt/qt_class.h: Ditto.
7691 * bridge/qt/qt_instance.cpp:
7692 (JSC::Bindings::QtInstance::mark): Ditto.
7693 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
7694 (JSC::Bindings::QtInstance::defaultValue): Ditto.
7695 (JSC::Bindings::QtInstance::stringValue): Ditto.
7696 (JSC::Bindings::QtInstance::numberValue): Ditto.
7697 (JSC::Bindings::QtInstance::booleanValue): Ditto.
7698 (JSC::Bindings::QtInstance::valueOf): Ditto.
7699 (JSC::Bindings::QtField::valueFromInstance): Ditto.
7700 (JSC::Bindings::QtField::setValueToInstance): Ditto.
7701 * bridge/qt/qt_instance.h: Ditto.
7702 * bridge/qt/qt_runtime.cpp: Ditto.
7703 (JSC::Bindings::valueRealType): Ditto.
7704 (JSC::Bindings::convertValueToQVariant): Ditto.
7705 (JSC::Bindings::convertQVariantToValue): Ditto.
7706 (JSC::Bindings::findMethodIndex): Ditto.
7707 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
7708 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
7709 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
7710 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
7711 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
7712 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
7713 (JSC::Bindings::QtArray::setValueAt): Ditto.
7714 (JSC::Bindings::QtArray::valueAt): Ditto.
7715 * bridge/qt/qt_runtime.h: Ditto.
7716
7717 * bridge/testqtbindings.cpp:
7718 (main): Use JSValuePtr.
7719
darin@apple.com5c465b02008-10-19 16:58:58 +000077202008-10-18 Darin Adler <darin@apple.com>
7721
7722 Reviewed by Oliver Hunt.
7723
7724 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
7725 improve performance by eliminating JSValue as a base class for JSCell
7726
7727 Tweak a little more to get closer to where we can make JSValuePtr a class.
7728
7729 * bindings/js/JSAudioConstructor.cpp:
7730 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
7731 (WebCore::constructAudio): Ditto.
7732 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7733 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
7734
7735 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7736 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
7737 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
7738 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
7739 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
7740 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
7741 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
7742 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
7743
7744 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7745 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
7746
7747 * bindings/js/JSDOMBinding.cpp:
7748 (WebCore::setDOMException): Use noValue.
7749
7750 * bindings/js/JSDOMBinding.h:
7751 (WebCore::getDOMPrototype): Use asObject.
7752
7753 * bindings/js/JSDOMWindowBase.cpp:
7754 (WebCore::showModalDialog): Use noValue.
7755 (jsDOMWindowBaseEvent): Use asObject.
7756 (jsDOMWindowBaseImage): Ditto.
7757 (jsDOMWindowBaseMessageChannel): Ditto.
7758 (jsDOMWindowBaseOption): Ditto.
7759 (jsDOMWindowBaseXMLHttpRequest): Ditto.
7760 (jsDOMWindowBaseAudio): Ditto.
7761 (jsDOMWindowBaseXSLTProcessor): Ditto.
7762 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
7763 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
7764 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
7765 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
7766 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
7767 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
7768 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
7769 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
7770 (windowProtoFuncOpen): Use noValue.
7771 (WebCore::toJSDOMWindow): Use asObject.
7772
7773 * bindings/js/JSDOMWindowCustom.cpp:
7774 (WebCore::setTimeoutOrInterval): Use asString.
7775 (WebCore::toDOMWindow): Use asObject.
7776
7777 * bindings/js/JSEventListener.cpp:
7778 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
7779 (WebCore::JSLazyEventListener::parseCode): Use asObject.
7780
7781 * bindings/js/JSHTMLCollectionCustom.cpp:
7782 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
7783 * bindings/js/JSHTMLDocumentCustom.cpp:
7784 (WebCore::JSHTMLDocument::nameGetter): Ditto.
7785 * bindings/js/JSHTMLElementCustom.cpp:
7786 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
7787 * bindings/js/JSHTMLFormElementCustom.cpp:
7788 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
7789 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7790 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
7791 * bindings/js/JSHTMLOptionElementConstructor.cpp:
7792 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
7793 (WebCore::constructHTMLOptionElement): Ditto.
7794 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7795 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
7796 * bindings/js/JSImageConstructor.cpp:
7797 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
7798 (WebCore::constructImage): Ditto.
7799 * bindings/js/JSInspectedObjectWrapper.cpp:
7800 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
7801 * bindings/js/JSInspectorCallbackWrapper.cpp:
7802 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
7803
7804 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7805 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
7806
7807 * bindings/js/JSMessageChannelConstructor.cpp:
7808 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
7809 (WebCore::JSMessageChannelConstructor::construct): Ditto.
7810 * bindings/js/JSMimeTypeArrayCustom.cpp:
7811 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
7812 * bindings/js/JSNamedNodeMapCustom.cpp:
7813 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
7814 * bindings/js/JSNamedNodesCollection.cpp:
7815 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
7816 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
7817 * bindings/js/JSNodeFilterCustom.cpp:
7818 (WebCore::toNodeFilter): Ditto.
7819 * bindings/js/JSNodeListCustom.cpp:
7820 (WebCore::JSNodeList::nameGetter): Ditto.
7821 * bindings/js/JSPluginArrayCustom.cpp:
7822 (WebCore::JSPluginArray::nameGetter): Ditto.
7823 * bindings/js/JSPluginCustom.cpp:
7824 (WebCore::JSPlugin::nameGetter): Ditto.
7825 * bindings/js/JSPluginElementFunctions.cpp:
7826 (WebCore::runtimeObjectGetter): Ditto.
7827 (WebCore::runtimeObjectPropertyGetter): Ditto.
7828 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7829 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
7830 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
7831 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
7832 * bindings/js/JSRGBColor.cpp:
7833 (jsRGBColorRed): Ditto.
7834 (jsRGBColorGreen): Ditto.
7835 (jsRGBColorBlue): Ditto.
7836
7837 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7838 (WebCore::JSSQLResultSetRowList::item): Use noValue.
7839
7840 * bindings/js/JSStorageCustom.cpp:
7841 (WebCore::JSStorage::nameGetter): Use asObject.
7842 (WebCore::JSStorage::deleteProperty): Ditto.
7843 (WebCore::JSStorage::customPut): Ditto.
7844 * bindings/js/JSStyleSheetListCustom.cpp:
7845 (WebCore::JSStyleSheetList::nameGetter): Ditto.
7846 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7847 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
7848 * bindings/js/JSXSLTProcessorCustom.cpp:
7849 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
7850 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
7851 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
7852
7853 * bindings/js/ScriptController.cpp:
7854 (WebCore::ScriptController::evaluate): Use noValue.
7855 * bindings/objc/DOMInternal.mm:
7856 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
7857
7858 * bindings/objc/WebScriptObject.mm:
7859 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
7860 (-[WebScriptObject valueForKey:]): Ditto.
7861 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
7862 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
7863 Use asObject and asString.
7864
7865 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
7866
7867 * bridge/c/c_instance.h: Use JSValuePtr.
7868 * bridge/c/c_runtime.cpp:
7869 (JSC::Bindings::CField::setValueToInstance): Ditto.
7870
7871 * bridge/c/c_utility.cpp:
7872 (JSC::Bindings::convertValueToNPVariant): Use asObject.
7873
7874 * bridge/jni/jni_instance.cpp:
7875 (JavaInstance::booleanValue): Use JSValuePtr.
7876 (JavaInstance::invokeMethod): Ditto. And noValue.
7877 * bridge/jni/jni_jsobject.mm:
7878 (JavaJSObject::getSlot): Ditto.
7879 (JavaJSObject::convertValueToJObject): Ditto.
7880 * bridge/jni/jni_runtime.cpp:
7881 (JavaField::dispatchValueFromInstance): Ditto.
7882 (JavaField::valueFromInstance): Ditto.
7883 (JavaField::dispatchSetValueToInstance): Ditto.
7884 (JavaField::setValueToInstance): Ditto.
7885 (JavaArray::setValueAt): Ditto.
7886 (JavaArray::valueAt): Ditto.
7887 * bridge/jni/jni_runtime.h: Ditto.
7888
7889 * bridge/jni/jni_utility.cpp:
7890 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
7891 instead of a JSValue*.
7892 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
7893
7894 * bridge/objc/objc_class.h: Use JSValuePtr.
7895 * bridge/objc/objc_instance.h: Ditto.
7896 * bridge/objc/objc_runtime.h: Ditto.
7897
7898 * bridge/objc/objc_runtime.mm:
7899 (JSC::Bindings::callObjCFallbackObject): Use asObject.
7900
7901 * bridge/objc/objc_utility.h: Use JSValuePtr.
7902 * bridge/objc/objc_utility.mm:
7903 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
7904 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
7905
7906 * bridge/runtime.cpp:
7907 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
7908 (JSC::Bindings::Instance::setValueOfField): Ditto.
7909
7910 * bridge/runtime_array.cpp:
7911 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
7912 (JSC::RuntimeArray::indexGetter): Ditto.
7913 * bridge/runtime_array.h: Ditto.
7914 * bridge/runtime_method.cpp:
7915 (JSC::RuntimeMethod::lengthGetter): Ditto.
7916 (JSC::callRuntimeMethod): Ditto.
7917 * bridge/runtime_object.cpp:
7918 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
7919 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
7920 (JSC::RuntimeObjectImp::methodGetter): Ditto.
7921
7922 * loader/FrameLoader.cpp:
7923 (WebCore::FrameLoader::executeScript): Use noValue.
7924
7925 * page/Console.cpp:
7926 (WebCore::Console::trace): Use asInternalFunction.
7927
mitz@apple.com50ba3892008-10-19 16:41:50 +000079282008-10-19 Dan Bernstein <mitz@apple.com>
7929
7930 Reviewed by Timothy Hatcher.
7931
7932 - lower the default button repaint frequency
7933
7934 * rendering/RenderButton.cpp:
7935 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
7936 0.01 to 0.03.
7937
mitz@apple.com3076b4b2008-10-19 02:53:39 +000079382008-10-18 Dan Bernstein <mitz@apple.com>
7939
mitz@apple.comfc465242008-10-19 06:26:15 +00007940 Reviewed by Mark Rowe.
7941
7942 - Windows build fix
7943
7944 * rendering/RenderThemeSafari.cpp:
7945 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
7946 (WebCore::RenderThemeSafari::paintMediaMuteButton):
7947 (WebCore::RenderThemeSafari::paintMediaPlayButton):
7948 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
7949 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
7950 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
7951
79522008-10-18 Dan Bernstein <mitz@apple.com>
7953
mitz@apple.com3076b4b2008-10-19 02:53:39 +00007954 Reviewed by Sam Weinig.
7955
7956 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
7957 Long-dead decoded image data make up for most of the object cache's memory use over time
7958
7959 Add a cache setting for how long decoded image data should be allowed to
7960 persist in memory after the image has died. By default, this is set to
7961 0, which means "forever".
7962
7963 * loader/Cache.cpp:
7964 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
7965 * loader/Cache.h:
7966 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
7967 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
7968 * loader/CachedImage.cpp:
7969 (WebCore::CachedImage::CachedImage): Initialize the decoded data
7970 deletion timer.
7971 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
7972 the decoded image data.
7973 (WebCore::CachedImage::addClient): Stop the timer if it is active.
7974 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
7975 deletion timer.
7976 * loader/CachedImage.h:
7977
darin@apple.com9c9096f2008-10-18 21:54:01 +000079782008-10-18 Darin Adler <darin@apple.com>
7979
darin@apple.com05b30262008-10-19 02:12:26 +00007980 Reviewed by Dan Bernstein.
7981
7982 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
7983 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
7984
7985 * html/HTMLFormElement.cpp:
7986 (WebCore::HTMLFormElement::formData):
7987 Fix loop that goes through the FormDataList to go two at a time in a clearer
7988 way. My last patch screwed up the way it got form content from the items.
darin@apple.comf20ce3332008-10-19 02:14:16 +00007989 This "two at a time" approach is a confusing way to do things, which explains
7990 why I got it wrong last time through, but I decided to just fix it locally for
7991 now rather than changing the design of FormDataList.
darin@apple.com05b30262008-10-19 02:12:26 +00007992
79932008-10-18 Darin Adler <darin@apple.com>
7994
darin@apple.com67c6c012008-10-19 01:52:42 +00007995 Reviewed by Cameron Zwarich.
7996
7997 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
7998 improve performance by eliminating JSValue as a base class for JSCell
7999
8000 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
8001 changing JSValuePtr to be a class, and then eventually renaming it
8002 to JSValue once that's done.
8003
8004 * bindings/js/JSAttrCustom.cpp:
8005 * bindings/js/JSCSSRuleCustom.cpp:
8006 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8007 * bindings/js/JSCSSValueCustom.cpp:
8008 * bindings/js/JSCanvasPixelArrayCustom.h:
8009 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
8010 * bindings/js/JSClipboardCustom.cpp:
8011 * bindings/js/JSConsoleCustom.cpp:
8012 * bindings/js/JSCustomSQLStatementCallback.cpp:
8013 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
8014 * bindings/js/JSCustomSQLTransactionCallback.cpp:
8015 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
8016 * bindings/js/JSCustomVoidCallback.cpp:
8017 * bindings/js/JSCustomVoidCallback.h:
8018 * bindings/js/JSCustomXPathNSResolver.cpp:
8019 * bindings/js/JSDOMApplicationCacheCustom.cpp:
8020 * bindings/js/JSDOMBinding.cpp:
8021 * bindings/js/JSDOMBinding.h:
8022 * bindings/js/JSDOMWindowBase.cpp:
8023 * bindings/js/JSDOMWindowBase.h:
8024 * bindings/js/JSDOMWindowCustom.cpp:
8025 * bindings/js/JSDOMWindowCustom.h:
8026 * bindings/js/JSDOMWindowShell.cpp:
8027 * bindings/js/JSDOMWindowShell.h:
8028 * bindings/js/JSDatabaseCustom.cpp:
8029 * bindings/js/JSDocumentCustom.cpp:
8030 * bindings/js/JSElementCustom.cpp:
8031 * bindings/js/JSEventCustom.cpp:
8032 * bindings/js/JSEventListener.cpp:
8033 * bindings/js/JSEventTarget.cpp:
8034 * bindings/js/JSEventTargetBase.h:
8035 * bindings/js/JSEventTargetNodeCustom.cpp:
8036 * bindings/js/JSHTMLAllCollection.h:
8037 * bindings/js/JSHTMLAppletElementCustom.cpp:
8038 * bindings/js/JSHTMLCollectionCustom.cpp:
8039 * bindings/js/JSHTMLDocumentCustom.cpp:
8040 * bindings/js/JSHTMLEmbedElementCustom.cpp:
8041 * bindings/js/JSHTMLFormElementCustom.cpp:
8042 * bindings/js/JSHTMLFrameElementCustom.cpp:
8043 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
8044 * bindings/js/JSHTMLIFrameElementCustom.cpp:
8045 * bindings/js/JSHTMLInputElementCustom.cpp:
8046 * bindings/js/JSHTMLObjectElementCustom.cpp:
8047 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
8048 * bindings/js/JSHTMLSelectElementCustom.cpp:
8049 * bindings/js/JSHTMLSelectElementCustom.h:
8050 * bindings/js/JSHistoryCustom.cpp:
8051 * bindings/js/JSImageDataCustom.cpp:
8052 * bindings/js/JSInspectedObjectWrapper.cpp:
8053 * bindings/js/JSInspectedObjectWrapper.h:
8054 * bindings/js/JSInspectorCallbackWrapper.cpp:
8055 * bindings/js/JSInspectorCallbackWrapper.h:
8056 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
8057 * bindings/js/JSLocationCustom.cpp:
8058 * bindings/js/JSMessagePortCustom.cpp:
8059 * bindings/js/JSMimeTypeArrayCustom.cpp:
8060 * bindings/js/JSNamedNodeMapCustom.cpp:
8061 * bindings/js/JSNamedNodesCollection.cpp:
8062 * bindings/js/JSNamedNodesCollection.h:
8063 * bindings/js/JSNavigatorCustom.cpp:
8064 * bindings/js/JSNodeCustom.cpp:
8065 * bindings/js/JSNodeFilterCondition.cpp:
8066 * bindings/js/JSNodeFilterCustom.cpp:
8067 * bindings/js/JSNodeIteratorCustom.cpp:
8068 * bindings/js/JSNodeListCustom.cpp:
8069 * bindings/js/JSPluginArrayCustom.cpp:
8070 * bindings/js/JSPluginCustom.cpp:
8071 * bindings/js/JSPluginElementFunctions.cpp:
8072 * bindings/js/JSPluginElementFunctions.h:
8073 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8074 * bindings/js/JSQuarantinedObjectWrapper.h:
8075 * bindings/js/JSRGBColor.cpp:
8076 * bindings/js/JSRGBColor.h:
8077 * bindings/js/JSSQLResultSetRowListCustom.cpp:
8078 * bindings/js/JSSQLTransactionCustom.cpp:
8079 * bindings/js/JSSVGElementInstanceCustom.cpp:
8080 * bindings/js/JSSVGLengthCustom.cpp:
8081 * bindings/js/JSSVGMatrixCustom.cpp:
8082 * bindings/js/JSSVGPathSegCustom.cpp:
8083 * bindings/js/JSSVGPathSegListCustom.cpp:
8084 * bindings/js/JSSVGPointListCustom.cpp:
8085 * bindings/js/JSSVGTransformListCustom.cpp:
8086 * bindings/js/JSStorageCustom.cpp:
8087 * bindings/js/JSStyleSheetCustom.cpp:
8088 * bindings/js/JSStyleSheetListCustom.cpp:
8089 * bindings/js/JSTextCustom.cpp:
8090 * bindings/js/JSTreeWalkerCustom.cpp:
8091 * bindings/js/JSXMLHttpRequestCustom.cpp:
8092 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
8093 * bindings/js/JSXSLTProcessorCustom.cpp:
8094 * bindings/js/ScheduledAction.cpp:
8095 * bindings/js/ScheduledAction.h:
8096 * bindings/js/ScriptController.cpp:
8097 * bindings/js/ScriptController.h:
8098 * bindings/objc/WebScriptObject.mm:
8099 * bindings/scripts/CodeGeneratorJS.pm:
8100 * bridge/NP_jsobject.cpp:
8101 * bridge/c/c_instance.cpp:
8102 * bridge/c/c_instance.h:
8103 * bridge/c/c_runtime.cpp:
8104 * bridge/c/c_runtime.h:
8105 * bridge/c/c_utility.cpp:
8106 * bridge/jni/jni_instance.cpp:
8107 * bridge/jni/jni_instance.h:
8108 * bridge/jni/jni_jsobject.mm:
8109 * bridge/jni/jni_objc.mm:
8110 * bridge/jni/jni_runtime.cpp:
8111 * bridge/jni/jni_runtime.h:
8112 * bridge/jni/jni_utility.cpp:
8113 * bridge/objc/objc_class.mm:
8114 * bridge/objc/objc_instance.h:
8115 * bridge/objc/objc_instance.mm:
8116 * bridge/objc/objc_runtime.h:
8117 * bridge/objc/objc_runtime.mm:
8118 * bridge/objc/objc_utility.h:
8119 * bridge/objc/objc_utility.mm:
8120 * bridge/runtime.h:
8121 * bridge/runtime_array.cpp:
8122 * bridge/runtime_array.h:
8123 * bridge/runtime_method.cpp:
8124 * bridge/runtime_method.h:
8125 * bridge/runtime_object.cpp:
8126 * bridge/runtime_object.h:
8127 * inspector/JavaScriptCallFrame.cpp:
8128 * inspector/JavaScriptCallFrame.h:
8129 * inspector/JavaScriptProfile.cpp:
8130 * inspector/JavaScriptProfileNode.cpp:
8131 * loader/FrameLoader.cpp:
8132 * loader/FrameLoader.h:
8133 * page/Console.cpp:
8134 * page/Console.h:
8135 * plugins/MimeTypeArray.h:
8136 * plugins/Plugin.h:
8137 * plugins/PluginArray.h:
8138 * xml/XMLHttpRequest.cpp:
8139 Replace JSValue* with JSValuePtr.
8140
81412008-10-18 Darin Adler <darin@apple.com>
8142
darin@apple.com5a494422008-10-18 23:08:12 +00008143 Reviewed by Oliver Hunt.
8144
8145 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
8146 improve performance by eliminating JSValue as a base class for JSCell
8147
8148 Update for change to make PreferredPrimitiveType no longer
8149 a member of JSValue.
8150
8151 * bridge/c/c_instance.cpp:
8152 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
8153 * bridge/jni/jni_instance.cpp:
8154 (JavaInstance::defaultValue): Ditto.
8155 * bridge/objc/objc_instance.mm:
8156 (ObjcInstance::defaultValue): Ditto.
8157 * bridge/qt/qt_instance.cpp:
8158 (JSC::Bindings::QtInstance::defaultValue): Ditto.
8159 * bridge/runtime.h: Ditto. Also removed typedef.
8160
81612008-10-18 Darin Adler <darin@apple.com>
8162
darin@apple.com9c9096f2008-10-18 21:54:01 +00008163 - try to fix Windows build
8164
8165 * rendering/RenderThemeSafari.cpp:
8166 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
8167 SafariTheme namespace, since there is now an identically named constant in
8168 the ControlPart enum.
8169 (WebCore::RenderThemeSafari::paintButton): Ditto.
8170 (WebCore::RenderThemeSafari::paintTextField): Ditto.
8171 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
8172 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
8173 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
8174 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
8175 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
8176
jmalonzo@webkit.orgbb77ef92008-10-18 21:23:59 +000081772008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
8178
8179 Reviewed by Alp Toker.
8180
8181 [GTK] crash after selecting a file on an <input type=file>
8182 https://bugs.webkit.org/show_bug.cgi?id=21385
8183
8184 Follow Mac and Win's behaviors for Icon::paint
8185
8186 * platform/graphics/gtk/IconGtk.cpp:
8187 (WebCore::Icon::paint): check if painting is enabled before
8188 painting the icon
8189
oliver@apple.com154f91e2008-10-18 08:44:34 +000081902008-10-18 Zan Dobersek <zandobersek@gmail.com>
8191
8192 Reviewed by Oliver Hunt.
8193
8194 Qt port build fix.
8195
8196 * platform/qt/RenderThemeQt.h:
8197
kevino@webkit.org75d2aee2008-10-18 00:03:58 +000081982008-10-17 Kevin Watters <kevinwatters@gmail.com>
8199
8200 Reviewed by Kevin Ollivier
8201
8202 Fix wx port's scrollbar and drawing handling after recent changes.
8203
8204 https://bugs.webkit.org/show_bug.cgi?id=21720
8205
8206 * platform/ScrollView.h:
8207 * platform/wx/ScrollViewWx.cpp:
8208 (WebCore::ScrollView::platformVisibleContentRect):
8209 (WebCore::ScrollView::platformContentsSize):
8210 (WebCore::ScrollView::platformSetContentsSize):
8211 * platform/wx/WidgetWx.cpp:
8212 (WebCore::Widget::paint):
8213
kevino@webkit.orgc81374f2008-10-17 23:22:58 +000082142008-10-17 Kevin Ollivier <kevino@theolliviers.com>
8215
8216 wx build fix. EAppearance -> ControlPart.
8217
8218 * platform/wx/RenderThemeWx.cpp:
8219 (WebCore::RenderThemeWx::isControlStyled):
8220 (WebCore::RenderThemeWx::adjustRepaintRect):
8221 (WebCore::RenderThemeWx::controlSupportsTints):
8222 (WebCore::RenderThemeWx::supportsFocus):
8223 (WebCore::RenderThemeWx::paintButton):
8224
hyatt@apple.com084394f2008-10-17 21:26:46 +000082252008-10-17 David Hyatt <hyatt@apple.com>
8226
hyatt@apple.com5cdc5e042008-10-17 22:02:16 +00008227 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
8228 values from the enum since they are handled by ScrollbarTheme instead.
8229
8230 Reviewed by Tim Hatcher
8231
8232 * css/CSSPrimitiveValueMappings.h:
8233 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
8234 (WebCore::CSSPrimitiveValue::operator ControlPart):
8235 * css/CSSStyleSelector.cpp:
8236 (WebCore::CSSStyleSelector::adjustRenderStyle):
8237 * css/CSSValueKeywords.in:
8238 * platform/gtk/RenderThemeGtk.cpp:
8239 (WebCore::supportsFocus):
8240 (WebCore::RenderThemeGtk::baselinePosition):
8241 (WebCore::setToggleSize):
8242 (WebCore::RenderThemeGtk::setCheckboxSize):
8243 (WebCore::RenderThemeGtk::setRadioSize):
8244 (WebCore::RenderThemeGtk::adjustButtonStyle):
8245 * platform/qt/RenderThemeQt.cpp:
8246 (WebCore::RenderThemeQt::baselinePosition):
8247 (WebCore::RenderThemeQt::controlSupportsTints):
8248 (WebCore::RenderThemeQt::adjustRepaintRect):
8249 (WebCore::RenderThemeQt::isControlStyled):
8250 (WebCore::computeSizeBasedOnStyle):
8251 (WebCore::RenderThemeQt::paintButton):
8252 (WebCore::RenderThemeQt::paintTextField):
8253 (WebCore::RenderThemeQt::paintMenuList):
8254 (WebCore::RenderThemeQt::supportsFocus):
8255 (WebCore::RenderThemeQt::applyTheme):
8256 (WebCore::RenderThemeQt::adjustSliderThumbSize):
8257 * platform/qt/RenderThemeQt.h:
8258 * rendering/RenderSlider.cpp:
8259 (WebCore::RenderSlider::createThumbStyle):
8260 (WebCore::RenderSlider::layout):
8261 (WebCore::RenderSlider::setValueForPosition):
8262 (WebCore::RenderSlider::setPositionFromValue):
8263 (WebCore::RenderSlider::positionForOffset):
8264 (WebCore::RenderSlider::currentPosition):
8265 (WebCore::RenderSlider::setCurrentPosition):
8266 (WebCore::RenderSlider::trackSize):
8267 * rendering/RenderTheme.cpp:
8268 (WebCore::RenderTheme::adjustStyle):
8269 (WebCore::RenderTheme::paint):
8270 (WebCore::RenderTheme::paintBorderOnly):
8271 (WebCore::RenderTheme::paintDecorations):
8272 (WebCore::RenderTheme::isControlContainer):
8273 (WebCore::RenderTheme::isControlStyled):
8274 (WebCore::RenderTheme::supportsFocusRing):
8275 (WebCore::RenderTheme::isDefault):
8276 * rendering/RenderTheme.h:
8277 * rendering/RenderThemeMac.mm:
8278 (WebCore::RenderThemeMac::isControlStyled):
8279 (WebCore::RenderThemeMac::adjustRepaintRect):
8280 (WebCore::RenderThemeMac::baselinePosition):
8281 (WebCore::RenderThemeMac::controlSupportsTints):
8282 (WebCore::RenderThemeMac::adjustButtonStyle):
8283 (WebCore::RenderThemeMac::setButtonCellState):
8284 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
8285 (WebCore::RenderThemeMac::popupInternalPaddingRight):
8286 (WebCore::RenderThemeMac::popupInternalPaddingTop):
8287 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
8288 (WebCore::RenderThemeMac::paintSliderTrack):
8289 (WebCore::RenderThemeMac::paintSliderThumb):
8290 (WebCore::RenderThemeMac::adjustSliderThumbSize):
8291 * rendering/RenderThemeSafari.cpp:
8292 (WebCore::RenderThemeSafari::isControlStyled):
8293 (WebCore::RenderThemeSafari::adjustRepaintRect):
8294 (WebCore::RenderThemeSafari::baselinePosition):
8295 (WebCore::RenderThemeSafari::controlSupportsTints):
8296 (WebCore::RenderThemeSafari::adjustButtonStyle):
8297 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
8298 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
8299 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
8300 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
8301 (WebCore::RenderThemeSafari::paintSliderTrack):
8302 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
8303 * rendering/RenderThemeWin.cpp:
8304 (WebCore::RenderThemeWin::supportsFocus):
8305 (WebCore::RenderThemeWin::determineClassicState):
8306 (WebCore::RenderThemeWin::getClassicThemeData):
8307 (WebCore::RenderThemeWin::getThemeData):
8308 (WebCore::drawControl):
8309 (WebCore::RenderThemeWin::paintSliderTrack):
8310 (WebCore::RenderThemeWin::adjustSliderThumbSize):
8311 * rendering/RenderThemeWin.h:
8312 * rendering/style/RenderStyle.h:
8313 (WebCore::InheritedFlags::hasAppearance):
8314 (WebCore::InheritedFlags::appearance):
8315 (WebCore::InheritedFlags::setAppearance):
8316 (WebCore::InheritedFlags::initialAppearance):
8317 * rendering/style/RenderStyleConstants.h:
8318
83192008-10-17 David Hyatt <hyatt@apple.com>
8320
hyatt@apple.com084394f2008-10-17 21:26:46 +00008321 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
8322 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
8323
8324 Reviewed by Tim Hatcher
8325
8326 * WebCore.vcproj/WebCore.vcproj:
8327 * WebCore.xcodeproj/project.pbxproj:
8328 * config.h:
8329 * platform/Theme.h: Added.
8330 (WebCore::Theme::Theme):
8331 (WebCore::Theme::~Theme):
8332 (WebCore::Theme::baselinePositionAdjustment):
8333 (WebCore::Theme::controlHasInactiveAppearance):
8334 (WebCore::Theme::controlsCanHaveInactiveAppearance):
8335 (WebCore::Theme::controlsCanHaveHoveredAppearance):
8336 (WebCore::Theme::controlDrawsBorder):
8337 (WebCore::Theme::controlDrawsBackground):
8338 (WebCore::Theme::controlDrawsFocusOutline):
8339 (WebCore::Theme::selectionColor):
8340 (WebCore::Theme::textSearchHighlightColor):
8341 (WebCore::Theme::systemColor):
8342 (WebCore::Theme::systemFont):
8343 (WebCore::Theme::caretBlinkFrequency):
8344 (WebCore::Theme::themeChanged):
8345 (WebCore::Theme::controlSize):
8346 (WebCore::Theme::controlFont):
8347 (WebCore::Theme::controlPadding):
8348 (WebCore::Theme::controlInternalPadding):
8349 (WebCore::Theme::controlBorder):
8350 (WebCore::Theme::controlBorderRadius):
8351 (WebCore::Theme::paint):
8352 (WebCore::Theme::inflateControlPaintRect):
8353 * platform/ThemeTypes.h: Added.
8354 (WebCore::):
8355 (WebCore::ControlBox::ControlBox):
8356 (WebCore::ControlBox::top):
8357 (WebCore::ControlBox::right):
8358 (WebCore::ControlBox::bottom):
8359 (WebCore::ControlBox::left):
8360 * platform/mac/ThemeMac.h: Added.
8361 (WebCore::ThemeMac::ThemeMac):
8362 (WebCore::ThemeMac::~ThemeMac):
8363 * platform/mac/ThemeMac.mm: Added.
8364 (WebCore::platformTheme):
8365 * rendering/RenderTheme.cpp:
8366 (WebCore::RenderTheme::RenderTheme):
8367 * rendering/RenderTheme.h:
8368
jmalonzo@webkit.org38edc132008-10-17 21:16:01 +000083692008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
8370
8371 Reviewed by Sam Weinig. Landed by Jan Alonzo.
8372
8373 https://bugs.webkit.org/show_bug.cgi?id=21603
8374 [GTK] Minor fixes to GOwnPtr
8375
8376 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
8377 (WebCore::mediaPlayerPrivateErrorCallback):
8378
timothy@apple.com4bfc7332008-10-17 16:51:03 +000083792008-10-17 Timothy Hatcher <timothy@apple.com>
8380
timothy@apple.com22edf572008-10-17 21:04:42 +00008381 Recompile the JavaScript functions when removing any listener, so functions that are
8382 not being debugged can resume normal speed again.
8383
8384 https://bugs.webkit.org/show_bug.cgi?id=21715
8385
8386 Reviewed by Geoffrey Garen.
8387
8388 * bindings/js/JSDOMWindowBase.cpp:
8389 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
8390 was firing when closing the window and having the recompile fire after. This was an
8391 overzelious assert now.
8392 * inspector/JavaScriptDebugServer.cpp:
8393 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
8394 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
8395
83962008-10-17 Timothy Hatcher <timothy@apple.com>
8397
timothy@apple.com4bfc7332008-10-17 16:51:03 +00008398 Fixes a regression where starting a debugging session in
8399 another Web Inspector window would not show any scripts.
8400 Also only attach the debugger to only the required Pages.
8401
8402 https://bugs.webkit.org/show_bug.cgi?id=21708
8403
8404 Reviewed by Darin Adler.
8405
8406 * inspector/JavaScriptDebugServer.cpp:
8407 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
8408 remove the call to willAddFirstListener(). Add a call to
8409 didAddListener().
8410 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
8411 and call to didRemoveListener().
8412 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
8413 if there is a listener interested in the new Page.
8414 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
8415 Use hasGlobalListeners() instead of isEmpty().
8416 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
8417 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
8418 debugger to the page if non-null, or all pages if page is null.
8419 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
8420 the debugger only if there are no interested listeners.
8421 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
8422 call to Page::setDebuggerForAllPages().
8423 * inspector/JavaScriptDebugServer.h:
8424 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
8425
brettw@chromium.orgaf9954f2008-10-17 15:56:24 +000084262008-10-15 Brett Wilson <brettw@chromium.org>
8427
8428 Reviewed by Timothy Hatcher.
8429
8430 Have ImageDocument generate its own filename for the title of images
8431 without relying on the suggested filename from the network layer, which
8432 may be nonexistant or not relevant.
8433 https://bugs.webkit.org/show_bug.cgi?id=21565
8434
8435 * loader/ImageDocument.cpp:
8436 (WebCore::ImageTokenizer::finish):
8437
ap@webkit.org2114abd2008-10-17 08:10:55 +000084382008-10-17 Alexey Proskuryakov <ap@webkit.org>
8439
ap@webkit.org6959ea02008-10-17 13:35:28 +00008440 Non-Mac build fix.
8441
8442 * GNUmakefile.am:
8443 * WebCore.pro:
8444 * WebCore.vcproj/WebCore.vcproj:
8445 * WebCoreSources.bkl:
8446 Added ActiveDOMObject to the build.
8447
84482008-10-17 Alexey Proskuryakov <ap@webkit.org>
8449
ap@webkit.org2114abd2008-10-17 08:10:55 +00008450 Reviewed by Sam Weinig.
8451
8452 https://bugs.webkit.org/show_bug.cgi?id=21642
8453 Abstract out active object tracking
8454
8455 * WebCore.xcodeproj/project.pbxproj:
8456 * bindings/js/JSDOMBinding.cpp:
8457 (WebCore::markActiveObjectsForDocument):
8458 * dom/ActiveDOMObject.cpp: Added.
8459 (WebCore::ActiveDOMObject::ActiveDOMObject):
8460 (WebCore::ActiveDOMObject::~ActiveDOMObject):
8461 (WebCore::ActiveDOMObject::contextDestroyed):
8462 (WebCore::ActiveDOMObject::stop):
8463 * dom/ActiveDOMObject.h: Added.
8464 (WebCore::ActiveDOMObject::document):
8465 (WebCore::ActiveDOMObject::hasPendingActivity):
8466 (WebCore::ActiveDOMObject::setPendingActivity):
8467 (WebCore::ActiveDOMObject::unsetPendingActivity):
8468 * dom/Document.cpp:
8469 (WebCore::Document::~Document):
8470 (WebCore::Document::stopActiveDOMObjects):
8471 (WebCore::Document::createdActiveDOMObject):
8472 (WebCore::Document::destroyedActiveDOMObject):
8473 * dom/Document.h:
8474 (WebCore::Document::activeDOMObjects):
8475 * dom/MessagePort.cpp:
8476 (WebCore::MessagePort::contextDestroyed):
8477 * dom/MessagePort.h:
8478 * loader/FrameLoader.cpp:
8479 (WebCore::FrameLoader::stopLoading):
8480 * xml/XMLHttpRequest.cpp:
8481 (WebCore::XMLHttpRequest::XMLHttpRequest):
8482 (WebCore::XMLHttpRequest::~XMLHttpRequest):
8483 (WebCore::XMLHttpRequest::associatedFrame):
8484 (WebCore::XMLHttpRequest::responseXML):
8485 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
8486 (WebCore::XMLHttpRequest::initSend):
8487 (WebCore::XMLHttpRequest::send):
8488 (WebCore::XMLHttpRequest::createRequest):
8489 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8490 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8491 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8492 (WebCore::XMLHttpRequest::loadRequestSynchronously):
8493 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
8494 (WebCore::XMLHttpRequest::dropProtection):
8495 (WebCore::XMLHttpRequest::setRequestHeader):
8496 (WebCore::XMLHttpRequest::processSyncLoadResults):
8497 (WebCore::XMLHttpRequest::didFinishLoading):
8498 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
8499 (WebCore::XMLHttpRequest::willSendRequest):
8500 (WebCore::XMLHttpRequest::accessControlCheck):
8501 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8502 (WebCore::XMLHttpRequest::stop):
8503 (WebCore::XMLHttpRequest::contextDestroyed):
8504 * xml/XMLHttpRequest.h:
8505 Move activity tracking to a new ActiveDOMObject class.
8506
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +000085072008-10-16 David Hyatt <hyatt@apple.com>
8508
hyatt@apple.comd4925582008-10-17 01:20:46 +00008509 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
8510 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
8511 did though. This patch removes the renderer argument and the Element subclass shadow implementation
8512 so that confusion like this can't occur again.
8513
8514 Reviewed by Oliver Hunt
8515
8516 * dom/Element.cpp:
8517 * dom/Element.h:
8518 * dom/Node.cpp:
8519 (WebCore::Node::createRendererIfNeeded):
8520 (WebCore::Node::styleForRenderer):
8521 * dom/Node.h:
8522 * html/HTMLOptGroupElement.cpp:
8523 (WebCore::HTMLOptGroupElement::attach):
8524 * html/HTMLOptionElement.cpp:
8525 (WebCore::HTMLOptionElement::attach):
8526 * svg/SVGClipPathElement.cpp:
8527 (WebCore::SVGClipPathElement::canvasResource):
8528 * svg/SVGFEDiffuseLightingElement.cpp:
8529 (WebCore::SVGFEDiffuseLightingElement::build):
8530 * svg/SVGFEFloodElement.cpp:
8531 (WebCore::SVGFEFloodElement::build):
8532 * svg/SVGFESpecularLightingElement.cpp:
8533 (WebCore::SVGFESpecularLightingElement::build):
8534 * svg/SVGGradientElement.cpp:
8535 (WebCore::SVGGradientElement::buildStops):
8536 * svg/SVGUseElement.cpp:
8537 (WebCore::SVGUseElement::attachShadowTree):
8538
85392008-10-16 David Hyatt <hyatt@apple.com>
8540
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +00008541 https://bugs.webkit.org/attachment.cgi?bugid=21647
8542
8543 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
8544 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
8545 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
8546 to use the arena.
8547
8548 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
8549 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
8550 arena also limited the usefulness.
8551
8552 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
8553 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
8554 manual ref/deref far outweigh keeping them in the arena.
8555
8556 Reviewed by Adam Roben
8557
8558 * css/CSSStyleSelector.cpp:
8559 (WebCore::CSSStyleSelector::CSSStyleSelector):
8560 (WebCore::CSSStyleSelector::~CSSStyleSelector):
8561 (WebCore::CSSStyleSelector::styleForElement):
8562 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
8563 (WebCore::CSSStyleSelector::pseudoStyleForElement):
8564 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
8565 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
8566
8567 (WebCore::CSSStyleSelector::updateFont):
8568 (WebCore::CSSStyleSelector::checkSelector):
8569 (WebCore::CSSStyleSelector::applyProperty):
8570 (WebCore::CSSStyleSelector::mapFillSize):
8571 (WebCore::CSSStyleSelector::mapFillXPosition):
8572 (WebCore::CSSStyleSelector::mapFillYPosition):
8573 * css/CSSStyleSelector.h:
8574 (WebCore::CSSStyleSelector::style):
8575 * dom/Document.cpp:
8576 (WebCore::Document::recalcStyle):
8577 * dom/Element.cpp:
8578 (WebCore::Element::styleForRenderer):
8579 (WebCore::Element::recalcStyle):
8580 (WebCore::Element::computedStyle):
8581 * dom/Element.h:
8582 * dom/ElementRareData.h:
8583 (WebCore::ElementRareData::ElementRareData):
8584 (WebCore::ElementRareData::resetComputedStyle):
8585 * dom/Node.cpp:
8586 (WebCore::Node::diff):
8587 (WebCore::Node::createRendererIfNeeded):
8588 (WebCore::Node::styleForRenderer):
8589 (WebCore::Node::setRenderStyle):
8590 * dom/Node.h:
8591 * html/CanvasRenderingContext2D.cpp:
8592 (WebCore::CanvasRenderingContext2D::setFont):
8593 * html/HTMLOptGroupElement.cpp:
8594 (WebCore::HTMLOptGroupElement::attach):
8595 (WebCore::HTMLOptGroupElement::detach):
8596 (WebCore::HTMLOptGroupElement::setRenderStyle):
8597 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
8598 * html/HTMLOptGroupElement.h:
8599 * html/HTMLOptionElement.cpp:
8600 (WebCore::HTMLOptionElement::attach):
8601 (WebCore::HTMLOptionElement::detach):
8602 (WebCore::HTMLOptionElement::setRenderStyle):
8603 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
8604 * html/HTMLOptionElement.h:
8605 * page/animation/AnimationBase.h:
8606 (WebCore::AnimationBase::animate):
8607 * page/animation/AnimationController.cpp:
8608 (WebCore::AnimationController::updateAnimations):
8609 * page/animation/AnimationController.h:
8610 * page/animation/CompositeAnimation.cpp:
8611 (WebCore::CompositeAnimationPrivate::updateTransitions):
8612 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
8613 (WebCore::CompositeAnimationPrivate::animate):
8614 (WebCore::CompositeAnimation::animate):
8615 * page/animation/CompositeAnimation.h:
8616 * page/animation/ImplicitAnimation.cpp:
8617 (WebCore::ImplicitAnimation::ImplicitAnimation):
8618 (WebCore::ImplicitAnimation::~ImplicitAnimation):
8619 (WebCore::ImplicitAnimation::animate):
8620 (WebCore::ImplicitAnimation::reset):
8621 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
8622 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
8623 * page/animation/ImplicitAnimation.h:
8624 (WebCore::ImplicitAnimation::create):
8625 * page/animation/KeyframeAnimation.cpp:
8626 (WebCore::KeyframeAnimation::KeyframeAnimation):
8627 (WebCore::KeyframeAnimation::~KeyframeAnimation):
8628 (WebCore::KeyframeAnimation::animate):
8629 (WebCore::KeyframeAnimation::validateTransformFunctionList):
8630 * page/animation/KeyframeAnimation.h:
8631 (WebCore::KeyframeAnimation::create):
8632 (WebCore::KeyframeAnimation::unanimatedStyle):
8633 * rendering/InlineTextBox.cpp:
8634 (WebCore::InlineTextBox::paint):
8635 * rendering/MediaControlElements.cpp:
8636 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
8637 (WebCore::MediaControlInputElement::MediaControlInputElement):
8638 * rendering/RenderBlock.cpp:
8639 (WebCore::RenderBlock::styleDidChange):
8640 (WebCore::RenderBlock::updateFirstLetter):
8641 * rendering/RenderContainer.cpp:
8642 (WebCore::RenderContainer::addChild):
8643 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
8644 * rendering/RenderFileUploadControl.cpp:
8645 (WebCore::RenderFileUploadControl::updateFromElement):
8646 (WebCore::RenderFileUploadControl::createButtonStyle):
8647 * rendering/RenderFileUploadControl.h:
8648 * rendering/RenderFlow.cpp:
8649 (WebCore::RenderFlow::createAnonymousFlow):
8650 * rendering/RenderFlow.h:
8651 * rendering/RenderInline.cpp:
8652 (WebCore::RenderInline::addChildToFlow):
8653 * rendering/RenderLayer.cpp:
8654 (WebCore::RenderLayer::updateScrollCornerStyle):
8655 (WebCore::RenderLayer::updateResizerStyle):
8656 (WebCore::RenderLayer::updateReflectionStyle):
8657 * rendering/RenderListItem.cpp:
8658 (WebCore::RenderListItem::styleDidChange):
8659 * rendering/RenderMedia.cpp:
8660 (WebCore::RenderMedia::createPanel):
8661 (WebCore::RenderMedia::createTimeDisplay):
8662 (WebCore::RenderMedia::changeOpacity):
8663 * rendering/RenderObject.cpp:
8664 (WebCore::RenderObject::selectionBackgroundColor):
8665 (WebCore::RenderObject::selectionForegroundColor):
8666 (WebCore::RenderObject::createAnonymousBlock):
8667 (WebCore::RenderObject::setAnimatableStyle):
8668 (WebCore::RenderObject::setStyle):
8669 (WebCore::RenderObject::setStyleInternal):
8670 (WebCore::RenderObject::arenaDelete):
8671 (WebCore::RenderObject::firstLineStyle):
8672 (WebCore::RenderObject::getPseudoStyle):
8673 * rendering/RenderObject.h:
8674 (WebCore::RenderObject::style):
8675 * rendering/RenderSVGBlock.cpp:
8676 (WebCore::RenderSVGBlock::setStyle):
8677 * rendering/RenderSVGBlock.h:
8678 * rendering/RenderScrollbar.cpp:
8679 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
8680 (WebCore::RenderScrollbar::updateScrollbarPart):
8681 * rendering/RenderScrollbar.h:
8682 * rendering/RenderSlider.cpp:
8683 (WebCore::RenderSlider::styleDidChange):
8684 (WebCore::RenderSlider::createThumbStyle):
8685 (WebCore::RenderSlider::updateFromElement):
8686 * rendering/RenderSlider.h:
8687 * rendering/RenderTable.cpp:
8688 (WebCore::RenderTable::addChild):
8689 * rendering/RenderTableRow.cpp:
8690 (WebCore::RenderTableRow::addChild):
8691 * rendering/RenderTableSection.cpp:
8692 (WebCore::RenderTableSection::addChild):
8693 * rendering/RenderTextControl.cpp:
8694 (WebCore::RenderTextControl::styleDidChange):
8695 (WebCore::RenderTextControl::createInnerBlockStyle):
8696 (WebCore::RenderTextControl::createInnerTextStyle):
8697 (WebCore::RenderTextControl::createResultsButtonStyle):
8698 (WebCore::RenderTextControl::createCancelButtonStyle):
8699 (WebCore::RenderTextControl::createSubtreeIfNeeded):
8700 (WebCore::RenderTextControl::updatePlaceholderVisibility):
8701 * rendering/RenderTextControl.h:
8702 * rendering/TextControlInnerElements.cpp:
8703 (WebCore::TextControlInnerElement::attachInnerElement):
8704 * rendering/TextControlInnerElements.h:
8705 * rendering/style/KeyframeList.cpp:
8706 (WebCore::KeyframeList::clear):
8707 (WebCore::KeyframeList::operator==):
8708 (WebCore::KeyframeList::insert):
8709 * rendering/style/KeyframeList.h:
8710 (WebCore::KeyframeValue::KeyframeValue):
8711 (WebCore::KeyframeValue::~KeyframeValue):
8712 (WebCore::KeyframeValue::key):
8713 (WebCore::KeyframeValue::style):
8714 * rendering/style/RenderStyle.cpp:
8715 (WebCore::defaultStyle):
8716 (WebCore::RenderStyle::create):
8717 (WebCore::RenderStyle::createDefaultStyle):
8718 (WebCore::RenderStyle::clone):
8719 (WebCore::RenderStyle::RenderStyle):
8720 (WebCore::RenderStyle::getCachedPseudoStyle):
8721 (WebCore::RenderStyle::addCachedPseudoStyle):
8722 * rendering/style/RenderStyle.h:
8723 (WebCore::):
8724 (WebCore::InheritedFlags::operator!=):
8725 * svg/SVGClipPathElement.cpp:
8726 (WebCore::SVGClipPathElement::canvasResource):
8727 * svg/SVGGradientElement.cpp:
8728 (WebCore::SVGGradientElement::buildStops):
8729 * svg/SVGStyledElement.cpp:
8730 (WebCore::SVGStyledElement::resolveStyle):
8731 * svg/SVGStyledElement.h:
8732 * svg/SVGUseElement.cpp:
8733 (WebCore::SVGUseElement::recalcStyle):
8734 (WebCore::SVGUseElement::attachShadowTree):
8735
andersca@apple.com2c7cec42008-10-16 19:08:19 +000087362008-10-16 Kenneth Russell <kenneth.russell@sun.com>
8737
8738 Reviewed and landed by Anders Carlsson.
8739
8740 https://bugs.webkit.org/show_bug.cgi?id=21587
8741 NPN_PluginThreadAsyncCall does not work properly
8742
8743 * plugins/PluginMainThreadScheduler.cpp:
8744 (WebCore::PluginMainThreadScheduler::dispatchCalls):
8745 Make sure to set m_callPending to false once the queue has been cleared.
8746
ap@webkit.orga89bd1e2008-10-16 08:00:53 +000087472008-10-15 Alexey Proskuryakov <ap@webkit.org>
8748
8749 Reviewed by Darin Adler.
8750
8751 https://bugs.webkit.org/show_bug.cgi?id=21609
8752 Make MessagePorts protect their peers across heaps
8753
8754 * dom/MessagePort.cpp:
8755 (WebCore::MessagePort::MessagePort):
8756 * dom/MessagePort.h:
8757 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
8758 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
8759 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
8760 means that the implementation object knows about JS bindings - but it is not possible to
8761 access JS wrappers from another heap/thread.
8762
8763 * bindings/js/JSDOMBinding.cpp:
8764 (WebCore::markCrossHeapDependentObjectsForDocument):
8765 * bindings/js/JSDOMBinding.h:
8766 * bindings/js/JSDOMWindowBase.cpp:
8767 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
8768 * bindings/js/JSDOMWindowBase.h:
8769 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
8770 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
8771 as long as its entangled port is accessible itself.
8772
jhoneycutt@apple.com2edeb802008-10-16 04:56:46 +000087732008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
8774
8775 Remove unneeded check of whether a Page defers loading before running it
8776 in a modal dialog.
8777
8778 No test possible.
8779
8780 Reviewed by Tim Hatcher.
8781
8782 * page/Chrome.cpp:
8783
ggaren@apple.com9f980342008-10-15 23:33:07 +000087842008-10-15 Geoffrey Garen <ggaren@apple.com>
8785
8786 Reviewed by Cameron Zwarich.
8787
8788 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
8789 Start the debugger without reloading the inspected page
8790
8791 * WebCore.base.exp: New symbols.
8792
8793 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
8794 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
8795 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
8796
8797 * inspector/InspectorController.cpp:
8798 (WebCore::InspectorController::setWindowVisible):
8799 (WebCore::InspectorController::windowScriptObjectAvailable):
8800 (WebCore::InspectorController::startDebugging):
8801 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
8802 to startDebugging, and changed its behavior to match.
8803
8804 * inspector/JavaScriptDebugListener.h:
8805 * inspector/JavaScriptDebugServer.cpp:
8806 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
8807 (WebCore::JavaScriptDebugServer::addListener):
8808 (WebCore::JavaScriptDebugServer::removeListener):
8809 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
8810 (WebCore::JavaScriptDebugServer::willAddFirstListener):
8811 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
8812 * inspector/JavaScriptDebugServer.h: Refactored the
8813 JavaScriptDebugServer to centralize handling of adding the first listener
8814 and removing the last. Then, added a feature to recompile all JS functions
8815 in these cases. This allows us to dynamically add and remove hooks like
8816 the debugger hooks without reloading the page.
8817
8818 * inspector/front-end/ScriptsPanel.js:
8819 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
8820 startDebugging rename. Removed all UI that claimed that starting the
8821 debugger would reload the page.
8822
adele@apple.com40c50522008-10-15 22:10:25 +000088232008-10-15 Adele Peterson <adele@apple.com>
8824
8825 Attempt to fix the Tiger build.
8826
8827 * platform/network/mac/ResourceHandleMac.mm:
8828
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +000088292008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
8830
zecke@webkit.orgc588fe72008-10-15 22:22:38 +00008831 Build fix attempt.
8832
8833 Try to fix static/non-static declaration of g_string_append_uri_escape
8834 by renaming that string. Another look needs to be taken.
8835
8836 * platform/gtk/guriescape.c:
8837 (_webcore_g_string_append_uri_escaped):
8838 (_webcore_g_uri_escape_string):
8839
88402008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
8841
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +00008842 Build fix.
8843
8844 m_animatingImageType is gone.
8845
8846 * platform/graphics/cairo/ImageCairo.cpp:
8847 (WebCore::BitmapImage::BitmapImage):
8848
zecke@webkit.org34a153a2008-10-15 22:01:31 +000088492008-10-15 Jeff Cook <cookiecaper@gmail.com>
8850
8851 Reviewed by Holger Freyther.
8852
8853 Stop SIGSEGV when leaving a page with a Flash object by reordering
8854 window destruction and plugin stop.
8855
8856 See https://bugs.webkit.org/show_bug.cgi?id=20779
8857
8858 * plugins/gtk/PluginViewGtk.cpp:
8859 (WebCore::PluginView::stop):
8860
adele@apple.com555df922008-10-15 21:53:46 +000088612008-10-15 Adele Peterson <adele@apple.com>
8862
8863 Reviewed by Sam Weinig.
8864
8865 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
8866
8867 * platform/network/ResourceHandle.h:
8868 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
8869 * platform/network/mac/ResourceHandleMac.mm:
8870 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
8871 (WebCore::ResourceHandle::start):
8872 (WebCore::ResourceHandle::cancel):
8873 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
8874 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
8875 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
8876 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
8877
pkasting@chromium.orgaf85ed22008-10-15 21:11:23 +000088782008-10-15 Peter Kasting <pkasting@google.com>
8879
8880 Reviewed by David Hyatt.
8881
8882 Qt build bustage fix.
8883
8884 * platform/graphics/qt/StillImageQt.h:
8885 (WebCore::StillImage::destroyDecodedData):
8886
hyatt@apple.com8907c882008-10-15 21:06:22 +000088872008-10-15 David Hyatt <hyatt@apple.com>
8888
8889 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
8890
8891 Reviewed by Mark Rowe
8892
8893 * rendering/RenderScrollbar.cpp:
8894 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
8895 (WebCore::RenderScrollbar::updateScrollbarPart):
8896
pkasting@chromium.orge8a5a6b2008-10-15 20:38:13 +000088972008-10-15 Peter Kasting <pkasting@google.com>
8898
8899 Reviewed by David Hyatt.
8900
8901 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
8902 Account for paint and timer lag when animating images. Also pretend
8903 that images whose animations were paused (by becoming invisible)
8904 continued to animate, by "catching up" to the correct frame when they're
8905 shown again.
8906
8907 * platform/graphics/BitmapImage.cpp:
8908 (WebCore::BitmapImage::BitmapImage):
8909 (WebCore::BitmapImage::destroyDecodedData):
8910 (WebCore::BitmapImage::cacheFrame):
8911 (WebCore::BitmapImage::frameIsCompleteAtIndex):
8912 (WebCore::BitmapImage::frameDurationAtIndex):
8913 (WebCore::BitmapImage::frameHasAlphaAtIndex):
8914 (WebCore::BitmapImage::repetitionCount):
8915 (WebCore::BitmapImage::shouldAnimate):
8916 (WebCore::BitmapImage::startAnimation):
8917 (WebCore::BitmapImage::resetAnimation):
8918 (WebCore::BitmapImage::advanceAnimation):
8919 (WebCore::BitmapImage::internalAdvanceAnimation):
8920 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
8921 * platform/graphics/BitmapImage.h:
8922 (WebCore::FrameData::FrameData):
8923 (WebCore::BitmapImage::):
8924 * platform/graphics/GeneratedImage.h:
8925 (WebCore::GeneratedImage::destroyDecodedData):
8926 * platform/graphics/Image.h:
8927 * platform/graphics/cairo/ImageCairo.cpp:
8928 (WebCore::FrameData::clear):
8929 (WebCore::BitmapImage::BitmapImage):
8930 (WebCore::BitmapImage::draw):
8931 * platform/graphics/cg/ImageCG.cpp:
8932 (WebCore::FrameData::clear):
8933 (WebCore::BitmapImage::BitmapImage):
8934 (WebCore::BitmapImage::draw):
8935 * platform/graphics/cg/PDFDocumentImage.h:
8936 (WebCore::PDFDocumentImage::destroyDecodedData):
8937 * platform/graphics/qt/ImageQt.cpp:
8938 (WebCore::FrameData::clear):
8939 (WebCore::BitmapImage::draw):
8940 * platform/graphics/wx/ImageWx.cpp:
8941 (WebCore::FrameData::clear):
8942 (WebCore::BitmapImage::draw):
8943 * svg/graphics/SVGImage.h:
8944 (WebCore::SVGImage::destroyDecodedData):
8945
bdakin@apple.comcf22dba2008-10-15 20:32:43 +000089462008-10-14 Maxime Britto <britto@apple.com>
8947
8948 Reviewed by Darin Adler, tweaked and landed by Beth.
8949
8950 * WebCore.base.exp: Exposes two functions to be able to create a
8951 selection from a point on the screen. Also exposes the new
8952 TextIterator::currentNode function.
8953 * WebCore/editing/TextIterator.cpp:
8954 (TextIterator::currentNode) : New function that returns the current
8955 text node or NULL if there is no text node.
8956
zecke@webkit.orgc6012912008-10-15 20:18:31 +000089572008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
8958
8959 Reviewed by Holger Freyther.
8960
zecke@webkit.orgbc692f72008-10-15 20:53:02 +00008961 http://bugs.webkit.org/show_bug.cgi?id=21211
8962 [CURL] Upload doesn't work because cancel is called
8963
8964 FormDataStream::read returns 0 when retrieving data from the form
8965 fails, but also when there is no more data to send. This means that
8966 ResourceHandleManager::cancel is always called even when the data was
8967 successfully sent.
8968
8969 Check if there are more elements in the form before calling
8970 FormDataStream::read.
8971
8972 * platform/network/curl/FormDataStreamCurl.cpp:
8973 (WebCore::FormDataStream::hasMoreElements):
8974 * platform/network/curl/FormDataStreamCurl.h:
8975 * platform/network/curl/ResourceHandleManager.cpp:
8976 (WebCore::readCallback):
8977
89782008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
8979
8980 Reviewed by Holger Freyther.
8981
zecke@webkit.orgc6012912008-10-15 20:18:31 +00008982 http://bugs.webkit.org/show_bug.cgi?id=20664
8983 [GTK] File names are not always encodable in UTF-8
8984
8985 On Linux file names are just raw data and cannot always be directly
8986 encoded in UTF-8 or in any other encodings, so we escape them before
8987 storing the file name in a String and unescape them before passing
8988 them to native functions handling files.
8989
8990 * GNUmakefile.am:
8991 * platform/FileSystem.h:
8992 * platform/gtk/FileChooserGtk.cpp:
8993 (WebCore::stringByAdoptingFileSystemRepresentation):
8994 (WebCore::FileChooser::basenameForWidth):
8995 * platform/gtk/FileSystemGtk.cpp:
8996 (WebCore::filenameToString):
8997 (WebCore::filenameFromString):
8998 (WebCore::filenameForDisplay):
8999 (WebCore::fileExists):
9000 (WebCore::deleteFile):
9001 (WebCore::deleteEmptyDirectory):
9002 (WebCore::getFileSize):
9003 (WebCore::getFileModificationTime):
9004 (WebCore::makeAllDirectories):
9005 (WebCore::homeDirectoryPath):
9006 (WebCore::pathGetFileName):
9007 (WebCore::listDirectory):
9008 * platform/gtk/KURLGtk.cpp:
9009 (WebCore::KURL::fileSystemPath):
9010 * platform/gtk/SharedBufferGtk.cpp:
9011 (WebCore::SharedBuffer::createWithContentsOfFile):
9012 * platform/gtk/guriescape.c: Added.
9013 (is_valid):
9014 (gunichar_ok):
9015 (g_string_append_uri_escaped):
9016 (_webcore_g_uri_escape_string):
9017 * platform/gtk/guriescape.h: Added.
9018
darin@apple.come0c926d2008-10-15 17:02:02 +000090192008-10-15 Dirk Schulze <vbs85@gmx.de>
9020
9021 Reviewed by Eric Seidel.
9022
9023 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
9024 Moved gradient spread method out of SVG into the GraphicsContext.
9025
9026 * platform/graphics/GraphicsContext.cpp:
9027 (WebCore::GraphicsContext::spreadMethod):
9028 (WebCore::GraphicsContext::setSpreadMethod):
9029 * platform/graphics/GraphicsContext.h:
9030 (WebCore::):
9031 * platform/graphics/GraphicsContextPrivate.h:
9032 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9033 (WebCore::applySpreadMethod):
9034 (WebCore::GraphicsContext::fillPath):
9035 (WebCore::GraphicsContext::strokePath):
9036 * platform/graphics/qt/GraphicsContextQt.cpp:
9037 (WebCore::applySpreadMethod):
9038 (WebCore::GraphicsContext::fillPath):
9039 (WebCore::GraphicsContext::strokePath):
9040 * svg/GradientAttributes.h:
9041 (WebCore::GradientAttributes::GradientAttributes):
9042 (WebCore::GradientAttributes::spreadMethod):
9043 (WebCore::GradientAttributes::setSpreadMethod):
9044 * svg/SVGGradientElement.cpp:
9045 (WebCore::SVGGradientElement::parseMappedAttribute):
9046 * svg/SVGGradientElement.h:
9047 * svg/SVGLinearGradientElement.cpp:
9048 (WebCore::SVGLinearGradientElement::collectGradientProperties):
9049 * svg/SVGRadialGradientElement.cpp:
9050 (WebCore::SVGRadialGradientElement::collectGradientProperties):
9051 * svg/graphics/SVGPaintServerGradient.cpp:
9052 (WebCore::operator<<):
9053 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
9054 (WebCore::SVGPaintServerGradient::spreadMethod):
9055 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
9056 (WebCore::SVGPaintServerGradient::externalRepresentation):
9057 * svg/graphics/SVGPaintServerGradient.h:
9058 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
9059 (WebCore::SVGPaintServerGradient::setup):
9060 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
9061 (WebCore::SVGPaintServerGradient::setup):
9062
darin@chromium.org7a0c3c92008-10-15 05:22:03 +000090632008-10-09 Darin Fisher <darin@chromium.org>
9064
9065 Reviewed by Sam Weinig.
9066
9067 Make pan scrolling a platform configurable option
9068 https://bugs.webkit.org/show_bug.cgi?id=21515
9069
9070 * page/EventHandler.cpp:
9071 (WebCore::EventHandler::handleAutoscroll):
9072 (WebCore::EventHandler::autoscrollTimerFired):
9073 (WebCore::EventHandler::stopAutoscrollTimer):
9074 (WebCore::EventHandler::handleMousePressEvent):
9075 (WebCore::EventHandler::keyEvent):
9076
darin@chromium.org5a0619c2008-10-15 05:15:47 +000090772008-10-10 Darin Fisher <darin@chromium.org>
9078
9079 Reviewed by Darin Adler.
9080
9081 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
9082 https://bugs.webkit.org/show_bug.cgi?id=21511
9083
9084 * loader/FTPDirectoryDocument.cpp:
9085 * loader/FTPDirectoryParser.cpp:
9086 * loader/FrameLoader.cpp:
9087 (WebCore::FrameLoader::finishedLoadingDocument):
9088 * platform/ContextMenuItem.h:
9089 * platform/Cursor.h:
9090 * platform/DragData.h:
9091 * platform/DragImage.h:
9092 * platform/Pasteboard.h:
9093 * platform/PlatformKeyboardEvent.h:
9094 (WebCore::PlatformKeyboardEvent::isSystemKey):
9095 * platform/PlatformMenuDescription.h:
9096 * platform/PlatformMouseEvent.h:
9097 * platform/PlatformWheelEvent.h:
9098 * platform/PopupMenu.h:
9099 * platform/ScrollView.h:
9100 * platform/Widget.h:
9101 * platform/network/NetworkStateNotifier.h:
9102
cmarrin@apple.com78e50e82008-10-14 21:31:40 +000091032008-10-14 Chris Marrin <cmarrin@apple.com>
9104
9105 Reviewed by Darin Adler.
9106
9107 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
9108 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
9109
9110 Test: css3/change-keyframes.html
9111
9112 * css/WebKitCSSKeyframesRule.cpp:
9113 (WebCore::WebKitCSSKeyframesRule::append):
9114 (WebCore::WebKitCSSKeyframesRule::deleteRule):
9115
hyatt@apple.combf26cc02008-10-14 20:35:36 +000091162008-10-14 David Hyatt <hyatt@apple.com>
9117
9118 https://bugs.webkit.org/show_bug.cgi?id=21595
9119
9120 Clean up background and overflow propagation from the body to the viewport. Make it match the
9121 latest CSS2.1 spec thinking.
9122
9123 Reviewed by Adam Roben
9124
9125 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
9126 (available at http://simon.html5.org/test/css/magic-body/).
9127
9128 * dom/Document.cpp:
9129 (WebCore::Document::body):
9130 * page/FrameView.cpp:
9131 (WebCore::FrameView::layout):
9132 * rendering/RenderBox.cpp:
9133 (WebCore::RenderBox::styleDidChange):
9134 (WebCore::RenderBox::paintRootBoxDecorations):
9135 (WebCore::RenderBox::paintBoxDecorations):
9136 (WebCore::RenderBox::repaintLayerRectsForImage):
9137
weinig@apple.com91cdcd52008-10-14 19:55:12 +000091382008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
9139
9140 Reviewed and landed by Sam Weinig.
9141
9142 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
9143 remove NSResolver code, leaving only checking for selectors that need
9144 NS resolution and throwing a coresponding error.
9145
9146 * WebCore.pro:
9147 * WebCore.vcproj/WebCore.vcproj:
9148 * WebCore.xcodeproj/project.pbxproj:
9149 * WebCoreSources.bkl:
9150 * bindings/js/JSDocumentCustom.cpp:
9151 * bindings/js/JSDocumentFragmentCustom.cpp:
9152 * bindings/js/JSElementCustom.cpp:
9153 * bindings/js/JSNSResolver.cpp: Removed.
9154 * bindings/js/JSNSResolver.h: Removed.
9155 * dom/Document.idl:
9156 * dom/DocumentFragment.idl:
9157 * dom/Element.idl:
9158 * dom/NSResolver.h: Removed.
9159 * dom/NSResolver.idl: Removed.
9160 * dom/Node.h:
9161 * dom/Node.cpp:
9162 (WebCore::forEachTagSelector):
9163 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
9164 (WebCore::selectorNeedsNamespaceResolution):
9165 (WebCore::Node::querySelector):
9166 (WebCore::Node::querySelectorAll):
9167
darin@apple.com2b4eb8f2008-10-14 19:19:33 +000091682008-10-14 Darin Adler <darin@apple.com>
9169
9170 Reviewed by Sam Weinig (all but the FormDataListItem rename).
9171
9172 - https://bugs.webkit.org/show_bug.cgi?id=21593
9173 Bug 21593: add multiple-file support to HTMLFormElement
9174
9175 * html/FormDataList.cpp: Removed appendFile since it's now inline.
9176 Also took incorrect old copyrights off of this file that are left
9177 over from when it was split.
9178 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
9179 made it a member of FormDataList. Changed it to hold a File object
9180 instead of a path. And made its data members private. Changed
9181 FormDataList::appendFile accordingly.
9182
9183 * html/HTMLFormElement.cpp:
9184 (WebCore::HTMLFormElement::formData): Updated for above changes.
9185 Removed the code that special-cases HTMLInputElement, because now
9186 the FormDataListItem has everything we need. And if there are
9187 multiple files, we'll get multiple list items for them.
9188
9189 * html/HTMLInputElement.cpp:
9190 (WebCore::HTMLInputElement::appendFormData): Changed the code for
9191 <input type=file> to use File objects instead of path strings and
9192 also to append multiple files if the file list has them.
9193
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000091942008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9195
9196 Reviewed by Simon.
vestbo@webkit.org61042592008-10-14 12:50:51 +00009197
9198 Fix QtWebKit scrollbar painting errors
9199
9200 * platform/qt/ScrollbarThemeQt.cpp:
9201 (WebCore::ScrollbarThemeQt::paint):
9202 (WebCore::ScrollbarThemeQt::paintScrollCorner):
9203
92042008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9205
9206 Reviewed by Simon.
vestbo@webkit.org03ca7582008-10-14 08:38:41 +00009207
vestbo@webkit.org084e5f62008-10-14 08:43:01 +00009208 Fix scrollbar arrows for horizontal scrollbars
9209
9210 * platform/qt/ScrollbarThemeQt.cpp:
9211 (WebCore::styleOptionSlider):
9212
92132008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9214
9215 Reviewed by Simon.
9216
vestbo@webkit.org03ca7582008-10-14 08:38:41 +00009217 Use style-painter to draw scrollbars in ScrollbarThemeQt
9218
9219 This has the benefit of setting up the painter properly without
9220 antialiasing and saving and restoring the brush. It also ensures
9221 that we use the style of the QWebView over the QApplication style
9222 if possible.
9223
9224 * platform/qt/RenderThemeQt.cpp:
9225 (WebCore::StylePainter::StylePainter):
9226 (WebCore::StylePainter::init):
9227 * platform/qt/RenderThemeQt.h:
9228 * platform/qt/ScrollbarThemeQt.cpp:
9229 (WebCore::ScrollbarThemeQt::paint):
9230
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +000092312008-10-13 David Hyatt <hyatt@apple.com>
9232
hyatt@apple.com2768a4b2008-10-14 06:45:52 +00009233 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
9234 for how to add support for the rest.
9235
9236 Reviewed by Oliver Hunt
9237
9238 * page/animation/AnimationBase.cpp:
9239 (WebCore::ensurePropertyMap):
9240 * rendering/style/RenderStyle.h:
9241 (WebCore::RenderStyle::fillOpacity):
9242 (WebCore::RenderStyle::setFillOpacity):
9243 (WebCore::RenderStyle::strokeOpacity):
9244 (WebCore::RenderStyle::setStrokeOpacity):
9245 (WebCore::RenderStyle::floodOpacity):
9246 (WebCore::RenderStyle::setFloodOpacity):
9247
92482008-10-13 David Hyatt <hyatt@apple.com>
9249
hyatt@apple.comda1f6322008-10-14 06:29:36 +00009250 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
9251
9252 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
9253 implements paintTrackBackground so that when the thumb is not present the track still paints.
9254
9255 Reviewed by Oliver Hunt
9256
9257 * platform/ScrollbarThemeComposite.cpp:
9258 (WebCore::ScrollbarThemeComposite::paint):
9259 * platform/win/ScrollbarThemeWin.cpp:
9260 (WebCore::ScrollbarThemeWin::paintTrackBackground):
9261 * platform/win/ScrollbarThemeWin.h:
9262
92632008-10-13 David Hyatt <hyatt@apple.com>
9264
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +00009265 Fix over-invalidation of native scrollbars.
9266
9267 Reviewed by Oliver Hunt
9268
9269 * platform/Scrollbar.h:
9270 (WebCore::Scrollbar::styleChanged):
9271 * platform/mac/ScrollbarThemeMac.mm:
9272 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
9273 * rendering/RenderScrollbar.cpp:
9274 (WebCore::RenderScrollbar::styleChanged):
9275
alp@webkit.orga3417882008-10-14 04:14:38 +000092762008-10-13 Alp Toker <alp@nuanti.com>
9277
9278 Fix autotools dist build target by listing recently added header
9279 files only. Not reviewed.
9280
9281 * GNUmakefile.am:
9282
mrowe@apple.com5c9cb4d2008-10-14 02:28:46 +000092832008-10-13 Mark Rowe <mrowe@apple.com>
9284
9285 Reviewed by Brady Eidson.
9286
9287 Don't run a SQLite query on every iteration of the sync thread when the query
9288 will touch a large portion of the icon database while performing no useful work.
9289
9290 * loader/icon/IconDatabase.cpp:
9291 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
9292 we modified the database.
9293 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
9294 unless we've been asked to prune any dangling pageURLs that we find.
9295
mjs@apple.com268962e2008-10-14 01:21:43 +000092962008-10-13 Maciej Stachowiak <mjs@apple.com>
9297
9298 Rubber stamped by Mark Rowe.
9299
9300 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
9301
9302 * Configurations/DebugRelease.xcconfig:
9303
hyatt@apple.comc3ed34a2008-10-14 00:59:46 +000093042008-10-13 David Hyatt <hyatt@apple.com>
9305
9306 Make dropdown lists on Windows work with CSS custom scrollbars.
9307
9308 Reviewed by Adele
9309
9310 * platform/PopupMenu.h:
9311 (WebCore::PopupMenu::scrollbarCornerPresent):
9312 * platform/PopupMenuClient.h:
9313 * platform/win/PopupMenuWin.cpp:
9314 (WebCore::PopupMenu::show):
9315 * rendering/RenderMenuList.cpp:
9316 (WebCore::RenderMenuList::createScrollbar):
9317 * rendering/RenderMenuList.h:
9318 * rendering/RenderTextControl.cpp:
9319 (WebCore::RenderTextControl::createScrollbar):
9320 * rendering/RenderTextControl.h:
9321
cfleizach@apple.com12468c12008-10-13 22:48:19 +000093222008-10-13 Chris Fleizach <cfleizach@apple.com>
9323
9324 Reviewed by Beth Dakin.
9325
9326 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
9327
9328 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
9329 The position of image map links was being reported incorrectly and the parent-chain
9330 hierarchy for image map links was incorrect because image map links did not have a reference
9331 to their parent image.
9332
9333 Test: accessibility/document-links.html
9334
9335 * page/AccessibilityImageMapLink.cpp:
9336 (WebCore::AccessibilityImageMapLink::parentObject):
9337 (WebCore::AccessibilityImageMapLink::actionElement):
9338 (WebCore::AccessibilityImageMapLink::elementRect):
9339 * page/AccessibilityImageMapLink.h:
9340 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
9341 (WebCore::AccessibilityImageMapLink::setParent):
9342 * page/AccessibilityObject.cpp:
9343 * page/AccessibilityObject.h:
9344 * page/AccessibilityRenderObject.cpp:
9345 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
9346 (WebCore::AccessibilityRenderObject::getDocumentLinks):
9347 (WebCore::AccessibilityRenderObject::addChildren):
9348 * page/AccessibilityRenderObject.h:
9349 * page/mac/AccessibilityObjectWrapper.mm:
9350 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
9351
hyatt@apple.com59696ac2008-10-13 21:53:07 +000093522008-10-13 David Hyatt <hyatt@apple.com>
9353
hyatt@apple.com456dd872008-10-13 22:42:59 +00009354 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
9355 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
9356 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
9357
9358 Reviewed by Tim Hatcher
9359
9360 Added scrollbars/listbox-scrollbar-combinations.html
9361
9362 * rendering/RenderListBox.cpp:
9363 (WebCore::RenderListBox::~RenderListBox):
9364 (WebCore::RenderListBox::updateFromElement):
9365 (WebCore::RenderListBox::createScrollbar):
9366 (WebCore::RenderListBox::destroyScrollbar):
9367 (WebCore::RenderListBox::setHasVerticalScrollbar):
9368 * rendering/RenderListBox.h:
9369
93702008-10-13 David Hyatt <hyatt@apple.com>
9371
hyatt@apple.com59696ac2008-10-13 21:53:07 +00009372 In order to always match the :corner-present pseudo-class properly, delay initial updating of
9373 scrollbar styles until the layer has the scrollbars in its member variables.
9374
9375 Reviewed by Tim Hatcher
9376
9377 * rendering/RenderLayer.cpp:
9378 (WebCore::RenderLayer::setHasHorizontalScrollbar):
9379 (WebCore::RenderLayer::setHasVerticalScrollbar):
9380 * rendering/RenderScrollbar.cpp:
9381 (WebCore::RenderScrollbar::RenderScrollbar):
9382
weinig@apple.comfe8ca432008-10-13 21:41:40 +000093832008-10-13 Sam Weinig <sam@webkit.org>
9384
9385 Reviewed by Dan Bernstein.
9386
9387 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
9388 5 false positive StructureID leaks
9389
9390 In WebCore, we intentionally leak the common JSGlobalData which in turn
9391 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
9392 ignore the StructureIDs leaked within.
9393
9394 * bindings/js/JSDOMWindowBase.cpp:
9395 (WebCore::JSDOMWindowBase::commonJSGlobalData):
9396
hyatt@apple.com097c92d2008-10-13 20:21:35 +000093972008-10-13 David Hyatt <hyatt@apple.com>
9398
hyatt@apple.come2a30fd2008-10-13 21:23:21 +00009399 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
9400 artwork based on whether there is a scrollbar corner present.
9401
9402 Reviewed by Tim Hatcher
9403
9404 * css/CSSSelector.cpp:
9405 (WebCore::CSSSelector::extractPseudoType):
9406 * css/CSSSelector.h:
9407 (WebCore::CSSSelector::):
9408 * css/CSSStyleSelector.cpp:
9409 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9410 * platform/ScrollView.cpp:
9411 (WebCore::ScrollView::scrollbarCornerPresent):
9412 * platform/ScrollView.h:
9413 * platform/ScrollbarClient.h:
9414 * rendering/RenderLayer.cpp:
9415 (WebCore::cornerRect):
9416 (WebCore::scrollCornerRect):
9417 (WebCore::resizerCornerRect):
9418 (WebCore::RenderLayer::scrollbarCornerPresent):
9419 (WebCore::RenderLayer::setHasHorizontalScrollbar):
9420 (WebCore::RenderLayer::setHasVerticalScrollbar):
9421 * rendering/RenderLayer.h:
9422 (WebCore::RenderLayer::horizontalScrollbar):
9423 (WebCore::RenderLayer::verticalScrollbar):
9424 * rendering/RenderListBox.h:
9425 (WebCore::RenderListBox::scrollbarCornerPresent):
9426
94272008-10-13 David Hyatt <hyatt@apple.com>
9428
hyatt@apple.com2c1832e2008-10-13 20:56:29 +00009429 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
9430 test case for all this can land).
9431
9432 Reviewed by Tim Hatcher
9433
9434 * css/CSSStyleSelector.cpp:
9435 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
9436 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9437 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9438 * rendering/RenderLayer.cpp:
9439 (WebCore::RenderLayer::paintOverflowControls):
9440 (WebCore::RenderLayer::paintScrollCorner):
9441 (WebCore::RenderLayer::paintResizer):
9442 (WebCore::RenderLayer::styleChanged):
9443 (WebCore::RenderLayer::updateScrollCornerStyle):
9444 (WebCore::RenderLayer::updateResizerStyle):
9445 * rendering/RenderLayer.h:
9446 * rendering/RenderScrollbar.cpp:
9447 (WebCore::RenderScrollbar::paint):
9448 * rendering/RenderScrollbarPart.cpp:
9449 (WebCore::RenderScrollbarPart::paintIntoRect):
9450
94512008-10-13 David Hyatt <hyatt@apple.com>
9452
hyatt@apple.com097c92d2008-10-13 20:21:35 +00009453 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
9454 and invalidate properly as images load, etc.
9455
9456 Reviewed by Tim Hatcher
9457
9458 * rendering/RenderLayer.cpp:
9459 (WebCore::cornerRect):
9460 (WebCore::scrollCornerRect):
9461 (WebCore::resizerCornerRect):
9462 (WebCore::RenderLayer::positionOverflowControls):
9463 (WebCore::RenderLayer::paintOverflowControls):
9464 (WebCore::RenderLayer::paintScrollCorner):
9465 (WebCore::RenderLayer::paintResizer):
9466 (WebCore::RenderLayer::isPointInResizeControl):
9467 (WebCore::RenderLayer::hitTestOverflowControls):
9468 (WebCore::RenderLayer::styleChanged):
9469 * rendering/RenderLayer.h:
9470 * rendering/RenderObject.h:
9471 (WebCore::RenderObject::setRect):
9472 * rendering/RenderScrollbarPart.cpp:
9473 (WebCore::RenderScrollbarPart::styleDidChange):
9474 (WebCore::RenderScrollbarPart::imageChanged):
9475
jmalonzo@webkit.org4d9c9522008-10-13 11:44:35 +000094762008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
9477
9478 Reviewed by Darin Adler. Landed by Jan Alonzo.
9479
9480 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
9481 http://bugs.webkit.org/show_bug.cgi?id=20483
9482
9483 Start the conversion to use GOwnPtr and fix a memory leak.
9484
9485 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
9486 (WebCore::mediaPlayerPrivateErrorCallback):
9487
jhoneycutt@apple.com6bc9f352008-10-13 02:43:30 +000094882008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
9489
9490 Windows build fix.
9491
9492 * loader/TextResourceDecoder.cpp:
9493
darin@apple.com21120fc2008-10-13 02:13:47 +000094942008-10-12 Darin Fisher <darin@chromium.org>
9495
9496 Reviewed by Darin Adler.
9497
9498 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
9499 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
9500
9501 * platform/network/NetworkStateNotifier.h: Add the #include.
9502
darin@apple.com6de19a02008-10-13 01:37:13 +000095032008-10-12 Darin Adler <darin@apple.com>
9504
9505 Based on work by Holger Freyther.
9506
9507 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
9508 Split WidthIterator into its own source file.
9509
9510 * GNUmakefile.am: Added new source files.
9511 * WebCore.vcproj/WebCore.vcproj: Ditto.
9512 * WebCore.xcodeproj/project.pbxproj: Ditto.
9513 * WebCoreSources.bkl: Ditto.
9514
9515 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
9516 * platform/graphics/WidthIterator.cpp: Added.
9517 * platform/graphics/WidthIterator.h: Added.
9518
darin@apple.com755e9c22008-10-13 01:13:29 +000095192008-10-12 Tony Chang <tony@chromium.org>
9520
9521 Reviewed by Sam Weinig.
9522
9523 - https://bugs.webkit.org/show_bug.cgi?id=21480
9524 Remove duplicate definitions of MimeClassInfo and PluginInfo.
9525
9526 * plugins/PluginInfoStore.cpp: Added an include.
9527 * plugins/PluginInfoStore.h: Removed struct declarations.
9528
darin@apple.com365a7d82008-10-13 01:07:04 +000095292008-10-12 Darin Adler <darin@apple.com>
9530
9531 Reviewed by Dan Bernstein.
9532
9533 - https://bugs.webkit.org/show_bug.cgi?id=21563
9534 Bug 21563: platform Gradient class should not use the CSS parser
9535
9536 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
9537 that accepts a CSS color string. That's handled in the DOM now, not here.
9538 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
9539 copy of it here.
9540 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
9541
darin@apple.comad096ca2008-10-13 00:58:00 +000095422008-10-12 Glenn Wilson <gwilson@google.com>
9543
9544 Reviewed by Darin Adler.
9545
9546 - https://bugs.webkit.org/show_bug.cgi?id=20461
9547
9548 Added feature to allow multi-line inputs into text fields.
9549 HTMLInputElement would cut the set text at the first 'system' character,
9550 so it would truncate at the first carriage return or newline.
9551 This fix modifies that behavior to truncate at any non-space system character
9552 but changes \r, \n, and \r\n to a single space.
9553
9554 Tests: editing/pasteboard/paste-multiline-text-input.html
9555
9556 * html/HTMLInputElement.cpp:
9557 (WebCore::HTMLInputElement::constrainValue):
9558
darin@apple.comdcbbe942008-10-13 00:25:00 +000095592008-10-12 Dirk Schulze <vbs85@gmx.de>
9560
9561 Reviewed by Eric Seidel.
9562
9563 - https://bugs.webkit.org/show_bug.cgi?id=20435
9564
9565 Added exception codes to canvas gradients to match current specification.
9566
9567 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
9568 fast/canvas/linearGradient-infinite-values.html
9569 fast/canvas/radialGradient-infinite-values.html
9570
9571 * html/CanvasGradient.cpp:
9572 (WebCore::CanvasGradient::addColorStop):
9573 * html/CanvasGradient.h:
9574 * html/CanvasGradient.idl:
9575 * html/CanvasRenderingContext2D.cpp:
9576 (WebCore::CanvasRenderingContext2D::createLinearGradient):
9577 (WebCore::CanvasRenderingContext2D::createRadialGradient):
9578 * html/CanvasRenderingContext2D.h:
9579 * html/CanvasRenderingContext2D.idl:
9580
darin@apple.come4c4b502008-10-12 23:59:09 +000095812008-10-12 Eric Roman <eroman@chromium.org>
9582
9583 - https://bugs.webkit.org/show_bug.cgi?id=20246
9584 Implement RenderThemeWin::systemColor() to match Windows colors.
9585
9586 Reviewed by David Hyatt.
9587
9588 * rendering/RenderThemeWin.cpp:
9589 (WebCore::cssValueIdToSysColorIndex):
9590 (WebCore::RenderThemeWin::systemColor):
9591 * rendering/RenderThemeWin.h:
9592
darin@apple.com734c7252008-10-12 23:50:45 +000095932008-10-12 Aaron Bockover <abockover@novell.com>
9594
9595 Reviewed by Alp Toker.
9596
9597 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
9598 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
9599 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
9600
9601 * plugins/gtk/PluginPackageGtk.cpp:
9602
darin@apple.comee5d0dc2008-10-12 23:01:25 +000096032008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
9604
9605 Reviewed by Oliver Hunt.
9606
9607 - https://bugs.webkit.org/show_bug.cgi?id=19331
9608 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
9609
9610 * page/DragController.cpp:
9611 (WebCore::DragController::startDrag): When a link is dragged without any
9612 text selected (note: for this to work, the EditableLinkBehavior setting must be
9613 set to 'live' or 'default') and then dropped into an editable html document it
9614 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
9615 is a selection. To prevent this, expand the selection to the enclosing anchor tag
9616 when the drag begins.
9617
darin@apple.com2ce65d52008-10-12 22:49:46 +000096182008-10-12 Darin Adler <darin@apple.com>
9619
darin@apple.comb3de9be2008-10-12 22:53:15 +00009620 Reviewed by Mark Rowe.
9621
9622 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
9623 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
9624
9625 * rendering/RenderObject.cpp:
9626 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
9627 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
9628 as RenderObject::isText(), and this guarantees that the node can be cast to
9629 Element*, which is done just below. The reason this is hit is that RenderLayer
9630 can call getPseudoStyle on a RenderView, which has the document as its
9631 element() -- and a document is neither a Text node nor an Element. A loose
9632 end is that this seems to mean you can't style the scrollbar corner or the
9633 resizer on a RenderView. Hyatt may want to look into that later.
9634
96352008-10-12 Darin Adler <darin@apple.com>
9636
darin@apple.com2ce65d52008-10-12 22:49:46 +00009637 Reviewed by Sam Weinig.
9638
9639 - https://bugs.webkit.org/show_bug.cgi?id=21556
9640 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
9641
9642 Tests: fast/dom/HTMLFontElement/size-attribute.html
9643 fast/dom/HTMLInputElement/size-attribute.html
9644 fast/dom/HTMLTableElement/cellpadding-attribute.html
9645
9646 * html/HTMLFontElement.cpp:
9647 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
9648 Unicode::isDigit, since non-ASCII digits are not valid here.
9649 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
9650 the unneeded destructor declaration.
9651 * platform/text/String.cpp:
9652 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
9653 of Unicode::isDigit, since non-ASCII digits are not valid.
9654
darin@apple.com39669162008-10-12 22:38:23 +000096552008-10-12 Jungshik Shin <jshin@chromium.org>
9656
9657 Reviewed by Darin Adler.
9658
9659 Treat x-user-defined as windows-1252 for html files with meta charset
9660 declaration to be compatible with Indian web sites.
9661 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
9662
9663 Test: fast/encoding/charset-xuser-defined.html
9664
9665 * loader/TextResourceDecoder.cpp:
9666 (WebCore::TextResourceDecoder::setEncoding):
9667
weinig@apple.com68017df2008-10-12 20:43:15 +000096682008-10-12 Sam Weinig <sam@webkit.org>
9669
weinig@apple.com590ccdb2008-10-12 21:32:38 +00009670 Reviewed by Dan Bernstein.
9671
9672 Remove unneeded forward declaration.
9673
9674 * platform/graphics/ImageBuffer.h:
9675
96762008-10-12 Sam Weinig <sam@webkit.org>
9677
weinig@apple.com68017df2008-10-12 20:43:15 +00009678 Reviewed by Darin Adler.
9679
9680 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
9681 Layering violation: String should not be responsible for creating Lengths
9682
9683 It was a layering violation for String to know haw to parse
9684 into Lengths, LengthArrays, and CoordsArrays.
9685
9686 * GNUmakefile.am:
9687 * WebCore.pro:
9688 * WebCore.vcproj/WebCore.vcproj:
9689 * WebCore.xcodeproj/project.pbxproj:
9690 * WebCoreSources.bkl:
9691 * html/HTMLAreaElement.cpp:
9692 (WebCore::HTMLAreaElement::parseMappedAttribute):
9693 * html/HTMLFrameSetElement.cpp:
9694 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
9695 * platform/text/AtomicString.h:
9696 (WebCore::AtomicString::percentage):
9697 * platform/text/PlatformString.h:
9698 * platform/text/String.cpp:
9699 * platform/text/StringImpl.cpp:
9700 * platform/text/StringImpl.h:
9701 * rendering/Length.cpp: Added.
9702 (WebCore::parseLength):
9703 (WebCore::countCharacter):
9704 (WebCore::newCoordsArray):
9705 (WebCore::newLengthArray):
9706 * rendering/Length.h:
9707 (WebCore::LengthSize::LengthSize):
9708
darin@apple.com231607b2008-10-12 18:23:56 +000097092008-10-12 Brad Garcia <bgarcia@google.com>
9710
9711 Reviewed by Darin Adler.
9712
9713 Interpret fractional percentage values for %MultiLength values.
9714 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
9715 Test: fast/frames/frame-length-fractional-percentage.html
9716
9717 * platform/text/StringImpl.cpp:
9718 (WebCore::parseLength):
9719
timothy@apple.combba898e2008-10-12 17:04:51 +000097202008-10-12 Timothy Hatcher <timothy@apple.com>
9721
9722 Remember the expanded state of the rules in the Styles pane. So
9723 collapsing a rule will persist across all the elements that have
9724 that same rule. The same applies to Computed Style, so the Computed
9725 Style rule is now collapsed by default. This should help lessen the
9726 confusion on why Computed Style can't be edited (a common confusion.)
9727
9728 https://bugs.webkit.org/show_bug.cgi?id=21553
9729
9730 Reviewed by Darin Adler.
9731
9732 * inspector/front-end/PropertiesSection.js:
9733 (WebInspector.PropertiesSection): Set the _expanded property directly,
9734 instead of using the setter. Expanded is the default, so no work is needed.
9735 This prevents calling StylesSidebarPane.collapse before object initialization
9736 is complete.
9737 * inspector/front-end/StylesSidebarPane.js:
9738 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
9739 for the expanded state of the StylePropertiesSection. Collapse computed style
9740 by default and expand everything else.
9741 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
9742 when remembering expanded state.
9743 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
9744 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
9745 the state if the dontRememberState property is true.
9746 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
9747 to false for this identifier in Preferences.styleRulesExpandedState.
9748 * inspector/front-end/inspector.js:
9749 (Preferences.styleRulesExpandedState): Initialize to an empty object.
9750
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +000097512008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
9752
9753 Reviewed by Alp Toker.
9754
9755 [Gtk] Remove libWebCoreJS.la when doing make clean
9756 https://bugs.webkit.org/show_bug.cgi?id=21544
9757
9758 Remove libWebCoreJS.la when doing a clean target
9759
9760 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
9761
alp@webkit.org85a7e4f2008-10-12 06:50:21 +000097622008-10-11 Alp Toker <alp@nuanti.com>
9763
9764 Reviewed by Darin Adler.
9765
9766 https://bugs.webkit.org/show_bug.cgi?id=20592
9767 The focus ring is not shown while navigating on some pages
9768
9769 Fix drawFocusRing() so it doesn't depend on the current graphics
9770 state, thus matching other platforms which already work this way.
9771
9772 This patch provides two code paths: one using straight Cairo and
9773 one specialised for the GTK+ port with a more conventional appearance.
9774
9775 Also change focusRingColor() to return a null color, allowing the
9776 focus ring to pick up the style's current color if it isn't overridden
9777 with CSS.
9778
9779 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9780 (WebCore::GraphicsContext::drawFocusRing):
9781 * platform/gtk/TemporaryLinkStubs.cpp:
9782 (WebCore::focusRingColor):
9783
mitz@apple.com7378cec2008-10-12 04:56:20 +000097842008-10-11 Dan Bernstein <mitz@apple.com>
9785
9786 Rubber-stamped by Sam Weinig.
9787
9788 - change all internal callers to use Cache::evict() instead of remove()
9789
9790 * loader/Cache.cpp:
9791 (WebCore::Cache::revalidateResource):
9792 (WebCore::Cache::revalidationSucceeded):
9793 (WebCore::Cache::pruneDeadResources):
9794 (WebCore::Cache::setDisabled):
9795
hyatt@apple.com0578b132008-10-12 04:20:26 +000097962008-10-11 David Hyatt <hyatt@apple.com>
9797
hyatt@apple.com668b6712008-10-12 04:26:47 +00009798 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
9799
9800 Reviewed by Tim Hatcher
9801
9802 * platform/ScrollbarThemeComposite.cpp:
9803 (WebCore::ScrollbarThemeComposite::invalidatePart):
9804
98052008-10-11 David Hyatt <hyatt@apple.com>
9806
hyatt@apple.com0578b132008-10-12 04:20:26 +00009807 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
9808
9809 Also fixed resizer positioning problems.
9810
9811 Reviewed by Tim Hatcher
9812
9813 * platform/ScrollbarThemeComposite.cpp:
9814 (WebCore::ScrollbarThemeComposite::splitTrack):
9815 (WebCore::ScrollbarThemeComposite::trackPosition):
9816 (WebCore::ScrollbarThemeComposite::trackLength):
9817 * platform/ScrollbarThemeComposite.h:
9818 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
9819 * rendering/RenderLayer.cpp:
9820 (WebCore::scrollCornerRect):
9821 (WebCore::RenderLayer::positionOverflowControls):
9822 (WebCore::RenderLayer::paintOverflowControls):
9823 (WebCore::RenderLayer::isPointInResizeControl):
9824 (WebCore::RenderLayer::hitTestOverflowControls):
9825 * rendering/RenderScrollbarTheme.cpp:
9826 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
9827 * rendering/RenderScrollbarTheme.h:
9828
alp@webkit.org9c37e8f2008-10-12 03:33:28 +000098292008-10-11 Alp Toker <alp@nuanti.com>
9830
9831 Reviewed by David Hyatt.
9832
9833 Implement release/retain for Widget GTK+.
9834
9835 * platform/Widget.cpp:
9836 * platform/gtk/WidgetGtk.cpp:
9837 (WebCore::Widget::~Widget):
9838 (WebCore::Widget::releasePlatformWidget):
9839 (WebCore::Widget::retainPlatformWidget):
9840
mitz@apple.comf0f7ed82008-10-11 22:53:28 +000098412008-10-11 Dan Bernstein <mitz@apple.com>
9842
9843 Reviewed by Sam Weinig.
9844
9845 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
9846 and add a corresponding getter; add the same functions on Windows
9847
9848 * WebCore.base.exp:
9849 * platform/graphics/Font.cpp:
9850 (WebCore::Font::setCodePath):
9851 (WebCore::codePath):
9852 (WebCore::Font::canUseGlyphCache):
9853 * platform/graphics/Font.h:
9854 * platform/mac/WebCoreTextRenderer.h:
9855 * platform/mac/WebCoreTextRenderer.mm:
9856 (WebCoreSetAlwaysUsesComplexTextCodePath):
9857 (WebCoreAlwaysUsesComplexTextCodePath):
9858 * platform/win/WebCoreTextRenderer.cpp:
9859 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
9860 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
9861 * platform/win/WebCoreTextRenderer.h:
9862
weinig@apple.comeb4243f2008-10-11 22:10:38 +000098632008-10-11 Sam Weinig <sam@webkit.org>
9864
9865 Reviewed by Cameron Zwarich.
9866
weinig@apple.com5f7c6162008-10-11 22:20:09 +00009867 Stop leaking the event parameter names. The protected strings were showing up
9868 in the caches window after one use. No measurable performance loss.
9869
9870 * bindings/js/JSEventListener.cpp:
9871 (WebCore::eventParameterName):
9872
98732008-10-11 Sam Weinig <sam@webkit.org>
9874
9875 Reviewed by Cameron Zwarich.
9876
weinig@apple.comeb4243f2008-10-11 22:10:38 +00009877 Remove unused function getNodeEventListener.
9878
9879 * bindings/js/JSEventListener.cpp:
9880 * bindings/js/JSEventListener.h:
9881
hyatt@apple.comf2452672008-10-11 07:50:03 +000098822008-10-11 David Hyatt <hyatt@apple.com>
9883
9884 Add support for both positive and negative margins to tracks and track pieces.
9885
9886 Reviewed by Tim Hatcher
9887
9888 * platform/ScrollbarThemeComposite.cpp:
9889 (WebCore::ScrollbarThemeComposite::paint):
9890 (WebCore::ScrollbarThemeComposite::hitTest):
9891 (WebCore::ScrollbarThemeComposite::splitTrack):
9892 (WebCore::ScrollbarThemeComposite::trackPieceRects):
9893 (WebCore::ScrollbarThemeComposite::trackPosition):
9894 (WebCore::ScrollbarThemeComposite::trackLength):
9895 * platform/ScrollbarThemeComposite.h:
9896 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
9897 * rendering/RenderScrollbar.cpp:
9898 (WebCore::RenderScrollbar::trackRect):
9899 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
9900 * rendering/RenderScrollbar.h:
9901 * rendering/RenderScrollbarPart.cpp:
9902 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
9903 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
9904 * rendering/RenderScrollbarTheme.cpp:
9905 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
9906 * rendering/RenderScrollbarTheme.h:
9907
hyatt@apple.com729214e2008-10-11 06:30:47 +000099082008-10-10 David Hyatt <hyatt@apple.com>
9909
9910 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
9911 the scrollbar pseudo-elements anyway.
9912
9913 Reviewed by Tim Hatcher
9914
9915 * css/CSSSelector.cpp:
9916 (WebCore::CSSSelector::extractPseudoType):
9917 * css/CSSSelector.h:
9918 (WebCore::CSSSelector::):
9919 * css/CSSStyleSelector.cpp:
9920 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9921
mitz@apple.comb5de9462008-10-11 06:26:59 +000099222008-10-10 Dan Bernstein <mitz@apple.com>
9923
9924 Reviewed by Sam Weinig.
9925
9926 - separate Cache::remove() into a private method and a public interface,
9927 then make Cache::pruneDeadResources() use the private method.
9928
9929 * loader/Cache.cpp:
9930 (WebCore::Cache::pruneDeadResources):
9931 (WebCore::Cache::evict):
9932 * loader/Cache.h:
9933 (WebCore::Cache::remove):
9934
hyatt@apple.comd65740c2008-10-11 05:30:39 +000099352008-10-10 David Hyatt <hyatt@apple.com>
9936
hyatt@apple.com739b8f02008-10-11 06:12:14 +00009937 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
9938 now that the track pieces meet under the thumb.
9939
9940 Reviewed by Tim Hatcher
9941
9942 * platform/ScrollbarThemeComposite.cpp:
9943 (WebCore::ScrollbarThemeComposite::paint):
9944 (WebCore::ScrollbarThemeComposite::splitTrack):
9945
99462008-10-10 David Hyatt <hyatt@apple.com>
9947
hyatt@apple.com4c767e22008-10-11 06:04:02 +00009948 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
9949
9950 Reviewed by Tim Hatcher
9951
9952 * platform/ScrollbarThemeComposite.cpp:
9953 (WebCore::ScrollbarThemeComposite::hitTest):
9954 (WebCore::ScrollbarThemeComposite::splitTrack):
9955
99562008-10-10 David Hyatt <hyatt@apple.com>
9957
hyatt@apple.come8609a22008-10-11 05:54:35 +00009958 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
9959
9960 Reviewed by Tim Hatcher
9961
9962 * rendering/RenderLayer.cpp:
9963 (WebCore::RenderLayer::createScrollbar):
9964 * rendering/RenderScrollbar.cpp:
9965 (WebCore::RenderScrollbar::createCustomScrollbar):
9966 (WebCore::RenderScrollbar::RenderScrollbar):
9967 (WebCore::RenderScrollbar::setParent):
9968 (WebCore::RenderScrollbar::updateScrollbarParts):
9969 (WebCore::RenderScrollbar::updateScrollbarPart):
9970 * rendering/RenderScrollbar.h:
9971 * rendering/style/RenderStyle.h:
9972 (WebCore::RenderStyle::):
9973
99742008-10-10 David Hyatt <hyatt@apple.com>
9975
hyatt@apple.comd65740c2008-10-11 05:30:39 +00009976 Make sure scrollbar background images cause proper part invalidation to occur.
9977
9978 Reviewed by Tim Hatcher
9979
9980 * rendering/RenderScrollbar.cpp:
9981 (WebCore::RenderScrollbar::setHoveredPart):
9982 (WebCore::RenderScrollbar::setPressedPart):
9983 * rendering/RenderScrollbarPart.cpp:
9984 (WebCore::RenderScrollbarPart::styleDidChange):
9985 (WebCore::RenderScrollbarPart::imageChanged):
9986 * rendering/RenderScrollbarPart.h:
9987
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +000099882008-10-10 Simon Fraser <simon.fraser@apple.com>
9989
9990 Reviewed by Darin Adler
9991
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +00009992 https://bugs.webkit.org/show_bug.cgi?id=21538
9993
9994 The blendFunc() for TransformOperations should never mess with the
9995 operation lists by replacing some ops with identity, otherwise the lists
9996 no longer match and transitions break.
9997
9998 Test: transitions/matched-transform-functions.html
9999
10000 * page/animation/AnimationBase.cpp:
10001 (WebCore::blendFunc):
10002
100032008-10-10 Simon Fraser <simon.fraser@apple.com>
10004
10005 Reviewed by Darin Adler
10006
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +000010007 https://bugs.webkit.org/show_bug.cgi?id=21537
10008
10009 Fix re-targetting a running transition; if the target property
10010 changes, we do need to make a new ImplicitAnimation.
10011
10012 Test: transitions/retargetted-transition.html
10013
10014 * page/animation/CompositeAnimation.cpp:
10015 (WebCore::CompositeAnimationPrivate::updateTransitions):
10016
oliver@apple.com7264bb52008-10-10 23:21:39 +0000100172008-10-10 Oliver Hunt <oliver@apple.com>
10018
10019 Reviewed by Cameron Zwarich.
10020
10021 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
10022
10023 When JS is terminated by the user choosing to stop a slow script
10024 the exception toString method throws, yet the console logger does
10025 not perform exception checks after logging. This leaves an
10026 exception on the Machine, which in turn results in an assertion
10027 failure next time we attempt to enter JS. The solution is just to
10028 clear the exception state after attempting to record the exception.
10029
10030 * page/Console.cpp:
10031 (WebCore::Console::reportException):
10032
hyatt@apple.comfca034d2008-10-10 21:05:07 +0000100332008-10-10 David Hyatt <hyatt@apple.com>
10034
hyatt@apple.com0f129042008-10-10 22:24:15 +000010035 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
10036 when looking for pseudo styles.
10037
10038 Reviewed by Tim Hatcher
10039
10040 * rendering/RenderLayer.cpp:
10041 (WebCore::RenderLayer::createScrollbar):
10042 (WebCore::RenderLayer::styleChanged):
10043
100442008-10-10 David Hyatt <hyatt@apple.com>
10045
hyatt@apple.comca798132008-10-10 22:16:24 +000010046 Add the ability to style the scroll corner and the resizer from CSS.
10047
10048 Reviewed by Tim Hatcher
10049
10050 * css/CSSSelector.cpp:
10051 (WebCore::CSSSelector::extractPseudoType):
10052 * css/CSSSelector.h:
10053 (WebCore::CSSSelector::):
10054 * css/CSSStyleSelector.cpp:
10055 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10056 * rendering/RenderLayer.cpp:
10057 (WebCore::RenderLayer::RenderLayer):
10058 (WebCore::RenderLayer::~RenderLayer):
10059 (WebCore::RenderLayer::paintOverflowControls):
10060 (WebCore::RenderLayer::paintScrollCorner):
10061 (WebCore::RenderLayer::paintResizer):
10062 (WebCore::RenderLayer::styleChanged):
10063 * rendering/RenderLayer.h:
10064 * rendering/RenderScrollbar.cpp:
10065 (WebCore::RenderScrollbar::updateScrollbarPart):
10066 (WebCore::RenderScrollbar::paintPart):
10067 * rendering/RenderScrollbarPart.cpp:
10068 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
10069 (WebCore::RenderScrollbarPart::paintIntoRect):
10070 * rendering/RenderScrollbarPart.h:
10071 * rendering/style/RenderStyle.h:
10072 (WebCore::RenderStyle::):
10073
100742008-10-10 David Hyatt <hyatt@apple.com>
10075
hyatt@apple.comfca034d2008-10-10 21:05:07 +000010076 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
10077
10078 Reviewed by Sam Weinig
10079
10080 No test case possible, since the OS setting can vary.
10081
10082 * css/CSSSelector.cpp:
10083 (WebCore::CSSSelector::extractPseudoType):
10084 * css/CSSSelector.h:
10085 (WebCore::CSSSelector::):
10086 * css/CSSStyleSelector.cpp:
10087 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10088 * platform/Scrollbar.h:
10089 (WebCore::Scrollbar::styleChanged):
10090 * platform/mac/ScrollbarThemeMac.mm:
10091 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
10092 (WebCore::ScrollbarThemeMac::preferencesChanged):
10093 * rendering/RenderLayer.cpp:
10094 (WebCore::RenderLayer::invalidateScrollbarRect):
10095 * rendering/RenderScrollbar.cpp:
10096 (WebCore::RenderScrollbar::styleChanged):
10097 (WebCore::RenderScrollbar::updateScrollbarPart):
10098 * rendering/RenderScrollbar.h:
10099 * rendering/RenderScrollbarTheme.h:
10100 (WebCore::RenderScrollbarTheme::buttonsPlacement):
10101
timothy@apple.comc1df5732008-10-10 20:27:51 +0000101022008-10-10 Timothy Hatcher <timothy@apple.com>
10103
10104 Fixes a regression with input search fields, where the placeholder text
10105 would not be updated when the value of the placeholder attribute changed.
10106
10107 https://bugs.webkit.org/show_bug.cgi?id=21521
10108
10109 Reviewed by Adele Peterson.
10110
10111 Test: fast/forms/search-placeholder-value-changed.html
10112
10113 * html/HTMLInputElement.cpp:
10114 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
10115 placeholderValueChanged parameter of updatePlaceholderVisibility.
10116 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
10117 for placeholderValueChanged that informs the method that the value changed.
10118 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
10119 updatePlaceholderVisibility method. Made it default to false.
10120
hyatt@apple.comf9e710b2008-10-10 19:32:52 +0000101212008-10-10 David Hyatt <hyatt@apple.com>
10122
hyatt@apple.comc92f8c22008-10-10 20:12:14 +000010123 Allow the track part to have negative margins so that it can slightly overlap buttons. This
10124 is necessary to emulate the Aqua look in CSS.
10125
10126 Reviewed by Sam Weinig
10127
10128 * platform/ScrollbarThemeComposite.cpp:
10129 (WebCore::ScrollbarThemeComposite::paint):
10130 (WebCore::ScrollbarThemeComposite::hitTest):
10131 * rendering/RenderScrollbar.cpp:
10132 (WebCore::RenderScrollbar::setHoveredPart):
10133 (WebCore::RenderScrollbar::trackRect):
10134 * rendering/RenderScrollbar.h:
10135 * rendering/RenderScrollbarPart.cpp:
10136 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
10137 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
10138 * rendering/RenderScrollbarTheme.cpp:
10139 (WebCore::RenderScrollbarTheme::backButtonRect):
10140 (WebCore::RenderScrollbarTheme::forwardButtonRect):
10141 (WebCore::RenderScrollbarTheme::trackRect):
10142
101432008-10-10 David Hyatt <hyatt@apple.com>
10144
hyatt@apple.comf9e710b2008-10-10 19:32:52 +000010145 https://bugs.webkit.org/show_bug.cgi?id=21527
10146
10147 Make CSS scrollbars support :not, :hover and :active.
10148
10149 Reviewed by Adam Roben
10150
10151 Added WebCore/manual-tests/scrollbar-hover-active.html
10152
10153 * css/CSSStyleSelector.cpp:
10154 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10155 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10156 * platform/Scrollbar.cpp:
10157 (WebCore::Scrollbar::autoscrollPressedPart):
10158 (WebCore::Scrollbar::startTimerIfNeeded):
10159 (WebCore::Scrollbar::setHoveredPart):
10160 (WebCore::Scrollbar::setPressedPart):
10161 (WebCore::Scrollbar::mouseMoved):
10162 (WebCore::Scrollbar::mouseExited):
10163 (WebCore::Scrollbar::mouseUp):
10164 (WebCore::Scrollbar::mouseDown):
10165 * platform/Scrollbar.h:
10166 * rendering/RenderScrollbar.cpp:
10167 (WebCore::RenderScrollbar::setHoveredPart):
10168 (WebCore::RenderScrollbar::setPressedPart):
10169 (WebCore::RenderScrollbar::updateScrollbarParts):
10170 (WebCore::pseudoForScrollbarPart):
10171 (WebCore::RenderScrollbar::updateScrollbarPart):
10172 * rendering/RenderScrollbar.h:
10173
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +0000101742008-10-10 Chris Marrin <cmarrin@apple.com>
10175
10176 Reviewed by Dan Bernstein.
10177
10178 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
10179 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
10180
10181 Test: transitions/interrupt-zero-duration.html
10182
10183 * page/animation/CompositeAnimation.cpp:
10184 (WebCore::CompositeAnimation::updateTransitions):
10185
kevino@webkit.org0b227f82008-10-10 17:13:46 +0000101862008-10-10 Kevin Ollivier <kevino@theolliviers.com>
10187
10188 wx build fix. Add new scrollbar-related sources.
10189
10190 * WebCoreSources.bkl:
10191
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000101922008-10-10 David Hyatt <hyatt@apple.com>
10193
hyatt@apple.com676ab7f2008-10-10 16:59:20 +000010194 https://bugs.webkit.org/show_bug.cgi?id=21522
10195
10196 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
10197 created. (Just :hover/:active left to finish it up.)
10198
10199 Reviewed by Adam Roben
10200
10201 Added scrollbars/scrollbar-buttons.html
10202
10203 * css/CSSStyleSelector.cpp:
10204 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10205
102062008-10-10 David Hyatt <hyatt@apple.com>
10207
hyatt@apple.com08425212008-10-10 16:40:26 +000010208 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
10209 back/forward to decrement/increment. Adding start/end pseudoclasses.
10210
10211 Reviewed by Eric Seidel
10212
10213 * css/CSSSelector.cpp:
10214 (WebCore::CSSSelector::extractPseudoType):
10215 * css/CSSSelector.h:
10216 (WebCore::CSSSelector::):
10217 * css/CSSStyleSelector.cpp:
10218 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10219
102202008-10-10 David Hyatt <hyatt@apple.com>
10221
hyatt@apple.com216ac3b2008-10-10 07:15:04 +000010222 Switch window-active to window-inactive, since that will work better as far as degrading in other
10223 browsers.
10224
10225 Reviewed by Tim Hatcher
10226
10227 * css/CSSSelector.cpp:
10228 (WebCore::CSSSelector::extractPseudoType):
10229 * css/CSSSelector.h:
10230 (WebCore::CSSSelector::):
10231 * css/CSSStyleSelector.cpp:
10232 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10233
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +0000102342008-10-09 Chris Marrin <cmarrin@apple.com>
10235
10236 Reviewed by Dan Bernstein.
10237
10238 https://bugs.webkit.org/show_bug.cgi?id=21310
10239
10240 Redesigned how animation events are sent in order to get rid of
10241 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
10242 are now ref counted. While calling the event handler, I keep a
10243 reference to this class to avoid it getting destroyed out from under me.
10244
10245 I also moved most of the functionality of CompositeAnimation to
10246 and internal class (CompositeAnimationPrivate) to reduce the exposure
10247 of the internals of the various animation classes.
10248
10249 We have several transition and animation LayoutTests which verify that
10250 this fix works as expected and continues to avoid crashes.
10251
10252 * page/animation/AnimationBase.cpp:
10253 (WebCore::AnimationBase::AnimationBase):
10254 * page/animation/AnimationBase.h:
10255 (WebCore::AnimationBase::cancelTimers):
10256 (WebCore::AnimationBase::waitingForStyleAvailable):
10257 * page/animation/CompositeAnimation.cpp:
10258 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
10259 (WebCore::CompositeAnimationPrivate::suspended):
10260 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
10261 (WebCore::CompositeAnimationPrivate::updateTransitions):
10262 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
10263 (WebCore::CompositeAnimationPrivate::animate):
10264 (WebCore::CompositeAnimationPrivate::setAnimating):
10265 (WebCore::CompositeAnimationPrivate::animating):
10266 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
10267 (WebCore::CompositeAnimationPrivate::resetTransitions):
10268 (WebCore::CompositeAnimationPrivate::resetAnimations):
10269 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
10270 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
10271 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
10272 (WebCore::CompositeAnimationPrivate::suspendAnimations):
10273 (WebCore::CompositeAnimationPrivate::resumeAnimations):
10274 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
10275 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
10276 (WebCore::compareAnimationIndices):
10277 (WebCore::CompositeAnimationPrivate::styleAvailable):
10278 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
10279 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
10280 (WebCore::CompositeAnimation::CompositeAnimation):
10281 (WebCore::CompositeAnimation::~CompositeAnimation):
10282 (WebCore::CompositeAnimation::animate):
10283 (WebCore::CompositeAnimation::animating):
10284 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
10285 (WebCore::CompositeAnimation::resetTransitions):
10286 (WebCore::CompositeAnimation::suspendAnimations):
10287 (WebCore::CompositeAnimation::resumeAnimations):
10288 (WebCore::CompositeAnimation::suspended):
10289 (WebCore::CompositeAnimation::styleAvailable):
10290 (WebCore::CompositeAnimation::setAnimating):
10291 (WebCore::CompositeAnimation::isAnimatingProperty):
10292 (WebCore::CompositeAnimation::setAnimationStartTime):
10293 (WebCore::CompositeAnimation::setTransitionStartTime):
10294 (WebCore::CompositeAnimation::overrideImplicitAnimations):
10295 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
10296 * page/animation/CompositeAnimation.h:
10297 * page/animation/ImplicitAnimation.cpp:
10298 (WebCore::ImplicitAnimation::sendTransitionEvent):
10299 * page/animation/ImplicitAnimation.h:
10300 (WebCore::ImplicitAnimation::create):
10301 * page/animation/KeyframeAnimation.cpp:
10302 (WebCore::KeyframeAnimation::sendAnimationEvent):
10303 * page/animation/KeyframeAnimation.h:
10304 (WebCore::KeyframeAnimation::create):
10305
hyatt@apple.come784a792008-10-10 05:56:10 +0000103062008-10-09 David Hyatt <hyatt@apple.com>
10307
hyatt@apple.come3803262008-10-10 07:04:38 +000010308 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
10309 is active as well.
10310
10311 Reviewed by Tim Hatcher
10312
10313 Added scrollbars/scrollbar-orientation.html
10314
10315 * css/CSSSelector.cpp:
10316 (WebCore::CSSSelector::extractPseudoType):
10317 * css/CSSSelector.h:
10318 (WebCore::CSSSelector::):
10319 * css/CSSStyleSelector.cpp:
10320 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10321 * platform/Scrollbar.cpp:
10322 (WebCore::Scrollbar::isWindowActive):
10323 * platform/Scrollbar.h:
10324 * rendering/RenderScrollbar.cpp:
10325 (WebCore::RenderScrollbar::paint):
10326 (WebCore::RenderScrollbar::partForStyleResolve):
10327 * rendering/RenderScrollbar.h:
10328
103292008-10-09 David Hyatt <hyatt@apple.com>
10330
hyatt@apple.come784a792008-10-10 05:56:10 +000010331 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
10332 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
10333
10334 Reviewed by Tim Hatcher
10335
10336 Added scrollbars/disabled-scrollbar.html
10337
10338 * css/CSSStyleSelector.cpp:
10339 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
10340 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10341 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10342 * css/CSSStyleSelector.h:
10343 * rendering/RenderObject.cpp:
10344 (WebCore::RenderObject::getPseudoStyle):
10345 * rendering/RenderObject.h:
10346 * rendering/RenderScrollbar.cpp:
10347 (WebCore::RenderScrollbar::setEnabled):
10348 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
10349 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
10350 (WebCore::RenderScrollbar::paintPart):
10351 * rendering/RenderScrollbar.h:
10352
eric.carlson@apple.com24750582008-10-10 04:04:15 +0000103532008-10-09 Eric Carlson <eric.carlson@apple.com>
10354
10355 Media controls should not show when element is not visible
10356
10357 https://bugs.webkit.org/show_bug.cgi?id=21155
10358
10359 Reviewed by Adele Peterson.
10360
10361 * html/HTMLMediaElement.cpp:
10362 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
10363 in sync with visibility changes
10364 * html/HTMLMediaElement.h:
10365 * rendering/RenderMedia.cpp:
10366 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
10367 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
10368 if element is visible or not. Don't animate controller visibility when change triggered by
10369 showing or hiding media element.
10370 * rendering/RenderMedia.h: declare m_previousVisible
10371
timothy@apple.com746258b2008-10-10 03:23:12 +0000103722008-10-09 Timothy Hatcher <timothy@apple.com>
10373
10374 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
10375 availability macros and version macros.
10376
10377 https://bugs.webkit.org/show_bug.cgi?id=21496
10378 rdar://problem/6259225
10379
10380 Reviewed by Sam Weinig.
10381
10382 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
10383 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
10384 and add an #if around the enum.
10385 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
10386 comment to match the other headers.
10387 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
10388 * bindings/objc/DOMObject.h: Add a version #if around class interface.
10389 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
10390 and add a version #if around the enum.
10391 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
10392 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
10393 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
10394 when they where added to WebKit. Also annotate individual methods that are
10395 deprecated or where added after the class was added to WebKit.
10396 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
10397 since this header is included by most DOM headers. Annotate the JSObject method.
10398
10399 * bindings/scripts/CodeGeneratorObjC.pm:
10400 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
10401 And parse out the availability version for the class/protocol. Default to
10402 WEBKIT_VERSION_LATEST if the class is new.
10403 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
10404 interface availability version check if the class has a required version. Create
10405 a public interface key (used to lookup in $publicInterfaces) and make a declaration
10406 suffix that includes the availability macro (if needed). Use the "available in 1.3
10407 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
10408 the default availability macro for old style methods. Tweak line breaks in the generated
10409 headers to look good and not have too many extra lines.
10410
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +0000104112008-10-09 Simon Fraser <simon.fraser@apple.com>
10412
10413 Reviewed by Dave Hyatt
10414
10415 https://bugs.webkit.org/show_bug.cgi?id=20947
10416
10417 Refactor setStyle() methods into styleWillChange()
10418 and styleDidChange(), so most of the setStyle() overrides can
10419 be removed.
10420
10421 * rendering/RenderBR.cpp:
10422 (WebCore::RenderBR::styleDidChange):
10423 * rendering/RenderBR.h:
10424 * rendering/RenderBlock.cpp:
10425 (WebCore::RenderBlock::styleWillChange):
10426 (WebCore::RenderBlock::styleDidChange):
10427 * rendering/RenderBlock.h:
10428 * rendering/RenderBox.cpp:
10429 (WebCore::RenderBox::~RenderBox):
10430 (WebCore::RenderBox::destroy):
10431 (WebCore::RenderBox::styleWillChange):
10432 (WebCore::RenderBox::styleDidChange):
10433 * rendering/RenderBox.h:
10434 * rendering/RenderButton.cpp:
10435 (WebCore::RenderButton::styleWillChange):
10436 (WebCore::RenderButton::styleDidChange):
10437 * rendering/RenderButton.h:
10438 * rendering/RenderFieldset.cpp:
10439 (WebCore::RenderFieldset::styleDidChange):
10440 * rendering/RenderFieldset.h:
10441 * rendering/RenderFileUploadControl.cpp:
10442 (WebCore::RenderFileUploadControl::styleDidChange):
10443 * rendering/RenderFileUploadControl.h:
10444 * rendering/RenderInline.cpp:
10445 (WebCore::RenderInline::styleDidChange):
10446 * rendering/RenderInline.h:
10447 * rendering/RenderLayer.cpp:
10448 (WebCore::RenderLayer::styleChanged):
10449 * rendering/RenderLayer.h:
10450 * rendering/RenderListBox.cpp:
10451 (WebCore::RenderListBox::styleDidChange):
10452 * rendering/RenderListBox.h:
10453 * rendering/RenderListItem.cpp:
10454 (WebCore::RenderListItem::styleDidChange):
10455 * rendering/RenderListItem.h:
10456 * rendering/RenderListMarker.cpp:
10457 (WebCore::RenderListMarker::styleWillChange):
10458 (WebCore::RenderListMarker::styleDidChange):
10459 * rendering/RenderListMarker.h:
10460 * rendering/RenderMenuList.cpp:
10461 (WebCore::RenderMenuList::styleDidChange):
10462 * rendering/RenderMenuList.h:
10463 * rendering/RenderObject.cpp:
10464 (WebCore::RenderObject::setStyle):
10465 (WebCore::RenderObject::setStyleInternal):
10466 (WebCore::RenderObject::styleWillChange):
10467 (WebCore::RenderObject::styleDidChange):
10468 * rendering/RenderObject.h:
10469 * rendering/RenderReplaced.cpp:
10470 (WebCore::RenderReplaced::styleDidChange):
10471 * rendering/RenderReplaced.h:
10472 * rendering/RenderSVGGradientStop.cpp:
10473 (WebCore::RenderSVGGradientStop::styleDidChange):
10474 * rendering/RenderSVGGradientStop.h:
10475 * rendering/RenderScrollbarPart.cpp:
10476 (WebCore::RenderScrollbarPart::styleDidChange):
10477 * rendering/RenderScrollbarPart.h:
10478 * rendering/RenderSlider.cpp:
10479 (WebCore::RenderSlider::styleDidChange):
10480 * rendering/RenderSlider.h:
10481 * rendering/RenderTable.cpp:
10482 (WebCore::RenderTable::styleDidChange):
10483 * rendering/RenderTable.h:
10484 * rendering/RenderTableCell.cpp:
10485 (WebCore::RenderTableCell::styleWillChange):
10486 (WebCore::RenderTableCell::styleDidChange):
10487 * rendering/RenderTableCell.h:
10488 * rendering/RenderTableRow.cpp:
10489 (WebCore::RenderTableRow::styleWillChange):
10490 * rendering/RenderTableRow.h:
10491 * rendering/RenderText.cpp:
10492 (WebCore::RenderText::styleDidChange):
10493 * rendering/RenderText.h:
10494 * rendering/RenderTextControl.cpp:
10495 (WebCore::RenderTextControl::styleDidChange):
10496 * rendering/RenderTextControl.h:
10497 * rendering/RenderWidget.cpp:
10498 (WebCore::RenderWidget::styleDidChange):
10499 * rendering/RenderWidget.h:
10500
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000105012008-10-09 David Hyatt <hyatt@apple.com>
10502
hyatt@apple.com1d089852008-10-10 03:25:37 +000010503 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
hyatt@apple.comb2063c12008-10-10 03:13:07 +000010504 parent is nulled out is a good time.
10505
10506 Reviewed by Oliver Hunt
10507
10508 * rendering/RenderScrollbar.cpp:
10509 (WebCore::RenderScrollbar::~RenderScrollbar):
10510 (WebCore::RenderScrollbar::setParent):
10511 (WebCore::RenderScrollbar::updateScrollbarPart):
10512 * rendering/RenderScrollbar.h:
10513
105142008-10-09 David Hyatt <hyatt@apple.com>
10515
hyatt@apple.com2e4835d2008-10-10 02:33:16 +000010516 https://bugs.webkit.org/show_bug.cgi?id=21446
10517
10518 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
10519 orientation and back vs. forward on the buttons, but it's a start.
10520
10521 Reviewed by Oliver Hunt
10522
10523 Added scrollbars/basic-scrollbar.html
10524
10525 * WebCore.xcodeproj/project.pbxproj:
10526 * css/CSSSelector.cpp:
10527 (WebCore::CSSSelector::extractPseudoType):
10528 * css/CSSSelector.h:
10529 (WebCore::CSSSelector::):
10530 * css/CSSStyleSelector.cpp:
10531 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10532 * platform/ScrollTypes.h:
10533 (WebCore::):
10534 * platform/Scrollbar.h:
10535 (WebCore::Scrollbar::styleChanged):
10536 * platform/ScrollbarThemeComposite.cpp:
10537 (WebCore::ScrollbarThemeComposite::paint):
10538 (WebCore::ScrollbarThemeComposite::splitTrack):
10539 * platform/ScrollbarThemeComposite.h:
10540 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
10541 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
10542 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
10543 * platform/win/ScrollbarThemeSafari.cpp:
10544 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
10545 * platform/win/ScrollbarThemeSafari.h:
10546 * platform/win/ScrollbarThemeWin.cpp:
10547 (WebCore::ScrollbarThemeWin::paintTrack):
10548 * platform/win/ScrollbarThemeWin.h:
10549 * rendering/RenderLayer.cpp:
10550 (WebCore::RenderLayer::createScrollbar):
10551 (WebCore::RenderLayer::styleChanged):
10552 * rendering/RenderScrollbar.cpp: Added.
10553 (WebCore::RenderScrollbar::createCustomScrollbar):
10554 (WebCore::RenderScrollbar::RenderScrollbar):
10555 (WebCore::RenderScrollbar::~RenderScrollbar):
10556 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
10557 (WebCore::RenderScrollbar::updateScrollbarParts):
10558 (WebCore::RenderScrollbar::updateScrollbarPart):
10559 (WebCore::RenderScrollbar::paintPart):
10560 (WebCore::RenderScrollbar::buttonRect):
10561 (WebCore::RenderScrollbar::minimumThumbLength):
10562 * rendering/RenderScrollbar.h: Added.
10563 (WebCore::RenderScrollbar::styleChanged):
10564 (WebCore::RenderScrollbar::owningRenderer):
10565 * rendering/RenderScrollbarPart.cpp: Added.
10566 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
10567 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
10568 (WebCore::RenderScrollbarPart::layout):
10569 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
10570 (WebCore::RenderScrollbarPart::layoutVerticalPart):
10571 (WebCore::calcScrollbarThicknessUsing):
10572 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
10573 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
10574 (WebCore::RenderScrollbarPart::calcPrefWidths):
10575 (WebCore::RenderScrollbarPart::setStyle):
10576 * rendering/RenderScrollbarPart.h: Added.
10577 (WebCore::RenderScrollbarPart::renderName):
10578 (WebCore::RenderScrollbarPart::requiresLayer):
10579 * rendering/RenderScrollbarTheme.cpp: Added.
10580 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
10581 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
10582 (WebCore::RenderScrollbarTheme::hasButtons):
10583 (WebCore::RenderScrollbarTheme::hasThumb):
10584 (WebCore::RenderScrollbarTheme::minimumThumbLength):
10585 (WebCore::RenderScrollbarTheme::backButtonRect):
10586 (WebCore::RenderScrollbarTheme::forwardButtonRect):
10587 (WebCore::RenderScrollbarTheme::trackRect):
10588 (WebCore::RenderScrollbarTheme::paintScrollCorner):
10589 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
10590 (WebCore::RenderScrollbarTheme::paintTrackBackground):
10591 (WebCore::RenderScrollbarTheme::paintTrackPiece):
10592 (WebCore::RenderScrollbarTheme::paintButton):
10593 (WebCore::RenderScrollbarTheme::paintThumb):
10594 * rendering/RenderScrollbarTheme.h: Added.
10595 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
10596 (WebCore::RenderScrollbarTheme::scrollbarThickness):
10597 (WebCore::RenderScrollbarTheme::buttonsPlacement):
10598 (WebCore::RenderScrollbarTheme::supportsControlTints):
10599 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
10600 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
10601 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
10602 (WebCore::RenderScrollbarTheme::registerScrollbar):
10603 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
10604 * rendering/style/RenderStyle.h:
10605 (WebCore::RenderStyle::):
10606
eric@webkit.org3df115d2008-10-10 00:08:44 +0000106072008-10-09 Eric Seidel <eric@webkit.org>
10608
10609 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +000010610
10611 Fix Canvex DOOM Game
10612 Gradient clips were not getting cleared after filling the
10613 gradient, this was causing nothing to draw in Canvex
10614 https://bugs.webkit.org/show_bug.cgi?id=21498
10615
10616 Tests forthcoming.
10617
10618 * WebCore.xcodeproj/project.pbxproj:
10619 * platform/graphics/cg/GraphicsContextCG.cpp:
10620 (WebCore::GraphicsContext::fillPath):
10621 (WebCore::GraphicsContext::strokePath):
10622 (WebCore::GraphicsContext::fillRect):
10623
106242008-10-09 Eric Seidel <eric@webkit.org>
10625
10626 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +000010627
10628 Fix transformed patterns
10629 https://bugs.webkit.org/show_bug.cgi?id=21498
10630
10631 Test: fast/canvas/patternfill-repeat.html
10632
10633 * WebCore.xcodeproj/project.pbxproj:
10634 * platform/graphics/GraphicsContext.cpp:
10635 (WebCore::GraphicsContext::setStrokePattern):
10636 (WebCore::GraphicsContext::setFillPattern):
10637 (WebCore::GraphicsContext::setStrokeGradient):
10638 (WebCore::GraphicsContext::setFillGradient):
10639 * platform/graphics/GraphicsContext.h:
10640 * platform/graphics/cairo/GraphicsContextCairo.cpp:
10641 * platform/graphics/cg/GraphicsContextCG.cpp:
10642 (WebCore::applyStrokePattern):
10643 (WebCore::applyFillPattern):
10644 (WebCore::GraphicsContext::drawPath):
10645 (WebCore::GraphicsContext::fillPath):
10646 (WebCore::GraphicsContext::strokePath):
10647 (WebCore::GraphicsContext::fillRect):
10648 * platform/graphics/qt/GraphicsContextQt.cpp:
10649 * platform/graphics/wx/GraphicsContextWx.cpp:
10650
mrowe@apple.coma2e784f2008-10-12 01:38:08 +0000106512008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +000010652
10653 wx build fixes.
10654
10655 * platform/wx/WidgetWx.cpp:
10656 * plugins/wx/PluginViewWx.cpp:
10657 (WebCore::PluginView::invalidateRect):
10658 * webcore-base.bkl:
10659
cmarrin@apple.comfe914d22008-10-09 23:04:07 +0000106602008-10-09 Chris Marrin <cmarrin@apple.com>
10661
cmarrin@apple.com8a901162008-10-09 23:59:49 +000010662 Reviewed by Darin Adler.
10663
10664 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
10665 Animations assert when navigating from page
10666
10667 Changed assertions to test the right flag for the paused state
10668
10669 * page/animation/AnimationBase.cpp:
10670 (WebCore::AnimationBase::updateStateMachine):
10671
106722008-10-09 Chris Marrin <cmarrin@apple.com>
10673
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000010674 Reviewed by Dan Bernstein.
10675
10676 Fixed > 180 degree rotation bug
10677 Ensure that validateTransformFunctionList() is called after updating keyframe styles
10678
10679 https://bugs.webkit.org/show_bug.cgi?id=21420
10680
10681 Test: animations/big-rotation.html
10682
10683 * page/animation/KeyframeAnimation.cpp:
10684 (WebCore::KeyframeAnimation::KeyframeAnimation):
10685
beidson@apple.comc90a4422008-10-09 20:43:24 +0000106862008-10-09 Brady Eidson <beidson@apple.com>
10687
10688 Reviewed by Anders
10689
10690 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
10691
10692 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
10693
10694 * loader/FrameLoader.cpp:
10695 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
10696 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
10697 so perform a second null check on the page. Bail if it has been cleared.
10698
alp@webkit.org81906422008-10-09 16:21:43 +0000106992008-10-09 Alp Toker <alp@nuanti.com>
10700
10701 Build fix for recent DOM generation Makefile changes when custom
10702 CFLAGS/CXXFLAGS are passed in.
10703
10704 * GNUmakefile.am:
10705
alp@webkit.orgbedd8d82008-10-09 16:13:53 +0000107062008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
10707
10708 Reviewed by Alp Toker.
10709
10710 https://bugs.webkit.org/show_bug.cgi?id=21390
10711 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
10712
10713 * platform/gtk/ScrollViewGtk.cpp:
10714 (WebCore::ScrollView::platformRemoveChild):
10715
darin@apple.com2d343692008-10-09 08:37:04 +0000107162008-10-09 Darin Adler <darin@apple.com>
10717
10718 - try to fix Qt build
10719
10720 * bridge/qt/qt_runtime.cpp:
10721 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
10722
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +0000107232008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
10724
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +000010725 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000010726
10727 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
10728 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
10729 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
10730
10731 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
10732 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
10733 use tree is rebuild.
10734
10735 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
10736 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
10737 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
10738 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
10739 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
10740 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
10741 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
10742 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
10743
10744 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
10745 see resources/use-instanceRoot-event-bubbling.js for details.
10746
10747 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
10748 svg/custom/use-elementInstance-methods.svg (reenabled)
10749 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
10750 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
10751 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
10752 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
10753
10754 * DerivedSources.make:
10755 * GNUmakefile.am:
10756 * WebCore.pro:
10757 * WebCore.vcproj/WebCore.vcproj:
10758 * WebCore.xcodeproj/project.pbxproj:
10759 * bindings/js/JSEventListener.h:
10760 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
10761 * bindings/js/JSEventTarget.cpp:
10762 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
10763 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
10764 * bindings/js/JSSVGElementInstanceCustom.cpp:
10765 (WebCore::JSSVGElementInstance::addEventListener):
10766 (WebCore::JSSVGElementInstance::removeEventListener):
10767 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
10768 * bindings/scripts/CodeGeneratorJS.pm:
10769 * bindings/scripts/CodeGeneratorObjC.pm:
10770 * dom/EventListener.h:
10771 (WebCore::EventListener::wasCreatedFromMarkup):
10772 * dom/EventTargetNode.cpp:
10773 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
10774 (WebCore::EventTargetNode::addEventListener):
10775 (WebCore::EventTargetNode::removeEventListener):
10776 (WebCore::eventTargetAsSVGElementInstance):
10777 (WebCore::eventTargetRespectingSVGTargetRules):
10778 (WebCore::EventTargetNode::dispatchEvent):
10779 (WebCore::EventTargetNode::dispatchGenericEvent):
10780 (WebCore::EventTargetNode::removeEventListenerForType):
10781 * page/EventHandler.cpp:
10782 (WebCore::EventHandler::clear):
10783 (WebCore::instanceAssociatedWithShadowTreeElement):
10784 (WebCore::EventHandler::updateMouseEventTargetNode):
10785 * page/EventHandler.h:
10786 * svg/EventTargetSVGElementInstance.cpp: Removed.
10787 * svg/EventTargetSVGElementInstance.h: Removed.
10788 * svg/SVGElementInstance.cpp:
10789 (WebCore::SVGElementInstance::SVGElementInstance):
10790 (WebCore::SVGElementInstance::~SVGElementInstance):
10791 (WebCore::SVGElementInstance::childNodes):
10792 (WebCore::SVGElementInstance::setShadowTreeElement):
10793 (WebCore::SVGElementInstance::forgetWrapper):
10794 (WebCore::SVGElementInstance::appendChild):
10795 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
10796 (WebCore::SVGElementInstance::setNeedsUpdate):
10797 (WebCore::SVGElementInstance::associatedFrame):
10798 (WebCore::SVGElementInstance::addEventListener):
10799 (WebCore::SVGElementInstance::removeEventListener):
10800 (WebCore::SVGElementInstance::dispatchEvent):
10801 (WebCore::SVGElementInstance::onabort):
10802 (WebCore::SVGElementInstance::setOnabort):
10803 (WebCore::SVGElementInstance::onblur):
10804 (WebCore::SVGElementInstance::setOnblur):
10805 (WebCore::SVGElementInstance::onchange):
10806 (WebCore::SVGElementInstance::setOnchange):
10807 (WebCore::SVGElementInstance::onclick):
10808 (WebCore::SVGElementInstance::setOnclick):
10809 (WebCore::SVGElementInstance::oncontextmenu):
10810 (WebCore::SVGElementInstance::setOncontextmenu):
10811 (WebCore::SVGElementInstance::ondblclick):
10812 (WebCore::SVGElementInstance::setOndblclick):
10813 (WebCore::SVGElementInstance::onerror):
10814 (WebCore::SVGElementInstance::setOnerror):
10815 (WebCore::SVGElementInstance::onfocus):
10816 (WebCore::SVGElementInstance::setOnfocus):
10817 (WebCore::SVGElementInstance::oninput):
10818 (WebCore::SVGElementInstance::setOninput):
10819 (WebCore::SVGElementInstance::onkeydown):
10820 (WebCore::SVGElementInstance::setOnkeydown):
10821 (WebCore::SVGElementInstance::onkeypress):
10822 (WebCore::SVGElementInstance::setOnkeypress):
10823 (WebCore::SVGElementInstance::onkeyup):
10824 (WebCore::SVGElementInstance::setOnkeyup):
10825 (WebCore::SVGElementInstance::onload):
10826 (WebCore::SVGElementInstance::setOnload):
10827 (WebCore::SVGElementInstance::onmousedown):
10828 (WebCore::SVGElementInstance::setOnmousedown):
10829 (WebCore::SVGElementInstance::onmousemove):
10830 (WebCore::SVGElementInstance::setOnmousemove):
10831 (WebCore::SVGElementInstance::onmouseout):
10832 (WebCore::SVGElementInstance::setOnmouseout):
10833 (WebCore::SVGElementInstance::onmouseover):
10834 (WebCore::SVGElementInstance::setOnmouseover):
10835 (WebCore::SVGElementInstance::onmouseup):
10836 (WebCore::SVGElementInstance::setOnmouseup):
10837 (WebCore::SVGElementInstance::onmousewheel):
10838 (WebCore::SVGElementInstance::setOnmousewheel):
10839 (WebCore::SVGElementInstance::onbeforecut):
10840 (WebCore::SVGElementInstance::setOnbeforecut):
10841 (WebCore::SVGElementInstance::oncut):
10842 (WebCore::SVGElementInstance::setOncut):
10843 (WebCore::SVGElementInstance::onbeforecopy):
10844 (WebCore::SVGElementInstance::setOnbeforecopy):
10845 (WebCore::SVGElementInstance::oncopy):
10846 (WebCore::SVGElementInstance::setOncopy):
10847 (WebCore::SVGElementInstance::onbeforepaste):
10848 (WebCore::SVGElementInstance::setOnbeforepaste):
10849 (WebCore::SVGElementInstance::onpaste):
10850 (WebCore::SVGElementInstance::setOnpaste):
10851 (WebCore::SVGElementInstance::ondragenter):
10852 (WebCore::SVGElementInstance::setOndragenter):
10853 (WebCore::SVGElementInstance::ondragover):
10854 (WebCore::SVGElementInstance::setOndragover):
10855 (WebCore::SVGElementInstance::ondragleave):
10856 (WebCore::SVGElementInstance::setOndragleave):
10857 (WebCore::SVGElementInstance::ondrop):
10858 (WebCore::SVGElementInstance::setOndrop):
10859 (WebCore::SVGElementInstance::ondragstart):
10860 (WebCore::SVGElementInstance::setOndragstart):
10861 (WebCore::SVGElementInstance::ondrag):
10862 (WebCore::SVGElementInstance::setOndrag):
10863 (WebCore::SVGElementInstance::ondragend):
10864 (WebCore::SVGElementInstance::setOndragend):
10865 (WebCore::SVGElementInstance::onreset):
10866 (WebCore::SVGElementInstance::setOnreset):
10867 (WebCore::SVGElementInstance::onresize):
10868 (WebCore::SVGElementInstance::setOnresize):
10869 (WebCore::SVGElementInstance::onscroll):
10870 (WebCore::SVGElementInstance::setOnscroll):
10871 (WebCore::SVGElementInstance::onsearch):
10872 (WebCore::SVGElementInstance::setOnsearch):
10873 (WebCore::SVGElementInstance::onselect):
10874 (WebCore::SVGElementInstance::setOnselect):
10875 (WebCore::SVGElementInstance::onselectstart):
10876 (WebCore::SVGElementInstance::setOnselectstart):
10877 (WebCore::SVGElementInstance::onsubmit):
10878 (WebCore::SVGElementInstance::setOnsubmit):
10879 (WebCore::SVGElementInstance::onunload):
10880 (WebCore::SVGElementInstance::setOnunload):
10881 * svg/SVGElementInstance.h:
10882 (WebCore::SVGElementInstance::needsUpdate):
10883 (WebCore::SVGElementInstance::toNode):
10884 (WebCore::SVGElementInstance::toSVGElementInstance):
10885 (WebCore::SVGElementInstance::correspondingElement):
10886 (WebCore::SVGElementInstance::correspondingUseElement):
10887 (WebCore::SVGElementInstance::shadowTreeElement):
10888 (WebCore::SVGElementInstance::parentNode):
10889 (WebCore::SVGElementInstance::previousSibling):
10890 (WebCore::SVGElementInstance::nextSibling):
10891 (WebCore::SVGElementInstance::firstChild):
10892 (WebCore::SVGElementInstance::lastChild):
10893 (WebCore::SVGElementInstance::ownerDocument):
10894 (WebCore::SVGElementInstance::hasChildNodes):
10895 (WebCore::SVGElementInstance::setFirstChild):
10896 (WebCore::SVGElementInstance::setLastChild):
10897 (WebCore::SVGElementInstance::setNextSibling):
10898 (WebCore::SVGElementInstance::setPreviousSibling):
10899 (WebCore::SVGElementInstance::refEventTarget):
10900 (WebCore::SVGElementInstance::derefEventTarget):
10901 * svg/SVGElementInstance.idl:
10902 * svg/SVGStyledElement.cpp:
10903 (WebCore::SVGStyledElement::svgAttributeChanged):
10904 (WebCore::SVGStyledElement::childrenChanged):
10905 * svg/SVGUseElement.cpp:
10906 (WebCore::SVGUseElement::svgAttributeChanged):
10907 (WebCore::shadowTreeContainsChangedNodes):
10908 (WebCore::SVGUseElement::recalcStyle):
10909 (WebCore::dumpInstanceTree):
10910 (WebCore::SVGUseElement::buildPendingResource):
10911 (WebCore::SVGUseElement::buildInstanceTree):
10912 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
10913 * svg/SVGUseElement.h:
10914
weinig@apple.com25cef102008-10-09 00:14:50 +0000109152008-10-08 Sam Weinig <sam@webkit.org>
10916
10917 Reviewed by Cameron Zwarich.
10918
10919 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
10920 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
10921
10922 Update JSRGBColor to use the new static function per getter approach.
10923
10924 Test: fast/dom/css-RGBValue.html
10925
10926 * bindings/js/JSRGBColor.cpp:
10927 (WebCore::):
10928 (jsRGBColorRed):
10929 (jsRGBColorGreen):
10930 (jsRGBColorBlue):
10931 * bindings/js/JSRGBColor.h:
10932
eric@webkit.org4966e4a2008-10-08 22:48:55 +0000109332008-10-08 Eric Seidel <eric@webkit.org>
10934
10935 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
10936
10937 svgElement.className.baseValue = "foo" does not work
10938 https://bugs.webkit.org/show_bug.cgi?id=20651
10939
10940 * dom/StyledElement.cpp:
10941 (WebCore::StyledElement::classAttributeChanged):
10942 (WebCore::StyledElement::parseMappedAttribute):
10943 * dom/StyledElement.h:
10944 * svg/SVGStyledElement.cpp:
10945 (WebCore::SVGStyledElement::svgAttributeChanged):
10946
timothy@apple.com08664892008-10-08 16:41:15 +0000109472008-10-08 Anthony Ricaud <rik24d@gmail.com>
10948
10949 Make the toolbar label text-shadow not disappear when clicking on the
10950 search result count or around the search field.
10951
10952 Reviewed by Timothy Hatcher.
10953
10954 * inspector/front-end/inspector.css:
10955 (.toolbar-item:active .toolbar-label): Make this rule also require the
10956 toggleable class with the toolbar-item class.
10957
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +0000109582008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
10959
10960 Reviewed by Simon.
10961
10962 Updated the qrc file for the Web Inspector to contain the current set
10963 of images.
10964
10965 * inspector/front-end/WebKit.qrc:
10966
hausmann@webkit.org49650de2008-10-08 12:43:13 +0000109672008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
10968
10969 Reviewed by Simon.
10970
10971 Fix the linking of applications against WebKit on Qt/Windows.
10972
10973 The prl files that qmake creates are buggy on Unix, but we they're
10974 fine on Windows and we have to have them there in order to get the
10975 dependencies correct.
10976
10977 * WebCore.pro:
10978
hausmann@webkit.org96f013f2008-10-08 12:11:44 +0000109792008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
10980
10981 Reviewed by Simon.
10982
10983 Speed up rectangle filling by not re-creating a QBrush all the time.
10984
10985 This triggers faster path in QPainter where the brush is reused.
10986
10987 * platform/graphics/qt/GraphicsContextQt.cpp:
10988 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
10989 (WebCore::GraphicsContext::fillRect):
10990
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +0000109912008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
10992
10993 Reviewed by Simon.
10994
10995 Fixes: Encoding of Qt URLs
10996
10997 This encoding was added by Simon and I because QUrl's
10998 tolerant parser wasn't tolerant enough. Now it is, so we don't need
10999 this anymore.
11000
11001 * platform/qt/KURLQt.cpp:
11002 (WebCore::KURL::operator QUrl):
11003
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +0000110042008-10-08 Marius Storm-Olsen <marius@trolltech.com>
11005
11006 Reviewed by Simon.
11007
11008 Fixes dependencies in qmake generated visual studio projects.
11009
11010 Only add debug lib name if we're in the debug build_pass, else the release version.
11011 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
11012
11013 * WebCore.pro:
11014
hausmann@webkit.org40df3c32008-10-08 09:10:04 +0000110152008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
11016
11017 Reviewed by Simon.
11018
11019 Fix compilation errors on VS2008 64Bit
11020
11021 * platform/text/TextStream.cpp:
11022 (WebCore::TextStream::operator<<):
11023 * platform/text/TextStream.h:
11024 * plugins/win/PluginViewWin.cpp:
11025 (WebCore::PluginView::init):
11026
alp@webkit.org76e7f9a2008-10-08 00:42:37 +0000110272008-10-07 Alp Toker <alp@nuanti.com>
11028
11029 GTK+ build fix for older automake versions (1.7). Discussed in bug
11030 #21392.
11031
11032 * GNUmakefile.am:
11033
andersca@apple.comdca58502008-10-07 23:31:34 +0000110342008-10-07 Anders Carlsson <andersca@apple.com>
11035
11036 Reviewed by Antti Koivisto.
11037
11038 <rdar://problem/6273887> Crash in ApplicationCacheGroup
11039
11040 Make sure to stop loading even before a cache update is in progress so that the
11041 manifest load will be stopped.
11042
11043 * loader/appcache/ApplicationCacheGroup.cpp:
11044 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
11045 (WebCore::ApplicationCacheGroup::stopLoading):
11046 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
11047
timothy@apple.com59a87132008-10-07 21:49:43 +0000110482008-10-07 Timothy Hatcher <timothy@apple.com>
11049
timothy@apple.com754474e2008-10-07 21:49:55 +000011050 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
11051
11052 https://bugs.webkit.org/show_bug.cgi?id=21433
11053
11054 Reviewed by Sam Weinig.
11055
11056 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
11057 * bindings/objc/DOM.mm: Remove previous category implementations
11058 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
11059 moves ObjCNodeFilterCondition to its own file.
11060 * bindings/objc/DOMTraversal.h: Remove the category methods that added
11061 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
11062 to do since DOmDocument.h is included still, and has these methods.
11063 * bindings/objc/DOMUtility.mm:
11064 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
11065 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
11066 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
11067 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
11068 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
11069 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
11070 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
11071 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
11072 createTreeWalker: methods to DOMDocument.
11073 * bindings/scripts/CodeGeneratorObjC.pm:
11074 (GetObjCTypeGetter): Add a case for NodeFilter.
11075 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
11076 (GenerateImplementation): Remove existing NodeFilter special case that
11077 used the m_filter member variable. Add a new special getter for protocol
11078 types that aren't EventTarget, so the right class is used for NodeFilter.
11079 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
11080 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
11081 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
11082 Rename the entityReferenceExpansion parameter to expandEntityReferences to
11083 match the previous ObjC API.
11084 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
11085 m_filter member variable was never used in practice, it was always nil!
11086 We can remove it and not pad the object because this can't be subclassed.
11087 * dom/TreeWalker.idl: Ditto.
11088
110892008-10-07 Timothy Hatcher <timothy@apple.com>
11090
timothy@apple.com59a87132008-10-07 21:49:43 +000011091 Auto-generate the DOMEventTarget protocol implementation for
11092 DOMNode and DOMSVGElementInstance.
11093
11094 https://bugs.webkit.org/show_bug.cgi?id=21432
11095
11096 Reviewed by Darin Adler.
11097
11098 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
11099 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
11100 ObjCEventListener to it's own file. Remove the manual impelmentations
11101 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
11102 * bindings/objc/DOMEvents.h: Remove the categories that defined
11103 DOMEventTarget for DOMNode and DOMSVGElementInstance.
11104 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
11105 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
11106 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
11107 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
11108 callers from doing a manual deref.
11109 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
11110 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
11111 * bindings/scripts/CodeGeneratorObjC.pm:
11112 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
11113 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
11114 And include EventTargetSVGElementInstance.h for SVGElementInstance.
11115 (GenerateHeader): Remove the check for multiple parents.
11116 (GenerateImplementation): Remove the check for multiple parents. Remove
11117 the @deprecatedFunctions array since deprecated methods get generated
11118 into the main @interface now to work with protocols. Add support
11119 for the EventTargetNodeCast extended attribute. Add support for
11120 EventListener parameters.
11121 * dom/Node.idl: Define superclasses for ObjC so the implementation
11122 and interface implement the DOMEventTarget protocol. Explicitly
11123 specify Object as a superclass to use DOMEventTarget. Object will turn
11124 into DOMObject. This is needed to take the code generator down the right
11125 path of multiple super-classes as protocols. It is ObjC only for legacy
11126 reasons. The event target methods are normally on NodeEventTarget, a
11127 subclass of Node. But the ObjC API has never has this subclass and
11128 they are on DOMNode.
11129 * svg/SVGElementInstance.idl: Ditto.
11130
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +0000111312008-10-07 David Hyatt <hyatt@apple.com>
11132
11133 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
11134
11135 The new pseudo-elements are:
11136 scrollbar
11137 scrollbar-button
11138 scrollbar-corner
11139 scrollbar-thumb
11140 scrollbar-track
11141
11142 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
11143 the following new pseudo-classes:
11144 scrollbar-active
11145 scrollbar-back
11146 scrollbar-forward
11147 scrollbar-horizontal
11148 scrollbar-vertical
11149
11150 Reviewed by Adele
11151
11152 * css/CSSSelector.cpp:
11153 (WebCore::CSSSelector::extractPseudoType):
11154 * css/CSSSelector.h:
11155 (WebCore::CSSSelector::):
11156
timothy@apple.com920feccc2008-10-07 21:08:29 +0000111572008-10-06 Timothy Hatcher <timothy@apple.com>
11158
11159 Add support to the Resources panel for queries like "#123", "foo #123",
11160 "line: 123" and "foo line: 123". These will match the query limiting
11161 the search only to the line specified. If only a line is specified,
11162 the whole line is matched.
11163
11164 https://bugs.webkit.org/show_bug.cgi?id=21422
11165
11166 Reviewed by Darin Adler.
11167
11168 * inspector/front-end/SourceFrame.js:
11169 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
11170 row if the index is greater than the rows collection. Let it return
11171 undefined by indexing out-of-bounds.
11172 * inspector/front-end/SourceView.js:
11173 (WebInspector.SourceView.prototype.performSearch): Add support for
11174 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
11175 Also match the whole query to the whole document in case there are
11176 colors like "#333".
11177
alp@webkit.orge1244662008-10-07 18:28:43 +0000111782008-10-07 Alp Toker <alp@nuanti.com>
11179
11180 Reviewed by Mark Rowe.
11181
11182 https://bugs.webkit.org/show_bug.cgi?id=21392
11183 [GTK] Auto-generate JS DOM binding sources list
11184
11185 Remove the huge lists of generated DOM binding sources and headers in
11186 the build system. These are difficult to maintain and can be derived
11187 automatically.
11188
11189 The new strategy is to re-use the existing lists of IDL sources (which
11190 are needed for dist support anyway). This will also ease the addition
11191 of new language bindings.
11192
11193 * GNUmakefile.am:
11194
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +0000111952008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
11196
11197 Reviewed by Simon.
11198
11199 Don't attempt to paint when updating control tints
11200
11201 We don't have a valid PlatformGraphicsContext so schedule
11202 the dirty scrollbar/scrollview area for repaint instead.
11203
11204 * platform/qt/ScrollbarThemeQt.cpp:
11205 (WebCore::ScrollbarThemeQt::paint):
11206 (WebCore::ScrollbarThemeQt::paintScrollCorner):
11207
zecke@webkit.org270bdd02008-10-07 07:54:06 +0000112082008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
11209
11210 [qt] Build fix after Scrollbar.h and Widget.h changes.
11211
11212 * plugins/qt/PluginViewQt.cpp:
11213 (WebCore::PluginView::getValue):
11214 (WebCore::PluginView::init):
11215
hyatt@apple.com3cb50a82008-10-07 06:58:08 +0000112162008-10-06 David Hyatt <hyatt@apple.com>
11217
11218 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
11219
11220 Reviewed by Sam Weinig
11221
11222 * WebCore.base.exp:
11223 * WebCore.xcodeproj/project.pbxproj:
11224 * loader/EmptyClients.h:
11225 (WebCore::EmptyFrameLoaderClient::hasWebView):
11226 * loader/FrameLoader.cpp:
11227 (WebCore::FrameLoader::loadWithDocumentLoader):
11228 (WebCore::FrameLoader::transitionToCommitted):
11229 * loader/FrameLoaderClient.h:
11230 * page/FocusController.cpp:
11231 (WebCore::FocusController::setActive):
11232 * page/FrameView.cpp:
11233 (WebCore::FrameView::FrameView):
11234 (WebCore::FrameView::init):
11235 (WebCore::FrameView::layoutIfNeededRecursive):
11236 * page/FrameView.h:
11237
mitz@apple.com869c6692b2008-10-07 04:42:51 +0000112382008-10-06 Dan Bernstein <mitz@apple.com>
11239
11240 - build fix
11241
11242 * bindings/objc/DOMEvents.h:
11243
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +0000112442008-10-06 Mark Mentovai <mark@moxienet.com>
11245
eric@webkit.org9e0b3b52008-10-07 01:14:05 +000011246 Reviewed by Tim Hatcher.
11247
11248 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
11249 Platform.h is not available, in preference to #ifdef ENABLE_feature.
11250 #ifdef is wrong now that features are disabled by #defining
11251 ENABLE_feature to 0.
11252
11253 https://bugs.webkit.org/show_bug.cgi?id=21338
11254
11255 * bindings/objc/DOMEvents.h:
11256 * bindings/objc/PublicDOMInterfaces.h:
11257 * dom/Document.idl:
11258 * page/DOMWindow.idl:
11259 * svg/svgtags.in:
11260
112612008-10-06 Mark Mentovai <mark@moxienet.com>
11262
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000011263 Reviewed by Sam Weinig.
11264
11265 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
11266 to get the declaration for isMainThread().
11267
eric@webkit.org569e8092008-10-07 01:05:34 +0000112682008-10-06 Jeremy Moskovich <jeremy@chromium.org>
11269
eric@webkit.orge8585df2008-10-07 01:09:23 +000011270 Reviewed by Tim Hatcher.
11271
11272 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
11273 to reflect that.
11274
11275 * WebCore.xcodeproj/project.pbxproj:
11276 * platform/mac/WebCoreObjCExtras.c: Removed.
11277 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
11278
112792008-10-06 Jeremy Moskovich <jeremy@chromium.org>
11280
eric@webkit.org569e8092008-10-07 01:05:34 +000011281 Reviewed by Dan Bernstein.
11282
11283 Added C++ forward declaration for the NSURLAuthenticationChallenge class
11284 so that the m_currentMacChallenge variable doesn't cause a
11285 compilation error when ResourceHandleInternal.h is included from a C++ file.
11286 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
11287
11288 * platform/network/ResourceHandleInternal.h:
11289
sfalken@apple.com01dbee12008-10-06 23:47:08 +0000112902008-10-06 Steve Falkenburg <sfalken@apple.com>
11291
sfalken@apple.come897fd92008-10-07 00:17:26 +000011292 Windows build fix.
11293
11294 * WebCore.vcproj/WebCore.vcproj:
11295
112962008-10-06 Steve Falkenburg <sfalken@apple.com>
11297
sfalken@apple.com01dbee12008-10-06 23:47:08 +000011298 https://bugs.webkit.org/show_bug.cgi?id=21416
11299 Add missing null checks identified by Application Verifier.
11300
11301 Reviewed by Darin Adler.
11302
11303 * platform/win/SharedTimerWin.cpp:
11304 (WebCore::clearTimer):
11305
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000113062008-10-06 Kevin McCullough <kmccullough@apple.com>
11307
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +000011308 Reviewed by Tim Hatcher.
11309
11310 Removed accidentally left in debugging statement.
11311
11312 * inspector/front-end/inspector.js:
11313
113142008-10-06 Kevin McCullough <kmccullough@apple.com>
11315
kmccullough@apple.com47002eb2008-10-06 23:10:09 +000011316 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000011317
11318 https://bugs.webkit.org/show_bug.cgi?id=21412
11319 Bug 21412: Refactor user initiated profile count to be more stable
11320
11321 * inspector/InspectorController.cpp: Keep track of the user-initiated
11322 profiles here now.
11323 (WebCore::InspectorController::InspectorController):
11324 (WebCore::InspectorController::startUserInitiatedProfiling):
11325 (WebCore::InspectorController::stopUserInitiatedProfiling):
11326 * inspector/InspectorController.h:
11327 The front end will now need to check for the existence of the user-
11328 initiated profile title and use its count instead of keeping its own.
11329 * inspector/front-end/ProfilesPanel.js:
11330
mitz@apple.com1d60e5c2008-10-06 20:25:46 +0000113312008-10-06 Dan Bernstein <mitz@apple.com>
11332
11333 Reviewed by Sam Weinig.
11334
11335 - separate GDI text drawing into its own function
11336
11337 * platform/graphics/win/FontCGWin.cpp:
11338 (WebCore::drawGDIGlyphs):
11339 (WebCore::Font::drawGlyphs):
11340
sfalken@apple.com593331e2008-10-06 19:55:09 +0000113412008-10-03 Steve Falkenburg <sfalken@apple.com>
11342
11343 <rdar://problem/6249833> Fix default button appearance
11344
11345 Reviewed by Adele Peterson.
11346
11347 * rendering/RenderThemeWin.cpp:
11348 (WebCore::RenderThemeWin::supportsFocus):
11349 (WebCore::RenderThemeWin::determineClassicState):
11350 (WebCore::RenderThemeWin::determineButtonState):
11351 (WebCore::RenderThemeWin::getClassicThemeData):
11352 (WebCore::RenderThemeWin::getThemeData):
11353 (WebCore::drawControl):
11354 * rendering/RenderThemeWin.h:
11355
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +0000113562008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11357
11358 Reviewed by Simon.
11359
vestbo@webkit.orgc5067902008-10-06 18:11:31 +000011360 Add native virtual keycode to PlatformKeyboardEvent
11361
11362 * platform/PlatformKeyboardEvent.h:
11363 * platform/gtk/KeyEventGtk.cpp:
11364 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11365 * platform/mac/KeyEventMac.mm:
11366 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11367 * platform/qt/PlatformKeyboardEventQt.cpp:
11368 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11369 * platform/win/KeyEventWin.cpp:
11370 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11371 * platform/wx/KeyboardEventWx.cpp:
11372 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11373
113742008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11375
11376 Reviewed by Simon.
11377
vestbo@webkit.org89d13712008-10-06 17:51:39 +000011378 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
11379
11380 * platform/text/PlatformString.h:
11381 * platform/text/StringImpl.h:
11382 * platform/text/cf/StringCF.cpp:
11383 * platform/text/cf/StringImplCF.cpp:
11384
113852008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11386
11387 Reviewed by Simon.
11388
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000011389 Use bundles on QtWebKit/Mac for platform modules
11390
11391 * platform/FileSystem.h:
11392 * platform/qt/FileSystemQt.cpp:
11393 (WebCore::unloadModule):
11394
hausmann@webkit.org33791a82008-10-06 17:00:48 +0000113952008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
11396
11397 Reviewed by Simon.
11398
11399 Build fix for MinGW.
11400
11401 * platform/win/SystemTimeWin.cpp:
11402 * plugins/win/PluginViewWin.cpp:
11403 (WebCore::PluginView::invalidateRect):
11404
aroben@apple.com5613e512008-10-06 15:39:39 +0000114052008-10-06 Adam Roben <aroben@apple.com>
11406
aroben@apple.combf38ff12008-10-06 15:44:16 +000011407 Mimic the inspector/ directory structure in WebCore.vcproj
11408
11409 * WebCore.vcproj/WebCore.vcproj:
11410
114112008-10-06 Adam Roben <aroben@apple.com>
11412
aroben@apple.com5613e512008-10-06 15:39:39 +000011413 Windows build fix
11414
11415 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
11416 configurations to include WebCore/inspector.
11417
eric@webkit.org15e92962008-10-06 08:23:37 +0000114182008-10-04 Eric Seidel <eric@webkit.org>
11419
11420 Reviewed by Darin Adler.
11421
11422 SVG should support ascent and descent properties <font-face> instead of <font>!
11423 https://bugs.webkit.org/show_bug.cgi?id=21365
11424
11425 Tested by many many existing SVG tests.
11426
11427 * svg/SVGFontFaceElement.cpp:
11428 (WebCore::SVGFontFaceElement::ascent):
11429 (WebCore::SVGFontFaceElement::descent):
11430
mjs@apple.com64662c82008-10-06 06:44:03 +0000114312008-10-05 Darin Fisher <darin@chromium.org>
11432
11433 Reviewed by Eric Seidel.
11434
11435 REGRESSION: crash in ScriptElement::notifyFinished
11436 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
11437
11438 * dom/ScriptElement.cpp:
11439 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
11440 ensure that the ScriptElementData object is not destroyed prematurely.
11441
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +0000114422008-10-05 Chris Lord <chris@openedhand.com>
11443
11444 Reviewed by Alp Toker. Landed by Jan Alonzo.
11445
11446 https://bugs.webkit.org/show_bug.cgi?id=20624
11447 WebKit-gtk uses deprecated GtkType/GtkObject
11448
11449 * plugins/gtk/gtk2xtbin.c:
11450 (gtk_xtbin_get_type):
11451 * plugins/gtk/gtk2xtbin.h:
11452
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +0000114532008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
11454
11455 Reviewed by David Hyatt.
11456
11457 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
11458 https://bugs.webkit.org/show_bug.cgi?id=20725
11459
11460 Updated to ToT by Jan Alonzo.
11461
11462 * plugins/gtk/PluginViewGtk.cpp:
11463 (WebCore::PluginView::getValue):
11464
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +0000114652008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
11466
11467 Reviewed by Darin Adler.
11468
11469 Invalid cast from GdkWindow to GtkWidget
11470 https://bugs.webkit.org/show_bug.cgi?id=21391
11471
11472 Fix a misplaced closing parenthesis to actually cast the widget, not the window
11473
11474 * platform/gtk/PlatformScreenGtk.cpp:
11475 (WebCore::screenDepth):
11476
abarth@webkit.orgfb074382008-10-05 19:12:30 +0000114772008-10-05 Adam Barth <abarth@webkit.org>
11478
11479 Reviewed by Darin Alder.
11480
11481 Attach the Origin header to POST requests to help defend against
11482 cross-site request forgery.
11483
11484 https://bugs.webkit.org/show_bug.cgi?id=20792
11485
11486 Collin Jackson <collinj@webkit.org> also contributed to this patch.
11487
11488 Tests: http/tests/security/originHeader/origin-header-for-data.html
11489 http/tests/security/originHeader/origin-header-for-empty.html
11490 http/tests/security/originHeader/origin-header-for-get.html
11491 http/tests/security/originHeader/origin-header-for-https.html
11492 http/tests/security/originHeader/origin-header-for-post.html
11493
11494 * bindings/js/JSDOMWindowBase.cpp:
11495 (WebCore::createWindow):
11496 * loader/FrameLoader.cpp:
11497 (WebCore::FrameLoader::createWindow):
11498 (WebCore::FrameLoader::urlSelected):
11499 (WebCore::FrameLoader::submitForm):
11500 (WebCore::FrameLoader::outgoingOrigin):
11501 (WebCore::FrameLoader::loadURL):
11502 (WebCore::FrameLoader::addExtraFieldsToRequest):
11503 (WebCore::FrameLoader::loadPostRequest):
11504 (WebCore::FrameLoader::loadResourceSynchronously):
11505 (WebCore::FrameLoader::loadItem):
11506 * loader/FrameLoader.h:
11507 * loader/SubresourceLoader.cpp:
11508 (WebCore::SubresourceLoader::create):
11509 * loader/loader.cpp:
11510 (WebCore::Loader::Host::servePendingRequests):
11511 * platform/SecurityOrigin.cpp:
11512 (WebCore::SecurityOrigin::toHTTPOrigin):
11513 * platform/SecurityOrigin.h:
11514 * platform/network/ResourceRequestBase.h:
11515 (WebCore::ResourceRequestBase::httpOrigin):
11516 (WebCore::ResourceRequestBase::setHTTPOrigin):
11517 (WebCore::ResourceRequestBase::clearHTTPOrigin):
11518 * xml/XMLHttpRequest.cpp:
11519 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
11520 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
11521 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
11522 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
11523
oliver@apple.com12c92c92008-10-05 08:28:51 +0000115242008-10-04 Oliver Hunt <oliver@apple.com>
11525
11526 Reviewed by Tim Hatcher.
11527
11528 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
11529 <https://bugs.webkit.org/show_bug.cgi?id=21381>
11530
11531 If we hit a parsing boundary (end of a packet, etc) in the middle of a
11532 <script> element when we are doing an incremental parse, we exit the
11533 parser, and reenter later when more data is available. During this
11534 reentry we incorrectly reset the scriptStartLineno to the current line
11535 in the parser, which is now part way through the script element.
11536
11537 The solution is to track whether we are entering or reentering the parsing
11538 of a script element. We do this simply by 0 checking scriptStartLineno,
11539 and resetting it after we complete parsing of each script element.
11540
11541 Test: http/tests/incremental/pause-in-script-element.pl
11542
11543 * ChangeLog:
11544 * html/HTMLTokenizer.cpp:
11545 (WebCore::HTMLTokenizer::parseSpecial):
11546 (WebCore::HTMLTokenizer::scriptHandler):
11547
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +0000115482008-10-04 Alp Toker <alp@nuanti.com>
11549
11550 Reviewed by David Hyatt. Landed by Jan Alonzo.
11551
11552 https://bugs.webkit.org/show_bug.cgi?id=20924
11553 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
11554
11555 https://bugs.webkit.org/show_bug.cgi?id=19578
11556 [CURL] problem in parseDataUrl
11557
11558 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
11559 This patch also fixes encoding support in escaped (non-Base64) data
11560 URLs. All manual data URL tests now pass in both GLib and non-GLib
11561 code paths.
11562
11563 * platform/network/curl/ResourceHandleManager.cpp:
11564 (WebCore::parseDataUrl):
11565
timothy@apple.com5c58fb12008-10-05 04:12:40 +0000115662008-10-04 Timothy Hatcher <timothy@apple.com>
11567
11568 Makes breakpoints and debugging code during page load work in the
11569 Web Inspector's debugger. Specifically, this makes the source
11570 code for loading resources show up in the Scripts panel.
11571
11572 https://bugs.webkit.org/show_bug.cgi?id=19053
11573 rdar://problem/5933408
11574
11575 Reviewed by Mark Rowe.
11576
11577 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
11578 not using tabs and a tab width of 8.
11579 * inspector/InspectorController.cpp:
11580 (WebCore::addResourceSourceToFrame): Return a bool to report if the
11581 source was added successfully or not.
11582 (WebCore::addSourceToFrame): Ditto.
11583 * inspector/front-end/ScriptView.js:
11584 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
11585 Return early if the InspectorController.addSourceToFrame fails.
11586 Moved the delete of the _frameNeedsSetup property after that call so
11587 if the source wasn't added it will be attempted again.
11588 * inspector/front-end/SourceView.js:
11589 (WebInspector.SourceView.prototype.detach): Move a comment.
11590 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
11591 Don't check if the resource is finished or failed, just attempt
11592 to add the source to the frame. WebCore has the source, but the
11593 finished property hasn't been set yet. Return early if the
11594 InspectorController.addSourceToFrame fails. Moved the delete
11595 of the _frameNeedsSetup property after that call so if the source
11596 wasn't added it will be attempted again.
11597 (WebInspector.SourceView.prototype._resourceLoadingFinished):
11598 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
11599 the source frame will we populated again now that the resource
11600 load has finished.
11601 * manual-tests/inspector/debugger-pause-during-load.html: Added.
11602
mrowe@apple.comb3214652008-10-05 03:04:18 +0000116032008-10-04 Mark Rowe <mrowe@apple.com>
11604
11605 Reviewed by Tim Hatcher.
11606
11607 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
11608
11609 * WebCore.xcodeproj/project.pbxproj:
11610
hyatt@apple.coma4a9e252008-10-05 00:55:01 +0000116112008-10-04 David Hyatt <hyatt@apple.com>
11612
11613 https://bugs.webkit.org/show_bug.cgi?id=21373
11614
11615 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
11616 is still present.
11617
11618 Reviewed by Mark Rowe
11619
11620 * page/FrameView.cpp:
11621 (WebCore::FrameView::~FrameView):
11622
weinig@apple.com3b7e4b12008-10-04 22:52:19 +0000116232008-10-04 Sam Weinig <sam@webkit.org>
11624
11625 Reviewed by Dan Bernstein.
11626
11627 Avoid copying a Vector when using getSupportedKeySizes.
11628
11629 * html/HTMLKeygenElement.cpp:
11630 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
11631 * platform/SSLKeyGenerator.h:
11632 * platform/gtk/TemporaryLinkStubs.cpp:
11633 (WebCore::getSupportedKeySizes):
11634 * platform/mac/SSLKeyGeneratorMac.mm:
11635 (WebCore::getSupportedKeySizes):
11636 * platform/qt/TemporaryLinkStubs.cpp:
11637 (WebCore::getSupportedKeySizes):
11638 * platform/win/TemporaryLinkStubs.cpp:
11639 (WebCore::getSupportedKeySizes):
11640 * platform/wx/TemporaryLinkStubs.cpp:
11641 (WebCore::getSupportedKeySizes):
11642
darin@apple.com28f84fc2008-10-04 21:10:00 +0000116432008-10-04 Darin Adler <darin@apple.com>
11644
11645 Reviewed by Cameron Zwarich.
11646
11647 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
11648 Bug 21295: Replace ExecState with a call frame Register pointer
11649
11650 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11651 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
11652 Remove bogus "const".
11653 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
11654
hyatt@apple.comb17c7752008-10-04 21:03:11 +0000116552008-10-04 David Hyatt <hyatt@apple.com>
11656
11657 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
11658
11659 Reviewed by Darin Adler
11660
11661 * WebCore.xcodeproj/project.pbxproj:
11662 * platform/PopupMenuClient.h:
11663 * platform/gtk/PopupMenuGtk.cpp:
11664 (WebCore::PopupMenu::show):
11665 * platform/mac/PopupMenuMac.mm:
11666 (WebCore::PopupMenu::populate):
11667 (WebCore::PopupMenu::show):
11668 * platform/qt/PopupMenuQt.cpp:
11669 (WebCore::PopupMenu::populate):
11670 * platform/win/PopupMenuWin.cpp:
11671 (WebCore::PopupMenu::calculatePositionAndSize):
11672 (WebCore::PopupMenu::paint):
11673 (WebCore::PopupWndProc):
11674 * rendering/RenderMenuList.cpp:
11675 (WebCore::RenderMenuList::itemStyle):
11676 (WebCore::RenderMenuList::menuStyle):
11677 (WebCore::RenderMenuList::hostWindow):
11678 * rendering/RenderMenuList.h:
11679 * rendering/RenderTextControl.cpp:
11680 (WebCore::RenderTextControl::itemStyle):
11681 (WebCore::RenderTextControl::menuStyle):
11682 (WebCore::RenderTextControl::hostWindow):
11683 * rendering/RenderTextControl.h:
11684
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +0000116852008-10-04 Matt Lilek <webkit@mattlilek.com>
11686
11687 Build fix - restore Private role to headers that had it before the move.
11688
11689 * WebCore.xcodeproj/project.pbxproj:
11690
darin@apple.com2f394342008-10-04 18:37:11 +0000116912008-10-04 Darin Adler <darin@apple.com>
11692
11693 - try to fix build
11694
11695 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +000011696 * GNUmakefile.am: Add new inspector directory to includes.
11697 Re-sort the IDL_BINDINGS list. Add new inspector directory
11698 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +000011699
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +0000117002008-10-04 Matt Lilek <webkit@mattlilek.com>
11701
11702 Not reviewed, attempt to fix Gtk build.
11703
11704 * GNUmakefile.am:
11705
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000117062008-10-03 Timothy Hatcher <timothy@apple.com>
11707
timothy@apple.com9c94f6b2008-10-04 08:10:54 +000011708 Move the Web Inspector files into a top-level "inspector" folder.
11709
11710 https://bugs.webkit.org/show_bug.cgi?id=21359
11711
11712 Reviewed by Dave Hyatt.
11713
11714 * GNUmakefile.am:
11715 * WebCore.pro:
11716 * WebCore.vcproj/WebCore.vcproj:
11717 * WebCore.xcodeproj/project.pbxproj:
11718 * WebCoreSources.bkl:
11719 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
11720 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
11721 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
11722 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
11723 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
11724 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
11725 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
11726 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
11727 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
11728 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
11729 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
11730 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
11731 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
11732 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
11733 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
11734 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
11735 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
11736 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
11737 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
11738 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
11739 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
11740 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
11741 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
11742 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
11743 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
11744 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
11745 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
11746 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
11747 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
11748 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
11749 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
11750 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
11751 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
11752 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
11753 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
11754 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
11755 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
11756 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
11757 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
11758 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
11759 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
11760 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
11761 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
11762 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
11763 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
11764 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
11765 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
11766 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
11767 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
11768 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
11769 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
11770 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
11771 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
11772 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
11773 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
11774 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
11775 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
11776 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
11777 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
11778 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
11779 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
11780 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
11781 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
11782 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
11783 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
11784 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
11785 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
11786 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
11787 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
11788 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
11789 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
11790 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
11791 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
11792 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
11793 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
11794 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
11795 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
11796 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
11797 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
11798 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
11799 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
11800 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
11801 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
11802 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
11803 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
11804 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
11805 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
11806 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
11807 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
11808 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
11809 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
11810 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
11811 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
11812 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
11813 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
11814 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
11815 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
11816 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
11817 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
11818 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
11819 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
11820 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
11821 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
11822 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
11823 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
11824 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
11825 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
11826 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
11827 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
11828 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
11829 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
11830 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
11831 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
11832 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
11833 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
11834 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
11835 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
11836 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
11837 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
11838 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
11839 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
11840 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
11841 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
11842 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
11843 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
11844 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
11845 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
11846 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
11847 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
11848 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
11849 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
11850 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
11851 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
11852 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
11853 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
11854 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
11855 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
11856 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
11857 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
11858 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
11859 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
11860 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
11861 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
11862 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
11863 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
11864 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
11865 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
11866 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
11867 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
11868 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
11869 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
11870 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
11871 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
11872 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
11873 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
11874 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
11875
118762008-10-03 Timothy Hatcher <timothy@apple.com>
11877
timothy@apple.com11eb1a32008-10-04 08:09:52 +000011878 Adds support to the Web Inspector's Elements panel for fast tag name,
11879 class name, id and attribute name searching. The panel first tries
11880 using getElementById, getElementsByClassName and getElementsByTagName
11881 with the search query. Then does a slower search using XPath for partial
11882 matches, text and comment matches.
11883
11884 Adds support for search queries like "<div>", "<h" and "frame>".
11885 These forms limit the search to tag names, text and comment matches.
11886
11887 https://bugs.webkit.org/show_bug.cgi?id=21353
11888
11889 Reviewed by Maciej Stachowiak.
11890
11891 * page/inspector/ElementsPanel.js:
11892 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
11893 support. Add new search functions that try exact matches first.
11894
118952008-10-03 Timothy Hatcher <timothy@apple.com>
11896
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000011897 Changes how searching works in the Web Inspector's Elements
11898 panel. The search tasks are divided into chunks that are small
11899 units of work that are performed at a time interval. This
11900 change also prevents queries that will select all elements,
11901 since that isn't useful.
11902
11903 https://bugs.webkit.org/show_bug.cgi?id=21285
11904
11905 Reviewed by Oliver Hunt.
11906
11907 * page/inspector/ElementsPanel.js:
11908 (WebInspector.ElementsPanel.prototype.searchCancled):
11909 Remove the searchResultsProperty form results since there might
11910 be an unfinished search.
11911 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
11912 documents and search functions into chunks that are performed on
11913 a interval of 25ms. Prevent searches for "//*" and "*".
11914
mjs@apple.com8b246d62008-10-04 07:15:33 +0000119152008-10-03 Maciej Stachowiak <mjs@apple.com>
11916
11917 Reviewed by Cameron Zwarich.
11918
11919 - "this" object in methods called on primitives should be wrapper object
11920 https://bugs.webkit.org/show_bug.cgi?id=21362
11921
11922 Updated so toThis conversion for the split window is handled properly.
11923
11924 * bindings/scripts/CodeGeneratorJS.pm:
11925
weinig@apple.com1b4545c2008-10-04 05:16:40 +0000119262008-10-03 Sam Weinig <sam@webkit.org>
11927
11928 Reviewed by David "The Motivator" Hyatt.
11929
11930 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
11931 Move SecurityOrigin out of platform/ to page/.
11932
11933 It was a layering violation for SecurityOrigin to be in platform
11934 as it depended on FrameLoader.
11935
11936 * GNUmakefile.am:
11937 * WebCore.pro:
11938 * WebCore.vcproj/WebCore.vcproj:
11939 * WebCore.xcodeproj/project.pbxproj:
11940 * WebCoreSources.bkl:
11941 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
11942 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
11943 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
11944 * platform/SecurityOrigin.cpp: Removed.
11945 * platform/SecurityOrigin.h: Removed.
11946 * platform/SecurityOriginHash.h: Removed.
11947
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +0000119482008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
11949
11950 Reviewed by Alp Toker.
11951
11952 http://bugs.webkit.org/show_bug.cgi?id=18832
11953 [curl] file upload does not work
11954
11955 The curl_off_t integer type has a different size depending if large
11956 file support is enabled or not. There is no different public API for
11957 the two cases, so the same function accepts a different type based on
11958 a compilation option the could be different in WebKit and libcurl.
11959 To fix the bug we query libcurl at runtime for large file support and
11960 pass the right type based on that.
11961
11962 * platform/network/curl/ResourceHandleManager.cpp:
11963 (WebCore::ResourceHandleManager::setupPOST):
11964
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +0000119652008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
11966
11967 Reviewed by David Hyatt.
11968
11969 Gtk build fixes.
11970
11971 * platform/gtk/FileChooserGtk.cpp:
11972 (WebCore::FileChooser::openFileChooser):
11973 * platform/gtk/PlatformScreenGtk.cpp:
11974 (WebCore::screenDepth):
11975 (WebCore::screenDepthPerComponent):
11976 (WebCore::screenAvailableRect):
11977 * platform/gtk/PopupMenuGtk.cpp:
11978 (WebCore::PopupMenu::show):
11979 * platform/gtk/ScrollViewGtk.cpp:
11980 (WebCore::ScrollView::platformAddChild):
11981 (WebCore::ScrollView::platformRemoveChild):
11982 * platform/gtk/WidgetGtk.cpp:
11983 (WebCore::Widget::setCursor):
11984 * plugins/gtk/PluginViewGtk.cpp:
11985 (WebCore::PluginView::getValue):
11986 (WebCore::PluginView::forceRedraw):
11987 (WebCore::PluginView::init):
11988
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000119892008-10-03 David Hyatt <hyatt@apple.com>
11990
hyatt@apple.com55377bb2008-10-04 01:09:37 +000011991 Fix Qt bustage from missing include.
11992
11993 * platform/qt/PlatformScreenQt.cpp:
11994
119952008-10-03 David Hyatt <hyatt@apple.com>
11996
hyatt@apple.comeff53462008-10-04 01:08:35 +000011997 Fix Windows scrollbar bustage in popup menus.
11998
11999 * platform/win/PopupMenuWin.cpp:
12000 (WebCore::PopupWndProc):
12001
120022008-10-03 David Hyatt <hyatt@apple.com>
12003
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000012004 Fix Windows bustage.
12005
12006 * platform/win/FileChooserWin.cpp:
12007 (WebCore::FileChooser::openFileChooser):
12008 * platform/win/PlatformScreenWin.cpp:
12009 (WebCore::monitorInfoForWidget):
12010 * platform/win/WidgetWin.cpp:
12011 * plugins/win/PluginViewWin.cpp:
12012 (WebCore::PluginView::getValue):
12013 (WebCore::PluginView::forceRedraw):
12014 (WebCore::PluginView::init):
12015
darin@apple.com3d73fee2008-10-03 21:39:16 +0000120162008-10-03 Darin Adler <darin@apple.com>
12017
darin@apple.comc1e2d312008-10-03 22:55:04 +000012018 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
12019 seen on some machines but not others by adding an include.
12020
120212008-10-03 Darin Adler <darin@apple.com>
12022
darin@apple.com682a07e2008-10-03 22:41:30 +000012023 - Qt build fix
12024
12025 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
12026 execute functions. Declarations for these relied on the CodeType
12027 enumeration, which used to be in ExecState.h; but the functions
12028 aren't needed at all.
12029 * bridge/qt/qt_runtime.h: Ditto.
12030
120312008-10-03 Darin Adler <darin@apple.com>
12032
darin@apple.com3d73fee2008-10-03 21:39:16 +000012033 Reviewed by Geoff Garen.
12034
12035 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
12036 Turn ExecState into a call frame pointer.
12037
12038 Remove m_globalObject and m_globalData from ExecState.
12039
12040 * bindings/js/JSDOMWindowBase.cpp:
12041 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
12042 Removed an argument now that JSGlobalObject doesn't need it any more.
12043 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
12044 the JSDOMWindowBaseData constructor, and added the this argument to the
12045 JSGlobalObject constructor. This is because a couple key bits of
12046 initialization moved from the data constructor to the JSGlobalObject
12047 constructor.
12048 * bindings/js/JSDOMWindowBase.h: Ditto.
12049
12050 * bridge/qt/qt_runtime.cpp:
12051 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
12052 * bridge/runtime_method.cpp:
12053 (JSC::RuntimeMethod::RuntimeMethod):
12054 Pass JSGlobalData* instead of ExecState* to the InternalFunction
12055 constructor.
12056
hyatt@apple.com0e7921d2008-10-03 21:16:13 +0000120572008-10-03 David Hyatt <hyatt@apple.com>
12058
12059 Fix Windows/Qt build bustage.
12060
12061 Reviewed by ggaren
12062
12063 * loader/EmptyClients.h:
12064 (WebCore::EmptyChromeClient::platformWindow):
12065 * page/Chrome.cpp:
12066 (WebCore::Chrome::platformWindow):
12067 * page/Chrome.h:
12068 * page/ChromeClient.h:
12069 * platform/HostWindow.h:
12070 * platform/qt/PlatformScreenQt.cpp:
12071 (WebCore::screenDepth):
12072 (WebCore::screenDepthPerComponent):
12073 (WebCore::screenIsMonochrome):
12074 (WebCore::screenRect):
12075 (WebCore::screenAvailableRect):
12076 * platform/qt/PopupMenuQt.cpp:
12077 (WebCore::PopupMenu::show):
12078 * platform/win/PopupMenuWin.cpp:
12079 (WebCore::PopupMenu::show):
12080 (WebCore::PopupMenu::calculatePositionAndSize):
12081 (WebCore::PopupWndProc):
12082
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +0000120832008-10-03 Simon Fraser <simon.fraser@apple.com>
12084
12085 Reviewed by Dave Hyatt
12086
12087 Make setStyle() take a const RenderStyle, to ensure that an
12088 earlier RenderStyle::diff() remains valid.
12089
12090 * rendering/RenderBR.cpp:
12091 * rendering/RenderBR.h:
12092 * rendering/RenderBlock.cpp:
12093 * rendering/RenderBlock.h:
12094 * rendering/RenderBox.cpp:
12095 * rendering/RenderBox.h:
12096 * rendering/RenderButton.cpp:
12097 * rendering/RenderButton.h:
12098 * rendering/RenderFieldset.cpp:
12099 * rendering/RenderFieldset.h:
12100 * rendering/RenderFileUploadControl.cpp:
12101 * rendering/RenderFileUploadControl.h:
12102 * rendering/RenderInline.cpp:
12103 * rendering/RenderInline.h:
12104 * rendering/RenderListBox.cpp:
12105 * rendering/RenderListBox.h:
12106 * rendering/RenderListItem.cpp:
12107 * rendering/RenderListItem.h:
12108 * rendering/RenderListMarker.cpp:
12109 * rendering/RenderListMarker.h:
12110 * rendering/RenderMenuList.cpp:
12111 * rendering/RenderMenuList.h:
12112 * rendering/RenderObject.cpp:
12113 (WebCore::RenderObject::setStyle):
12114 * rendering/RenderObject.h:
12115 * rendering/RenderReplaced.cpp:
12116 * rendering/RenderReplaced.h:
12117 * rendering/RenderSVGBlock.cpp:
12118 (WebCore::RenderSVGBlock::setStyle):
12119 * rendering/RenderSVGBlock.h:
12120 * rendering/RenderSVGGradientStop.cpp:
12121 * rendering/RenderSVGGradientStop.h:
12122 * rendering/RenderSlider.cpp:
12123 * rendering/RenderSlider.h:
12124 * rendering/RenderTable.cpp:
12125 * rendering/RenderTable.h:
12126 * rendering/RenderTableCell.cpp:
12127 * rendering/RenderTableCell.h:
12128 * rendering/RenderTableRow.cpp:
12129 * rendering/RenderTableRow.h:
12130 * rendering/RenderText.cpp:
12131 * rendering/RenderText.h:
12132 * rendering/RenderTextControl.cpp:
12133 * rendering/RenderTextControl.h:
12134 * rendering/RenderWidget.cpp:
12135 * rendering/RenderWidget.h:
12136 * rendering/style/RenderStyle.h:
12137 (WebCore::RenderStyle::isDisplayReplacedType):
12138 (WebCore::RenderStyle::isDisplayInlineType):
12139
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000121402008-10-03 David Hyatt <hyatt@apple.com>
12141
hyatt@apple.com938a55f2008-10-03 20:10:32 +000012142 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
12143 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
12144 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
12145 that will work properly for hit testing. This patch just stubs out that method to return the same
12146 event untransformed.
12147
12148 Reviewed by Darin Adler
12149
12150 * page/EventHandler.cpp:
12151 (WebCore::EventHandler::handleMouseDoubleClickEvent):
12152 (WebCore::EventHandler::handleMouseMoveEvent):
12153 (WebCore::EventHandler::handleMouseReleaseEvent):
12154 (WebCore::EventHandler::passMousePressEventToScrollbar):
12155 * page/gtk/EventHandlerGtk.cpp:
12156 * page/mac/EventHandlerMac.mm:
12157 * page/qt/EventHandlerQt.cpp:
12158 * page/win/EventHandlerWin.cpp:
12159 * page/wx/EventHandlerWx.cpp:
12160 * platform/Scrollbar.cpp:
12161 (WebCore::Scrollbar::mouseMoved):
12162 (WebCore::Scrollbar::mouseExited):
12163 (WebCore::Scrollbar::mouseUp):
12164 (WebCore::Scrollbar::mouseDown):
12165 (WebCore::Scrollbar::transformEvent):
12166 * platform/Scrollbar.h:
12167
121682008-10-03 David Hyatt <hyatt@apple.com>
12169
hyatt@apple.com1ae34462008-10-03 19:17:35 +000012170 https://bugs.webkit.org/show_bug.cgi?id=21340
12171
12172 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
12173
12174 Reviewed by Dan Bernstein & Darin Adler
12175
12176 * platform/ScrollView.cpp:
12177 (WebCore::ScrollView::addChild):
12178 * platform/Widget.cpp:
12179 (WebCore::Widget::init):
12180 * platform/Widget.h:
12181 * platform/mac/WidgetMac.mm:
12182 * platform/win/PopupMenuWin.cpp:
12183 (WebCore::PopupMenu::show):
12184
adele@apple.come31aa912008-10-03 19:06:28 +0000121852008-10-03 Adele Peterson <adele@apple.com>
12186
12187 Reviewed by Sam Weinig.
12188
12189 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
12190 Return early if settings is nil.
12191
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +0000121922008-10-03 Rob Buis <buis@kde.org>
12193
12194 Reviewed by Darin.
12195
12196 https://bugs.webkit.org/show_bug.cgi?id=20134
12197 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
12198
12199 Make sure the input element gets the right default value when no value is set.
12200
12201 Test: fast/forms/range-default-value.html
12202
12203 * rendering/RenderSlider.cpp:
12204 (WebCore::RenderSlider::setPositionFromValue):
12205
hyatt@apple.com8de3eb72008-10-03 18:29:28 +0000122062008-10-03 David Hyatt <hyatt@apple.com>
12207
12208 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
12209 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
12210 platform-specific init/destroy methods.
12211
12212 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
12213
12214 Reviewed by Darin Adler
12215
12216 * WebCore.vcproj/WebCore.vcproj:
12217 * platform/ScrollView.cpp:
12218 (WebCore::ScrollView::ScrollView):
12219 (WebCore::ScrollView::~ScrollView):
12220 (WebCore::ScrollView::platformInit):
12221 (WebCore::ScrollView::platformDestroy):
12222 (WebCore::ScrollView::platformAddChild):
12223 (WebCore::ScrollView::platformRemoveChild):
12224 * platform/ScrollView.h:
12225 * platform/gtk/ScrollViewGtk.cpp:
12226 (WebCore::ScrollView::platformInit):
12227 (WebCore::ScrollView::platformDestroy):
12228 * platform/mac/ScrollViewMac.mm:
12229 * platform/qt/ScrollViewQt.cpp:
12230 (WebCore::ScrollView::platformInit):
12231 (WebCore::ScrollView::platformDestroy):
12232 * platform/win/ScrollViewWin.cpp: Removed.
12233 * platform/wx/ScrollViewWx.cpp:
12234 (WebCore::ScrollView::platformInit):
12235 (WebCore::ScrollView::platformDestroy):
12236 (WebCore::ScrollView::setPlatformWidget):
12237
adele@apple.comb1dd0a62008-10-03 18:13:28 +0000122382008-10-03 Adele Peterson <adele@apple.com>
12239
12240 Reviewed by Dan Bernstein.
12241
12242 Fix for <rdar://problem/6012018>
12243 https://bugs.webkit.org/show_bug.cgi?id=21335
12244 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
12245
12246 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
12247
hausmann@webkit.org2497ae82008-10-03 16:02:54 +0000122482008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
12249
12250 Build fix.
12251
12252 * platform/qt/WidgetQt.cpp:
12253 (WebCore::Widget::invalidateRect):
12254
alp@webkit.org2122a042008-10-03 12:38:12 +0000122552008-10-03 Alp Toker <alp@nuanti.com>
12256
alp@webkit.orgabc5b712008-10-03 13:36:23 +000012257 Remove some left-over GTK+ includes. No change in functionality.
12258
12259 * platform/Cursor.h:
12260 * platform/graphics/Icon.h:
12261 * platform/gtk/RenderThemeGtk.h:
12262
122632008-10-03 Alp Toker <alp@nuanti.com>
12264
alp@webkit.org2122a042008-10-03 12:38:12 +000012265 Build fix for trailing comment after #endif
12266
12267 * dom/ElementRareData.h:
12268
hyatt@apple.comd664bd52008-10-03 09:03:43 +0000122692008-10-03 David Hyatt <hyatt@apple.com>
12270
12271 Remove addToDirtyRegion.
12272
12273 Reviewed by Oliver Hunt
12274
12275 * page/Chrome.cpp:
12276 * page/Chrome.h:
12277 * page/ChromeClient.h:
12278 * platform/ScrollView.h:
12279 * platform/gtk/ScrollViewGtk.cpp:
12280 * platform/qt/ScrollViewQt.cpp:
12281 * platform/win/ScrollViewWin.cpp:
12282
mitz@apple.com810de662008-10-03 09:00:08 +0000122832008-10-03 Dan Bernstein <mitz@apple.com>
12284
12285 Reviewed by Maciej Stachowiak.
12286
12287 - fix a CachedResource leak introduced in r37176
12288
12289 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
12290 afterwards bail out of the outer pruneDeadResources().
12291
12292 * loader/Cache.cpp:
12293 (WebCore::Cache::Cache):
12294 (WebCore::Cache::pruneDeadResources):
12295 (WebCore::Cache::remove):
12296 * loader/Cache.h:
12297
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +0000122982008-10-03 David Hyatt <hyatt@apple.com>
12299
12300 https://bugs.webkit.org/show_bug.cgi?id=21330
12301
12302 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
12303 scrollbars.
12304
12305 Reviewed by Oliver Hunt
12306
12307 * platform/ScrollView.cpp:
12308 (WebCore::ScrollView::setHasHorizontalScrollbar):
12309 (WebCore::ScrollView::setHasVerticalScrollbar):
12310 (WebCore::ScrollView::platformHasHorizontalAdjustment):
12311 (WebCore::ScrollView::platformHasVerticalAdjustment):
12312 * platform/ScrollView.h:
12313 * platform/gtk/ScrollViewGtk.cpp:
12314 (WebCore::ScrollView::adjustmentChanged):
12315 (WebCore::ScrollView::ScrollView):
12316 (WebCore::ScrollView::~ScrollView):
12317 (WebCore::ScrollView::setGtkAdjustments):
12318 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
12319 (WebCore::ScrollView::platformHandleVerticalAdjustment):
12320
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +0000123212008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
12322
12323 Reviewed by Maciej Stachowiak.
12324
12325 Bug 21106: .in format discussed changes
12326 https://bugs.webkit.org/show_bug.cgi?id=21106
12327
12328 Change "upperCase" to "interfaceName" per-tag parameter as
12329 discussed on the mailing list. Removed the per-attribute version
12330 as it was not used.
12331
12332 Also add the "Element" suffix to all interfaceName parameter to match
12333 the class name (and thus remove it from make_names.pl).
12334
12335 * dom/make_names.pl:
12336 * html/HTMLTagNames.in:
12337 * svg/svgtags.in:
12338
hyatt@apple.comf0a13272008-10-03 07:38:27 +0000123392008-10-03 David Hyatt <hyatt@apple.com>
12340
12341 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
12342 Hopefully this is a temporary hack that could eventually be removed.
12343
12344 Reviewed by Sam Weinig
12345
12346 * platform/ScrollView.cpp:
12347 (WebCore::ScrollView::scrollContents):
12348 * platform/ScrollView.h:
12349 (WebCore::ScrollView::rootPreventsBlitting):
12350 * platform/qt/ScrollViewQt.cpp:
12351 (WebCore::ScrollView::ScrollView):
12352 (WebCore::ScrollView::~ScrollView):
12353 (WebCore::ScrollView::platformAddChild):
12354 (WebCore::ScrollView::platformRemoveChild):
12355
hyatt@apple.com6fa40c52008-10-03 07:06:28 +0000123562008-10-02 David Hyatt <hyatt@apple.com>
12357
12358 https://bugs.webkit.org/show_bug.cgi?id=21328
12359
12360 Make widget invalidation more cross-platform.
12361
12362 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
12363
12364 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
12365 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
12366
12367 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
12368
12369 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
12370
12371 Reviewed by Sam Weinig
12372
12373 * WebCore.base.exp:
12374 * page/FrameView.cpp:
12375 (WebCore::FrameView::invalidateRect):
12376 (WebCore::FrameView::invalidateScrollbarRect):
12377 * page/FrameView.h:
12378 * platform/PopupMenu.h:
12379 * platform/ScrollView.cpp:
12380 (WebCore::ScrollView::scrollContents):
12381 * platform/ScrollView.h:
12382 * platform/Scrollbar.cpp:
12383 (WebCore::Scrollbar::setEnabled):
12384 (WebCore::Scrollbar::invalidateRect):
12385 * platform/Scrollbar.h:
12386 * platform/ScrollbarClient.h:
12387 * platform/Widget.h:
12388 * platform/gtk/WidgetGtk.cpp:
12389 * platform/mac/WidgetMac.mm:
12390 * platform/win/PopupMenuWin.cpp:
12391 (WebCore::PopupMenu::invalidateScrollbarRect):
12392 * platform/win/WidgetWin.cpp:
12393 * plugins/PluginView.cpp:
12394 (WebCore::PluginView::invalidateTimerFired):
12395 (WebCore::PluginView::invalidateWindowlessPluginRect):
12396 * plugins/PluginView.h:
12397 * plugins/gtk/PluginViewGtk.cpp:
12398 (WebCore::PluginView::invalidateRect):
12399 * plugins/qt/PluginViewQt.cpp:
12400 (WebCore::PluginView::invalidateRect):
12401 * plugins/win/PluginViewWin.cpp:
12402 (WebCore::PluginView::invalidateRect):
12403 (WebCore::PluginView::invalidateRegion):
12404 * rendering/RenderLayer.cpp:
12405 (WebCore::RenderLayer::invalidateScrollbarRect):
12406 * rendering/RenderLayer.h:
12407 * rendering/RenderListBox.cpp:
12408 (WebCore::RenderListBox::paintObject):
12409 (WebCore::RenderListBox::paintScrollbar):
12410 (WebCore::RenderListBox::invalidateScrollbarRect):
12411 * rendering/RenderListBox.h:
12412
mitz@apple.com0203bbe2008-10-03 06:20:41 +0000124132008-10-02 Dan Bernstein <mitz@apple.com>
12414
12415 Reviewed by Geoffrey Garen and Sam Weinig.
12416
12417 - fix SVGFontFaceElement leaks seen in Acid3
12418 - make font-face elements take effect only when they are in the document tree
12419
12420 Test: svg/custom/font-face-not-in-document.svg
12421
12422 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
12423 RefPtr to a plain pointer to break a ref cycle.
12424 (WebCore::SVGFontData::svgFontFaceElement):
12425
12426 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
12427 @font-face rule from the document's mapped element sheet when the
12428 element is inserted and removed from the document, and to update it
12429 only when the element is in the document.
12430 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
12431 (WebCore::SVGFontFaceElement::parseMappedAttribute):
12432 (WebCore::SVGFontFaceElement::rebuildFontFace):
12433 (WebCore::SVGFontFaceElement::insertedIntoDocument):
12434 (WebCore::SVGFontFaceElement::removedFromDocument):
12435 (WebCore::SVGFontFaceElement::childrenChanged):
12436 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
12437 * svg/SVGFontFaceElement.h:
12438
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +0000124392008-10-01 Simon Fraser <simon.fraser@apple.com>
12440
12441 Reviewed by Dave Hyatt
12442
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +000012443 Fix RenderFileUploadControl::setStyle() and
12444 RenderMenuList::setStyle() to not touch the style; replace
12445 with html4.css and CSSStyleSelector changes.
12446
12447 https://bugs.webkit.org/show_bug.cgi?id=21287
12448
12449 * css/CSSStyleSelector.cpp:
12450 (WebCore::CSSStyleSelector::adjustRenderStyle):
12451 * css/html4.css:
12452 * rendering/RenderBlock.cpp:
12453 (WebCore::RenderBlock::setStyle):
12454 * rendering/RenderFileUploadControl.cpp:
12455 * rendering/RenderMenuList.cpp:
12456 (WebCore::RenderMenuList::setStyle):
12457
124582008-10-01 Simon Fraser <simon.fraser@apple.com>
12459
12460 Reviewed by Dave Hyatt
12461
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000012462 Clean up code that changes the RenderStyle passed in to
12463 table renderer setStyle() methods.
12464
12465 https://bugs.webkit.org/show_bug.cgi?id=21287
12466
12467 Tests: fast/table/floating-th.html
12468 fast/table/table-display-types-strict.html
12469 fast/table/table-display-types.html
12470
12471 * css/CSSStyleSelector.cpp:
12472 (WebCore::CSSStyleSelector::adjustRenderStyle):
12473 * rendering/RenderTableCell.cpp:
12474 (WebCore::RenderTableCell::setStyle):
12475 * rendering/RenderTableRow.cpp:
12476 (WebCore::RenderTableRow::setStyle):
12477 * rendering/RenderTableSection.cpp:
12478 (WebCore::RenderTableSection::setStyle):
12479
darin@apple.comcb1ab082008-10-03 00:28:54 +0000124802008-10-02 Darin Adler <darin@apple.com>
12481
12482 - fix build
12483
12484 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
12485 Not just locally in my generated file!
12486
adele@apple.comf0225902008-10-03 00:25:37 +0000124872008-10-02 Adele Peterson <adele@apple.com>
12488
12489 Reviewed by Dan Bernstein.
12490
12491 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
12492 REGRESSION: <input> color specified in inline style applies to placeholder
12493
12494 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
12495 is more appropriate. This change adds "-webkit-input-placeholder".
12496
12497 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
12498 Added definition for "-webkit-input-placeholder" pseudo element.
12499 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
12500 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
12501 Added case for PseudoInputPlaceholder.
12502 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
12503 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
12504
12505 * html/HTMLInputElement.cpp:
12506 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
12507 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
12508 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
12509 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
12510 * rendering/RenderTextControl.cpp:
12511 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
12512 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
12513 the text will be updated correctly.
12514 * rendering/RenderTextControl.h:
12515
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +0000125162008-10-02 Chris Fleizach <cfleizach@apple.com>
12517
12518 Reviewed by Darin Adler.
12519
12520 https://bugs.webkit.org/show_bug.cgi?id=21280
12521 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
12522
12523 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
12524 to ensure that there is more than one valid table cell, and that at least half of the cells
12525 have borders or have specific background colors. Modified the table detection layout test
12526 to test for the tables mentioned in the bug
12527
12528 * page/AccessibilityTable.cpp:
12529 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
12530
darin@apple.comb6295d42008-10-02 23:48:47 +0000125312008-10-02 Darin Adler <darin@apple.com>
12532
12533 Reviewed by Geoff Garen.
12534
12535 - https://bugs.webkit.org/show_bug.cgi?id=21321
12536 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
12537
12538 * bindings/js/GCController.cpp:
12539 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
12540 (WebCore::GCController::gcTimerFired): Ditto.
12541 (WebCore::GCController::garbageCollectNow): Ditto.
12542 * bindings/js/JSDOMWindowShell.cpp:
12543 (WebCore::JSDOMWindowShell::operator new): Ditto.
12544 * storage/Database.cpp:
12545 (WebCore::Database::Database): Ditto.
12546
mitz@apple.com833a6e72008-10-02 20:46:35 +0000125472008-10-02 Dan Bernstein <mitz@apple.com>
12548
12549 Reviewed by Alexey Proskuryakov.
12550
12551 - fix a Database leak that resulted in Document leaks
12552
12553 * storage/Database.cpp:
12554 (WebCore::Database::openDatabase): Account for the fact that RefCounted
12555 objects start out with a ref count of 1.
12556
weinig@apple.com77b7a0a2008-10-02 20:29:19 +0000125572008-10-02 Sam Weinig <sam@webkit.org>
12558
12559 Reviewed by Mr. Geoffrey Garen.
12560
12561 Always mark your parent before marking members.
12562
12563 * bindings/js/JSDOMWindowCustom.cpp:
12564 (WebCore::JSDOMWindow::mark):
12565
hyatt@apple.com98682b32008-10-02 20:17:08 +0000125662008-10-02 David Hyatt <hyatt@apple.com>
12567
12568 https://bugs.webkit.org/show_bug.cgi?id=21314
12569
12570 Make scrollBackingStore cross-platform.
12571
12572 Reviewed by Sam Weinig
12573
12574 * loader/EmptyClients.h:
12575 (WebCore::EmptyChromeClient::repaint):
12576 (WebCore::EmptyChromeClient::scroll):
12577 * page/Chrome.cpp:
12578 (WebCore::Chrome::repaint):
12579 (WebCore::Chrome::scroll):
12580 * page/Chrome.h:
12581 * page/ChromeClient.h:
12582 * page/EventHandler.cpp:
12583 (WebCore::EventHandler::handleAutoscroll):
12584 * platform/HostWindow.h:
12585 * platform/ScrollView.cpp:
12586 (WebCore::ScrollView::scrollContents):
12587 (WebCore::ScrollView::addPanScrollIcon):
12588 (WebCore::ScrollView::removePanScrollIcon):
12589 * platform/ScrollView.h:
12590 * platform/gtk/ScrollViewGtk.cpp:
12591 * platform/qt/ScrollViewQt.cpp:
12592 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12593 (WebCore::ScrollView::~ScrollView):
12594 * platform/win/ScrollViewWin.cpp:
12595 (WebCore::ScrollView::ScrollView):
12596 (WebCore::ScrollView::~ScrollView):
12597
kevino@webkit.org8ca54f22008-10-02 19:59:35 +0000125982008-10-02 Kevin Ollivier <kevino@theolliviers.com>
12599
12600 wx build fixes after Frame/ScrollView changes.
12601
12602 * WebCoreSources.bkl:
12603 * platform/wx/ScrollViewWx.cpp:
12604 (WebCore::ScrollView::platformContentsToScreen):
12605 (WebCore::ScrollView::platformScreenToContents):
12606 (WebCore::ScrollView::platformIsOffscreen):
12607
brettw@chromium.org83eadcc2008-10-02 19:33:42 +0000126082008-10-02 Brett Wilson <brettw@chromium.org>
12609
12610 Reviewed by Sam Weinig
12611
12612 https://bugs.webkit.org/show_bug.cgi?id=21292
12613
12614 Revert the changes to enclosingIntRect made in r12530 since the new code
12615 doesn't round correctly.
12616
12617 * ChangeLog:
12618 * platform/graphics/FloatRect.cpp:
12619 (WebCore::enclosingIntRect):
12620
mitz@apple.com92dc01a2008-10-02 18:48:33 +0000126212008-10-02 Dan Bernstein <mitz@apple.com>
12622
12623 Reviewed by Anders Carlsson and Eric Seidel.
12624
12625 - fix HTMLCanvaseElement leak from -webkit-canvas() values
12626
12627 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
12628 pointer, as the document owns the canvas elements. Added code to release
12629 those elements in Document::removedLastRef() because they reference
12630 the document.
12631
12632 * css/CSSCanvasValue.cpp:
12633 (WebCore::CSSCanvasValue::element):
12634 * css/CSSCanvasValue.h:
12635 (WebCore::CSSCanvasValue::CSSCanvasValue):
12636 * dom/Document.cpp:
12637 (WebCore::Document::removedLastRef):
12638
ap@webkit.org44e40e42008-10-02 18:39:34 +0000126392008-10-02 Alexey Proskuryakov <ap@webkit.org>
12640
12641 Reviewed by Maciej Stachowiak.
12642
ap@webkit.orgdffca802008-10-02 18:40:40 +000012643 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +000012644
12645 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
12646 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
12647 code is only needed for JS bindings in worker threads.
12648
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +0000126492008-10-01 David Hyatt <hyatt@apple.com>
12650
12651 https://bugs.webkit.org/show_bug.cgi?id=21298
12652
12653 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
12654 will make that cross-platform.
12655
12656 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
12657 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
12658 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
12659
12660 Reviewed by Sam Weinig
12661
12662 * page/FrameView.cpp:
12663 (WebCore::FrameView::windowClipRect):
12664 (WebCore::FrameView::isActive):
12665 * page/FrameView.h:
12666 (WebCore::FrameView::visibleContentsResized):
12667 * platform/PopupMenu.h:
12668 * platform/ScrollView.cpp:
12669 (WebCore::ScrollView::init):
12670 (WebCore::ScrollView::destroy):
12671 (WebCore::ScrollView::setHasHorizontalScrollbar):
12672 (WebCore::ScrollView::setHasVerticalScrollbar):
12673 (WebCore::ScrollView::valueChanged):
12674 (WebCore::ScrollView::updateScrollbars):
12675 (WebCore::ScrollView::scrollContents):
12676 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
12677 (WebCore::ScrollView::platformHandleVerticalAdjustment):
12678 * platform/ScrollView.h:
12679 * platform/Scrollbar.cpp:
12680 (WebCore::Scrollbar::windowClipRect):
12681 * platform/ScrollbarClient.h:
12682 * platform/gtk/ScrollViewGtk.cpp:
12683 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
12684 (WebCore::ScrollView::platformHandleVerticalAdjustment):
12685 * platform/qt/ScrollViewQt.cpp:
12686 (WebCore::ScrollView::scrollContents):
12687 * platform/win/PopupMenuWin.cpp:
12688 (WebCore::PopupMenu::windowClipRect):
12689 * platform/win/ScrollViewWin.cpp:
12690 (WebCore::ScrollView::scrollContents):
12691 * rendering/RenderLayer.cpp:
12692 (WebCore::RenderLayer::windowClipRect):
12693 * rendering/RenderLayer.h:
12694 * rendering/RenderListBox.cpp:
12695 (WebCore::RenderListBox::panScroll):
12696 (WebCore::RenderListBox::windowClipRect):
12697 * rendering/RenderListBox.h:
12698
ap@webkit.org03710832008-10-02 16:18:56 +0000126992008-10-02 Alexey Proskuryakov <ap@webkit.org>
12700
12701 Reviewed by Darin Adler.
12702
12703 https://bugs.webkit.org/show_bug.cgi?id=21304
12704 Stop using a static wrapper map for WebCore JS bindings
12705
12706 The static domObjects map was not thread safe.
12707
12708 * dom/Document.h:
12709 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
12710 ports.
12711 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
12712
12713 * dom/Document.cpp:
12714 (WebCore::Document::createdXMLHttpRequest):
12715 (WebCore::Document::destroyedXMLHttpRequest):
12716 Moved XMLHttpRequest tracking from a global map to Document.
12717
12718 * GNUmakefile.am:
12719 * WebCore.pro:
12720 * WebCore.vcproj/WebCore.vcproj:
12721 * WebCore.xcodeproj/project.pbxproj:
12722 * WebCoreSources.bkl:
12723 * webcore-base.bkl:
12724 * bindings/DOMProtect.cpp: Removed.
12725 * bindings/DOMProtect.h: Removed.
12726 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
12727 so they can no longer protect bindings objects.
12728
12729 * dom/MessagePort.cpp:
12730 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
12731 (WebCore::CloseMessagePortTimer::fired):
12732 (WebCore::MessagePort::MessagePort):
12733 (WebCore::MessagePort::queueCloseEvent):
12734 (WebCore::MessagePort::setPendingActivity):
12735 (WebCore::MessagePort::unsetPendingActivity):
12736 * dom/MessagePort.h:
12737 (WebCore::MessagePort::hasPendingActivity):
12738 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
12739 to protect it.
12740
12741 * xml/XMLHttpRequest.h:
12742 (WebCore::XMLHttpRequest::hasPendingActivity):
12743 * xml/XMLHttpRequest.cpp:
12744 (WebCore::XMLHttpRequest::XMLHttpRequest):
12745 (WebCore::XMLHttpRequest::~XMLHttpRequest):
12746 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
12747 (WebCore::XMLHttpRequest::dropProtection):
12748 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
12749 (WebCore::XMLHttpRequest::cancelRequests):
12750 (WebCore::XMLHttpRequest::detachRequests):
12751 (WebCore::XMLHttpRequest::setPendingActivity):
12752 (WebCore::XMLHttpRequest::unsetPendingActivity):
12753 Moved XMLHttpRequest tracking from a global map to Document.
12754
12755 * bindings/js/JSDOMBinding.cpp:
12756 (WebCore::wrapperSet):
12757 (WebCore::DOMObjectWrapperMap::mapFor):
12758 (WebCore::DOMObjectWrapperMap::get):
12759 (WebCore::DOMObjectWrapperMap::set):
12760 (WebCore::DOMObjectWrapperMap::remove):
12761 (WebCore::getCachedDOMObjectWrapper):
12762 (WebCore::cacheDOMObjectWrapper):
12763 (WebCore::forgetDOMObject):
12764 (WebCore::getCachedDOMNodeWrapper):
12765 (WebCore::forgetDOMNode):
12766 (WebCore::cacheDOMNodeWrapper):
12767 (WebCore::markActiveObjectsForDocument):
12768 * bindings/js/JSDOMBinding.h:
12769 (WebCore::createDOMObjectWrapper):
12770 (WebCore::getDOMObjectWrapper):
12771 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
12772 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
12773 WebCore objects can never migrate between threads.
12774
12775 * bindings/js/JSDocumentCustom.cpp:
12776 (WebCore::JSDocument::mark):
12777 Call markActiveObjectsForDocument() from JSDOMBinding.
12778
12779 * bindings/js/JSCSSRuleCustom.cpp:
12780 (WebCore::toJS):
12781 * bindings/js/JSCSSValueCustom.cpp:
12782 (WebCore::toJS):
12783 * bindings/js/JSDOMWindowCustom.cpp:
12784 (WebCore::markDOMObjectWrapper):
12785 (WebCore::JSDOMWindow::mark):
12786 * bindings/js/JSEventCustom.cpp:
12787 (WebCore::toJS):
12788 * bindings/js/JSEventTarget.cpp:
12789 (WebCore::toJS):
12790 * bindings/js/JSHTMLCollectionCustom.cpp:
12791 (WebCore::toJS):
12792 * bindings/js/JSImageDataCustom.cpp:
12793 (WebCore::toJS):
12794 * bindings/js/JSMessageChannelCustom.cpp:
12795 (WebCore::JSMessageChannel::mark):
12796 * bindings/js/JSMessagePortCustom.cpp:
12797 (WebCore::JSMessagePort::mark):
12798 * bindings/js/JSNodeCustom.cpp:
12799 (WebCore::JSNode::mark):
12800 * bindings/js/JSSVGPathSegCustom.cpp:
12801 (WebCore::toJS):
12802 * bindings/js/JSStyleSheetCustom.cpp:
12803 (WebCore::toJS):
12804 * bindings/js/JSXMLHttpRequestCustom.cpp:
12805 (WebCore::JSXMLHttpRequest::mark):
12806 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
12807 (WebCore::JSXMLHttpRequestUpload::mark):
12808 * bindings/js/ScriptController.cpp:
12809 (WebCore::ScriptController::finishedWithEvent):
12810 * bindings/scripts/CodeGeneratorJS.pm:
12811 Pass a JSGlobalData reference to functions that track JS wrapper objects.
12812
mitz@apple.coma2b6b112008-10-02 07:52:29 +0000128132008-10-02 Dan Bernstein <mitz@apple.com>
12814
12815 - build fix
12816
12817 * page/JavaScriptCallFrame.idl:
12818
oliver@apple.com619d60b92008-10-02 07:35:21 +0000128192008-10-02 Oliver Hunt <oliver@apple.com>
12820
12821 Reviewed by NOBODY (Build fix).
12822
12823 Add new file to project files
12824
12825 * GNUmakefile.am:
12826 * WebCore.pro:
12827 * WebCore.vcproj/WebCore.vcproj:
12828
ggaren@apple.comdf2fda82008-10-02 07:13:43 +0000128292008-10-02 Geoffrey Garen <ggaren@apple.com>
12830
12831 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +000012832
12833 Try to fix some more builds.
12834
12835 * GNUmakefile.am:
12836 * WebCore.pro:
12837
128382008-10-02 Geoffrey Garen <ggaren@apple.com>
12839
12840 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000012841
12842 Try to fix Windows build.
12843
12844 * WebCore.vcproj/WebCore.vcproj:
12845
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +0000128462008-10-01 Geoffrey Garen <ggaren@apple.com>
12847
12848 Reviewed by Darin Adler and Cameron Zwarich.
12849
12850 Updated for JavaScriptCore API changes: use a SourceCode instead of
12851 broken out parameters; treat sourceId as intptr_t.
12852
12853 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
12854 * bindings/js/JSXMLHttpRequestCustom.cpp:
12855 (WebCore::JSXMLHttpRequest::send):
12856 * bindings/js/ScriptController.cpp:
12857 (WebCore::ScriptController::evaluate):
12858 * bindings/js/StringSourceProvider.h:
12859 (WebCore::StringSourceProvider::create):
12860 (WebCore::StringSourceProvider::StringSourceProvider):
12861
12862 (WebCore::makeSource): Added a makeSource function for convenience.
12863
12864 * bindings/objc/WebScriptObject.mm:
12865 (-[WebScriptObject evaluateWebScript:]):
12866 * bridge/NP_jsobject.cpp:
12867 (_NPN_Evaluate):
12868 * bridge/jni/jni_jsobject.mm:
12869 (JavaJSObject::call):
12870 (JavaJSObject::eval):
12871 (JavaJSObject::getMember):
12872 (JavaJSObject::setMember):
12873 (JavaJSObject::removeMember):
12874
12875 * bridge/jni/jni_runtime.h:
12876 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
12877 ustring() function with an implicit operator because this class already
12878 holds a UString::rep.
12879
12880 * page/Console.cpp:
12881 (WebCore::retrieveLastCaller):
12882 (WebCore::Console::trace):
12883 * page/InspectorController.cpp:
12884 (WebCore::jsStringRef):
12885 (WebCore::InspectorController::addBreakpoint):
12886 (WebCore::InspectorController::removeBreakpoint):
12887 (WebCore::InspectorController::didParseSource):
12888 (WebCore::InspectorController::failedToParseSource):
12889 * page/InspectorController.h:
12890 * page/JavaScriptCallFrame.cpp:
12891 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
12892 * page/JavaScriptCallFrame.h:
12893 (WebCore::JavaScriptCallFrame::create):
12894 (WebCore::JavaScriptCallFrame::sourceIdentifier):
12895 (WebCore::JavaScriptCallFrame::update):
12896 * page/JavaScriptDebugListener.h:
12897 * page/JavaScriptDebugServer.cpp:
12898 (WebCore::JavaScriptDebugServer::addBreakpoint):
12899 (WebCore::JavaScriptDebugServer::removeBreakpoint):
12900 (WebCore::JavaScriptDebugServer::hasBreakpoint):
12901 (WebCore::dispatchDidParseSource):
12902 (WebCore::dispatchFailedToParseSource):
12903 (WebCore::JavaScriptDebugServer::sourceParsed):
12904 (WebCore::JavaScriptDebugServer::callEvent):
12905 (WebCore::JavaScriptDebugServer::atStatement):
12906 (WebCore::JavaScriptDebugServer::returnEvent):
12907 (WebCore::JavaScriptDebugServer::exception):
12908 (WebCore::JavaScriptDebugServer::willExecuteProgram):
12909 (WebCore::JavaScriptDebugServer::didExecuteProgram):
12910 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
12911 * page/JavaScriptDebugServer.h:
12912 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
12913 sourceIdentifier to sourceID.
12914
mitz@apple.com7a7f3142008-10-02 06:08:15 +0000129152008-10-01 Dan Bernstein <mitz@apple.com>
12916
12917 Reviewed by Geoffrey Garen.
12918
12919 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
12920
12921 Broke a ref cycle by changing the m_svgFontFaceElement members of
12922 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
12923 pointers. Also made sure that the @font-face rule added by
12924 SVGFontFaceElement to the document's mapped element sheet is removed
12925 when the font-face element is deleted or moved to another document.
12926
12927 * css/CSSFontFaceSource.cpp:
12928 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
12929 (WebCore::CSSFontFaceSource::getFontData):
12930 * css/CSSFontFaceSource.h:
12931 (WebCore::CSSFontFaceSource::svgFontFaceElement):
12932 * css/CSSFontFaceSrcValue.h:
12933 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
12934 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
12935 * svg/SVGFontFaceElement.cpp:
12936 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
12937 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
12938 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
12939 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
12940 * svg/SVGFontFaceElement.h:
12941
oliver@apple.comd3de8f32008-10-02 05:02:00 +0000129422008-10-01 Oliver Hunt <oliver@apple.com>
12943
12944 Reviewed by Maciej Stachowiak.
12945
12946 Bug 20315: Memory leak with Canvas getImageData
12947 <https://bugs.webkit.org/show_bug.cgi?id=20315>
12948
12949 This wasn't a leak, the issue was that we were reporting the cost
12950 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
12951 and we should have been reporting the cost when we create the
12952 JSImageData wrapper.
12953
12954 * WebCore.xcodeproj/project.pbxproj:
12955 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
12956 This was only needed to report the extra memory cost
12957 of the CPA.
12958 * bindings/js/JSImageDataCustom.cpp:
12959 (WebCore::toJS):
12960 We need a custom toJS function now so that we can report
12961 the extra memory cost.
12962 * bindings/scripts/CodeGeneratorJS.pm:
12963 Need to replace the reference to CanvasPixelArray with ImageData
12964 to be able to create the custom toJS implementation.
12965 * html/CanvasPixelArray.idl:
12966 * html/ImageData.idl:
12967
mitz@apple.come0642ce2008-10-02 04:54:06 +0000129682008-10-01 Dan Bernstein <mitz@apple.com>
12969
12970 Reviewed by Mark Rowe.
12971
12972 - https://bugs.webkit.org/show_bug.cgi?id=21293
12973 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
12974
12975 * svg/SVGMarkerElement.cpp:
12976 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
12977 that renderer destruction happens before the SVGMarkerElement is
12978 destroyed.
12979 * svg/SVGSVGElement.cpp:
12980 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
12981
eric@webkit.orgbe40b812008-10-02 01:43:16 +0000129822008-10-01 Evan Martin <evan@chromium.org>
12983
12984 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +000012985
12986 https://bugs.webkit.org/show_bug.cgi?id=20669
12987
12988 * css/makeprop.pl:
12989 Die if gperf fails.
12990
129912008-10-01 Evan Martin <evan@chromium.org>
12992
12993 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +000012994
12995 * loader/icon/IconDatabase.h:
12996 IconDatabase uses HashMap, so it needs to #include the header.
12997
mitz@apple.com0ff2a012008-10-02 00:48:54 +0000129982008-10-01 Dan Bernstein <mitz@apple.com>
12999
13000 Reviewed by Mark Rowe.
13001
mitz@apple.comca0080b2008-10-02 01:35:05 +000013002 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
13003
13004 * loader/Cache.cpp:
13005 (WebCore::Cache::remove): Disable pruning temporarily during
13006 CachedResource deletion.
13007
130082008-10-01 Dan Bernstein <mitz@apple.com>
13009
13010 Reviewed by Mark Rowe.
13011
mitz@apple.com0ff2a012008-10-02 00:48:54 +000013012 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
13013
13014 * svg/SVGFontFaceElement.cpp:
13015 (WebCore::SVGFontFaceElement::rebuildFontFace):
13016 * svg/SVGFontFaceElement.h:
13017 (WebCore::SVGFontFaceElement::associatedFontElement):
13018
brettw@chromium.org87b0e122008-10-01 22:34:16 +0000130192008-10-01 Brett Wilson <brettw@chromium.org>
13020
13021 Reviewed by Maciej Stachowiak.
13022
13023 Document the rounding behavior of the mapRect(IntRect) function in
13024 AffineTransform.h.
13025
13026 * platform/graphics/AffineTransform.h:
13027
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +0000130282008-10-01 David Hyatt <hyatt@apple.com>
13029
13030 Move prohibitsScrolling from the Frame to the ScrollView.
13031
13032 Reviewed by Sam Weinig
13033
13034 * WebCore.base.exp:
13035 * page/Frame.cpp:
13036 (WebCore::FramePrivate::FramePrivate):
13037 * page/Frame.h:
13038 * page/FramePrivate.h:
13039 * page/FrameView.cpp:
13040 (WebCore::FrameView::scrollRectIntoViewRecursively):
13041 (WebCore::FrameView::setScrollPosition):
13042 * platform/ScrollView.cpp:
13043 (WebCore::ScrollView::init):
13044 (WebCore::ScrollView::scrollRectIntoViewRecursively):
13045 (WebCore::ScrollView::setScrollPosition):
13046 * platform/ScrollView.h:
13047 (WebCore::ScrollView::setProhibitsScrolling):
13048 (WebCore::ScrollView::prohibitsScrolling):
13049 * platform/gtk/ScrollViewGtk.cpp:
13050 (WebCore::ScrollView::updateScrollbars):
13051 * platform/qt/ScrollViewQt.cpp:
13052 (WebCore::ScrollView::updateScrollbars):
13053 * platform/win/ScrollViewWin.cpp:
13054 (WebCore::ScrollView::updateScrollbars):
13055
mrowe@apple.combffe15d2008-10-01 22:24:37 +0000130562008-10-01 Mark Rowe <mrowe@apple.com>
13057
13058 Reviewed by Geoff Garen.
13059
13060 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
13061
13062 * xml/XMLHttpRequest.cpp:
13063 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
13064 that we do during the loadRequestAsynchronously of the preflight request with a deref and
13065 GC unprotect.
13066
hyatt@apple.com2f029122008-10-01 22:12:23 +0000130672008-10-01 David Hyatt <hyatt@apple.com>
13068
13069 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
13070 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
13071
13072 Reviewed by Tim Hatcher
13073
13074 * WebCore.base.exp:
13075 * page/FrameView.cpp:
13076 (WebCore::FrameView::setCanHaveScrollbars):
13077 * page/FrameView.h:
13078 * platform/ScrollView.cpp:
13079 (WebCore::ScrollView::setCanHaveScrollbars):
13080 (WebCore::ScrollView::wheelEvent):
13081 * platform/ScrollView.h:
13082 (WebCore::ScrollView::canHaveScrollbars):
13083
mitz@apple.combebfaae2008-10-01 21:19:41 +0000130842008-10-01 Dan Bernstein <mitz@apple.com>
13085
13086 Reviewed by Mark Rowe.
13087
13088 - fix some CachedResource leaks seen on buildbot
13089
13090 The issue here was that emptying the cache was a no-op when it only
13091 contained resources with no data. Changed to go after those
13092 resources when the desired cache capacity is zero.
13093
13094 * loader/Cache.cpp:
13095 (WebCore::Cache::pruneLiveResources):
13096 (WebCore::Cache::pruneDeadResources):
13097 * loader/Cache.h:
13098 (WebCore::Cache::prune):
13099
hyatt@apple.come72b16e2008-10-01 20:58:19 +0000131002008-10-01 David Hyatt <hyatt@apple.com>
13101
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +000013102 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
13103 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
13104
13105 Reviewed by Adam Roben
13106
13107 * platform/ScrollView.cpp:
13108 (WebCore::ScrollView::isOffscreen):
13109 (WebCore::ScrollView::platformIsOffscreen):
13110 * platform/ScrollView.h:
13111 * platform/gtk/ScrollViewGtk.cpp:
13112 * platform/mac/ScrollViewMac.mm:
13113 (WebCore::ScrollView::platformIsOffscreen):
13114 * platform/qt/ScrollViewQt.cpp:
13115 * platform/wx/ScrollViewWx.cpp:
13116
131172008-10-01 David Hyatt <hyatt@apple.com>
13118
hyatt@apple.come72b16e2008-10-01 20:58:19 +000013119 Make show/hide/setParentVisible cross-platform on ScrollView.
13120
13121 Reviewed by Adam Roben
13122
13123 * platform/ScrollView.cpp:
13124 (WebCore::ScrollView::setParentVisible):
13125 (WebCore::ScrollView::show):
13126 (WebCore::ScrollView::hide):
13127 * platform/ScrollView.h:
13128 * platform/win/ScrollViewWin.cpp:
13129
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +0000131302008-10-01 Kevin McCullough <kmccullough@apple.com>
13131
13132 Reviewed by Dan Bernstein.
13133
13134 https://bugs.webkit.org/show_bug.cgi?id=21284
13135 Bug 21284: Max height affects max width
13136 - Looks like a cut and paste bug
13137 - Added layout test fast/css/max-height-and-max-width.html
13138
13139 * css/CSSComputedStyleDeclaration.cpp:
13140 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
13141
hyatt@apple.comfe9c1302008-10-01 20:34:07 +0000131422008-10-01 David Hyatt <hyatt@apple.com>
13143
13144 https://bugs.webkit.org/show_bug.cgi?id=21282
13145
13146 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
13147
13148 Reviewed by Adam Roben
13149
13150 * loader/EmptyClients.h:
13151 (WebCore::EmptyChromeClient::screenToWindow):
13152 (WebCore::EmptyChromeClient::windowToScreen):
13153 * page/Chrome.cpp:
13154 (WebCore::Chrome::screenToWindow):
13155 (WebCore::Chrome::windowToScreen):
13156 * page/Chrome.h:
13157 * page/ChromeClient.h:
13158 * platform/HostWindow.h:
13159 * platform/ScrollView.cpp:
13160 (WebCore::ScrollView::contentsToScreen):
13161 (WebCore::ScrollView::screenToContents):
13162 (WebCore::ScrollView::platformContentsToScreen):
13163 (WebCore::ScrollView::platformScreenToContents):
13164 * platform/ScrollView.h:
13165 * platform/mac/ScrollViewMac.mm:
13166 (WebCore::ScrollView::platformContentsToScreen):
13167 (WebCore::ScrollView::platformScreenToContents):
13168 * platform/win/ScrollViewWin.cpp:
13169
mitz@apple.comf2ee2052008-10-01 20:31:19 +0000131702008-10-01 Dan Bernstein <mitz@apple.com>
13171
13172 Reviewed by Darin Adler.
13173
13174 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
13175
13176 Test: fast/parser/residual-style-close-across-removed-block.html
13177
13178 * html/HTMLParser.cpp:
13179 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
13180 an assertion that turned out to be wrong in this case, and changed to
13181 terminate the algorithm at the first empty block.
13182
hyatt@apple.comc5a54f42008-10-01 19:23:05 +0000131832008-10-01 David Hyatt <hyatt@apple.com>
13184
13185 Make setFrameRect on ScrollView cross-platform.
13186
13187 Reviewed by Sam Weinig
13188
13189 * page/FrameView.h:
13190 (WebCore::FrameView::contentsResized):
13191 * platform/ScrollView.cpp:
13192 (WebCore::ScrollView::setFrameRect):
13193 * platform/ScrollView.h:
13194 * platform/gtk/ScrollViewGtk.cpp:
13195 * platform/qt/ScrollViewQt.cpp:
13196 * platform/win/ScrollViewWin.cpp:
13197
weinig@apple.comab5c0172008-10-01 19:17:01 +0000131982008-10-01 Sam Weinig <sam@webkit.org>
13199
13200 Reviewed by Adele Peterson.
13201
13202 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
13203 to JSDOMWindow from JSDOMWindowBase.
13204
13205 * WebCore.xcodeproj/project.pbxproj:
13206 * bindings/js/JSDOMWindowBase.cpp:
13207 (WebCore::JSDOMWindowBase::removeTimeout):
13208 * bindings/js/JSDOMWindowBase.h:
13209 * bindings/js/JSDOMWindowCustom.cpp:
13210 (WebCore::setTimeoutOrInterval):
13211 (WebCore::JSDOMWindow::setTimeout):
13212 (WebCore::JSDOMWindow::clearTimeout):
13213 (WebCore::JSDOMWindow::setInterval):
13214 (WebCore::JSDOMWindow::clearInterval):
13215 (WebCore::JSDOMWindow::atob):
13216 (WebCore::JSDOMWindow::btoa):
13217 * page/DOMWindow.idl:
13218
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +0000132192008-10-01 Dan Bernstein <mitz@apple.com>
13220
13221 - Mac build fix
13222
13223 * WebCore.base.exp:
13224
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +0000132252008-10-01 Timothy Hatcher <timothy@apple.com>
13226
13227 Prevent stealing focus from the search field when focusing a DOM node.
13228
13229 https://bugs.webkit.org/show_bug.cgi?id=21275
13230
13231 Reviewed by Kevin McCullough.
13232
13233 * page/inspector/ElementsPanel.js:
13234 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
13235 Don't steal focus if the current focus element is the search field.
13236
weinig@apple.com841594d2008-10-01 07:27:49 +0000132372008-09-30 Sam Weinig <sam@webkit.org>
13238
13239 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
13240
13241 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
13242 Autogenerate JS event listeners
13243
13244 - Generate getting/setting of EventListeners.
13245
13246 - Adding a new named EventListener now has the same process as adding any other DOM
13247 attribute. (Add a method with the same name in the c++ file).
13248
13249 (The EventListeners for MessagePort have been intentionally left custom so that we
13250 can continue to experiment with making those EventListeners work in a frame-less world.)
13251
13252 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
13253 * bindings/js/JSDOMWindowCustom.cpp: ditto.
13254 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
13255 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
13256 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
13257 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
13258 getter/setters
13259 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
13260 * dom/EventTargetNode.h: ditto.
13261 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
13262 will use JSEventListerner instead of JSUnprotectedEventListener.
13263 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
13264 * page/DOMWindow.cpp: Add getter/setters for named EventListener
13265 * page/DOMWindow.h: ditto.
13266 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
13267 will use JSEventListerner instead of JSUnprotectedEventListener.
13268 * xml/XMLHttpRequest.idl: Remove custom attributes.
13269 * xml/XMLHttpRequestUpload.idl: ditto.
13270
mrowe@apple.comfed78312008-10-01 06:53:49 +0000132712008-09-30 Mark Rowe <mrowe@apple.com>
13272
13273 Reviewed by Dan Bernstein.
13274
13275 Add a leak counter for CachedResources since we've had two recent leaks involving them.
13276
13277 * loader/CachedResource.cpp:
13278 (WebCore::CachedResource::CachedResource):
13279 (WebCore::CachedResource::~CachedResource):
13280
mitz@apple.com19b93112008-10-01 06:25:17 +0000132812008-09-30 Dan Bernstein <mitz@apple.com>
13282
13283 Reviewed by Dave Hyatt.
13284
13285 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
13286 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
13287
13288 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
13289 the font name in memory.
13290
13291 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
13292 OpenTypeUtilities.*.
13293
13294 * platform/graphics/win/FontCustomPlatformData.cpp:
13295 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
13296 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
13297 used.
13298 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
13299 for fonts loaded using AddFontMemResourceEx.
13300 (WebCore::createFontCustomPlatformData): Added a call to
13301 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
13302 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
13303 fontPlatformData() will retrieve the name from the font reference.
13304
13305 * platform/graphics/win/FontCustomPlatformData.h:
13306 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
13307 font name member.
13308
13309 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
13310 * platform/graphics/win/GetEOTHeader.h: Renamed.
13311
13312 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
13313 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
13314 (WebCore::BigEndianULong::BigEndianULong): Ditto.
13315 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
13316 the font data and modifies it to have the given name, then activates
13317 it using AddFontMemResourceEx.
13318
13319 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
13320
mrowe@apple.com12cb8c22008-10-01 06:09:28 +0000133212008-09-30 Mark Rowe <mrowe@apple.com>
13322
13323 Reviewed by Dan Bernstein.
13324
13325 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
13326
13327 * rendering/RenderObject.cpp:
13328 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
13329 with calls to removeClient when we're being destroyed.
13330
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +0000133312008-09-30 Eric Carlson <eric.carlson@apple.com>
13332
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000013333 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000013334
13335 https://bugs.webkit.org/show_bug.cgi?id=21243
13336
13337 Fix loopstart and loopend default values.
13338
13339 Tests: media/loopend-limits.html
13340 media/loopstart-limits.html
13341
13342 * html/HTMLMediaElement.cpp:
13343 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
13344 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
13345
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +0000133462008-09-30 Kevin Ollivier <kevino@theolliviers.com>
13347
13348 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
13349
13350 * WebCoreSources.bkl:
13351 * platform/wx/ScrollViewWx.cpp:
13352 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
13353
mitz@apple.com17145582008-10-01 04:43:07 +0000133542008-09-30 Dan Bernstein <mitz@apple.com>
13355
13356 Reviewed by Sam Weinig.
13357
13358 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
13359 was fixed in r17249 and re-introduced in r31435.
13360
13361 * html/HTMLViewSourceDocument.cpp:
13362 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
13363 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
13364 (WebCore::HTMLViewSourceDocument::addLine):
13365 (WebCore::HTMLViewSourceDocument::addLink):
13366 * html/HTMLViewSourceDocument.h:
13367
weinig@apple.com42d87a62008-10-01 00:39:19 +0000133682008-09-30 Sam Weinig <sam@webkit.org>
13369
13370 Reviewed by Eric Seidel.
13371
13372 More for https://bugs.webkit.org/show_bug.cgi?id=21122
13373 Autogenerate JS event listeners
13374
13375 - Make EventListener getter/setters names in c++ files match those in
13376 JS (ie. onLoadListener -> onload).
13377 - Add standard way to access the frame associated with the EventTarget
13378 for EventListener lookup.
13379 - Autogenerate dispatchEvent, it wasn't doing anything custom.
13380
13381 * bindings/js/JSDOMApplicationCacheCustom.cpp:
13382 (WebCore::JSDOMApplicationCache::mark):
13383 (WebCore::JSDOMApplicationCache::addEventListener):
13384 (WebCore::JSDOMApplicationCache::removeEventListener):
13385 (WebCore::JSDOMApplicationCache::setOnchecking):
13386 (WebCore::JSDOMApplicationCache::onchecking):
13387 (WebCore::JSDOMApplicationCache::setOnerror):
13388 (WebCore::JSDOMApplicationCache::onerror):
13389 (WebCore::JSDOMApplicationCache::setOnnoupdate):
13390 (WebCore::JSDOMApplicationCache::onnoupdate):
13391 (WebCore::JSDOMApplicationCache::setOndownloading):
13392 (WebCore::JSDOMApplicationCache::ondownloading):
13393 (WebCore::JSDOMApplicationCache::setOnprogress):
13394 (WebCore::JSDOMApplicationCache::onprogress):
13395 (WebCore::JSDOMApplicationCache::setOnupdateready):
13396 (WebCore::JSDOMApplicationCache::onupdateready):
13397 (WebCore::JSDOMApplicationCache::setOncached):
13398 (WebCore::JSDOMApplicationCache::oncached):
13399 * bindings/js/JSEventTargetNodeCustom.cpp:
13400 (WebCore::JSEventTargetNode::addEventListener):
13401 (WebCore::JSEventTargetNode::removeEventListener):
13402 (WebCore::JSEventTargetNode::getListener):
13403 (WebCore::JSEventTargetNode::setListener):
13404 * bindings/js/JSMessagePortCustom.cpp:
13405 (WebCore::JSMessagePort::mark):
13406 (WebCore::JSMessagePort::addEventListener):
13407 (WebCore::JSMessagePort::removeEventListener):
13408 (WebCore::JSMessagePort::setOnmessage):
13409 (WebCore::JSMessagePort::onmessage):
13410 (WebCore::JSMessagePort::setOnclose):
13411 (WebCore::JSMessagePort::onclose):
13412 * bindings/js/JSXMLHttpRequestCustom.cpp:
13413 (WebCore::JSXMLHttpRequest::mark):
13414 (WebCore::JSXMLHttpRequest::onreadystatechange):
13415 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
13416 (WebCore::JSXMLHttpRequest::onabort):
13417 (WebCore::JSXMLHttpRequest::setOnabort):
13418 (WebCore::JSXMLHttpRequest::onerror):
13419 (WebCore::JSXMLHttpRequest::setOnerror):
13420 (WebCore::JSXMLHttpRequest::onload):
13421 (WebCore::JSXMLHttpRequest::setOnload):
13422 (WebCore::JSXMLHttpRequest::onloadstart):
13423 (WebCore::JSXMLHttpRequest::setOnloadstart):
13424 (WebCore::JSXMLHttpRequest::onprogress):
13425 (WebCore::JSXMLHttpRequest::setOnprogress):
13426 (WebCore::JSXMLHttpRequest::addEventListener):
13427 (WebCore::JSXMLHttpRequest::removeEventListener):
13428 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13429 (WebCore::JSXMLHttpRequestUpload::mark):
13430 (WebCore::JSXMLHttpRequestUpload::onabort):
13431 (WebCore::JSXMLHttpRequestUpload::setOnabort):
13432 (WebCore::JSXMLHttpRequestUpload::onerror):
13433 (WebCore::JSXMLHttpRequestUpload::setOnerror):
13434 (WebCore::JSXMLHttpRequestUpload::onload):
13435 (WebCore::JSXMLHttpRequestUpload::setOnload):
13436 (WebCore::JSXMLHttpRequestUpload::onloadstart):
13437 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
13438 (WebCore::JSXMLHttpRequestUpload::onprogress):
13439 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
13440 (WebCore::JSXMLHttpRequestUpload::addEventListener):
13441 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
13442 * bindings/scripts/CodeGeneratorJS.pm:
13443 * dom/EventTarget.h:
13444 * dom/EventTargetNode.cpp:
13445 (WebCore::EventTargetNode::associatedFrame):
13446 * dom/EventTargetNode.h:
13447 * dom/EventTargetNode.idl:
13448 * dom/MessagePort.cpp:
13449 (WebCore::MessagePort::associatedFrame):
13450 * dom/MessagePort.h:
13451 (WebCore::MessagePort::setOnmessage):
13452 (WebCore::MessagePort::onmessage):
13453 (WebCore::MessagePort::setOnclose):
13454 (WebCore::MessagePort::onclose):
13455 * dom/MessagePort.idl:
13456 * loader/appcache/DOMApplicationCache.h:
13457 (WebCore::DOMApplicationCache::setOnchecking):
13458 (WebCore::DOMApplicationCache::onchecking):
13459 (WebCore::DOMApplicationCache::setOnerror):
13460 (WebCore::DOMApplicationCache::onerror):
13461 (WebCore::DOMApplicationCache::setOnnoupdate):
13462 (WebCore::DOMApplicationCache::onnoupdate):
13463 (WebCore::DOMApplicationCache::setOndownloading):
13464 (WebCore::DOMApplicationCache::ondownloading):
13465 (WebCore::DOMApplicationCache::setOnprogress):
13466 (WebCore::DOMApplicationCache::onprogress):
13467 (WebCore::DOMApplicationCache::setOnupdateready):
13468 (WebCore::DOMApplicationCache::onupdateready):
13469 (WebCore::DOMApplicationCache::setOncached):
13470 (WebCore::DOMApplicationCache::oncached):
13471 (WebCore::DOMApplicationCache::associatedFrame):
13472 * loader/appcache/DOMApplicationCache.idl:
13473 * svg/EventTargetSVGElementInstance.cpp:
13474 (WebCore::EventTargetSVGElementInstance::associatedFrame):
13475 (WebCore::EventTargetSVGElementInstance::addEventListener):
13476 (WebCore::EventTargetSVGElementInstance::removeEventListener):
13477 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13478 * svg/EventTargetSVGElementInstance.h:
13479 * xml/XMLHttpRequest.cpp:
13480 (WebCore::XMLHttpRequest::associatedFrame):
13481 * xml/XMLHttpRequest.h:
13482 (WebCore::XMLHttpRequest::setOnreadystatechange):
13483 (WebCore::XMLHttpRequest::onreadystatechange):
13484 (WebCore::XMLHttpRequest::setOnabort):
13485 (WebCore::XMLHttpRequest::onabort):
13486 (WebCore::XMLHttpRequest::setOnerror):
13487 (WebCore::XMLHttpRequest::onerror):
13488 (WebCore::XMLHttpRequest::setOnload):
13489 (WebCore::XMLHttpRequest::onload):
13490 (WebCore::XMLHttpRequest::setOnloadstart):
13491 (WebCore::XMLHttpRequest::onloadstart):
13492 (WebCore::XMLHttpRequest::setOnprogress):
13493 (WebCore::XMLHttpRequest::onprogress):
13494 * xml/XMLHttpRequest.idl:
13495 * xml/XMLHttpRequestUpload.cpp:
13496 (WebCore::XMLHttpRequestUpload::associatedFrame):
13497 * xml/XMLHttpRequestUpload.h:
13498 (WebCore::XMLHttpRequestUpload::setOnabort):
13499 (WebCore::XMLHttpRequestUpload::onabort):
13500 (WebCore::XMLHttpRequestUpload::setOnerror):
13501 (WebCore::XMLHttpRequestUpload::onerror):
13502 (WebCore::XMLHttpRequestUpload::setOnload):
13503 (WebCore::XMLHttpRequestUpload::onload):
13504 (WebCore::XMLHttpRequestUpload::setOnloadstart):
13505 (WebCore::XMLHttpRequestUpload::onloadstart):
13506 (WebCore::XMLHttpRequestUpload::setOnprogress):
13507 (WebCore::XMLHttpRequestUpload::onprogress):
13508 * xml/XMLHttpRequestUpload.idl:
13509
darin@apple.com9451b7f2008-10-01 00:38:06 +0000135102008-09-30 Darin Adler <darin@apple.com>
13511
13512 - roll out assertion breaking regression tests
13513
13514 * platform/ScrollView.cpp:
13515 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
13516 that fires in regression tests. Hyatt can add it back later. The assertion
13517 fires in the regression test because of layout that triggers repaint occuring
13518 during the process of removing a frame.
13519
adele@apple.comed74a6e2008-09-30 23:21:50 +0000135202008-09-30 Adele Peterson <adele@apple.com>
13521
13522 Reviewed by Darin Adler.
13523
13524 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
13525 <rdar://problem/6222134> add a way to set color for input placeholder text
13526
13527 Test: fast/forms/placeholder-pseudo-style.html
13528
13529 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
13530 input elements when they are displaying the placeholder text.
13531
13532 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
13533 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
13534 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13535 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
13536 * css/html4.css: Add rule to make placeholder text default to darkGray.
13537
13538 * html/HTMLInputElement.cpp:
13539 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
13540 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
13541 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
13542 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
13543 (WebCore::HTMLInputElement::setValue): ditto.
13544 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
13545 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
13546 This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
13547 renderer will just ask the node if it should draw the placeholder.
13548 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
13549
13550 * rendering/RenderTextControl.cpp:
13551 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
13552 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
13553 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
13554 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
13555 This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
13556 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
13557 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
13558 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
13559 * rendering/RenderTextControl.h:
13560
bdakin@apple.com31845c52008-09-30 23:19:53 +0000135612008-09-30 Beth Dakin <bdakin@apple.com>
13562
13563 Reviewed by Darin Adler.
13564
13565 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
13566 by failed allocation due to invalid counter/attr
13567 and corresponding: <rdar://problem/6152371>
13568
13569 * css/CSSParser.cpp:
13570 (WebCore::CSSParser::parseCounterContent): The spec indicates that
13571 only identifiers should be accepted here.
13572
kmccullough@apple.com86834eb2008-09-30 22:31:46 +0000135732008-09-30 Kevin McCullough <kmccullough@apple.com>
13574
kmccullough@apple.com88219342008-09-30 22:33:30 +000013575 Reviewed by Oliver Hunt.
13576
13577 Bug 21255: console.profileEnd() without a console.profile() crashes the
13578 web inspector
13579
13580 * page/Console.cpp:
13581 (WebCore::Console::profileEnd):
13582
135832008-09-30 Kevin McCullough <kmccullough@apple.com>
13584
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000013585 Reviewed by Tim Hatcher.
13586
13587 Bug 21252: calling console.profile() with a title that is 2 chars or
13588 shorter does not linkify it
13589
13590 - Previously we tried to not linkify very short URLs but since profile
13591 titles can be any length this is not always true.
13592
13593 * page/inspector/inspector.js:
13594
hyatt@apple.comda9b3072008-09-30 21:30:56 +0000135952008-09-30 Dave Hyatt <hyatt@apple.com>
13596
13597 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
13598 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
13599 (1) Not used on Mac
13600 (2) Used on Windows
13601 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
13602 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
13603 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
13604
13605 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
13606 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
13607 With the changes to this method, the new behavior is as follows:
13608 (1) Not used on Mac
13609 (2) Used on Windows
13610 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
13611 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
13612 (5) Not used on wx
13613
13614 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
13615 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
13616
13617 Reviewed by Sam Weinig
13618
13619 * ChangeLog:
13620 * dom/Document.cpp:
13621 (WebCore::Document::implicitClose):
13622 * platform/HostWindow.h:
13623 (WebCore::HostWindow::paint):
13624 * platform/ScrollView.h:
13625 * platform/gtk/ScrollViewGtk.cpp:
13626 * platform/mac/ScrollViewMac.mm:
13627 * platform/qt/ScrollViewQt.cpp:
13628 * platform/win/ScrollViewWin.cpp:
13629 * platform/wx/ScrollViewWx.cpp:
13630
timothy@apple.com92560da2008-09-30 20:57:49 +0000136312008-09-30 Timothy Hatcher <timothy@apple.com>
13632
timothy@apple.com26fefbf2008-09-30 20:57:55 +000013633 Focus the DOM tree in the Web Inspector when a node is inspected.
13634 So when the search field has focus, the focus moves to the tree,
13635 allowing the arrow keys work. This can happen when using the new
13636 find in page feature.
13637
13638 https://bugs.webkit.org/show_bug.cgi?id=21251
13639
13640 Reviewed by Geoff Garen.
13641
13642 * page/inspector/ElementsPanel.js:
13643 (WebInspector.ElementsPanel): Set currentFocusElement to
13644 the main-panels element if the panel is visible.
13645 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
13646 Remove a set of currentFocusElement since this moved.
13647 * page/inspector/inspector.js:
13648 (WebInspector.set currentFocusElement): Always focus the element.
13649 This ensures that when focus changes in the page and we don't
13650 catch it, we will still focus the elements even if we think it
13651 was already focused.
13652
136532008-09-30 Timothy Hatcher <timothy@apple.com>
13654
timothy@apple.com92560da2008-09-30 20:57:49 +000013655 Make the Web Inspector's toolbar icons darker when the mouse is
13656 pressed on them. This matches the standard NSToolbar look.
13657
13658 https://bugs.webkit.org/show_bug.cgi?id=21249
13659 rdar://problem/6033752
13660
13661 Reviewed by Adam Roben.
13662
13663 * page/inspector/Images/databasesIcon.png:
13664 * page/inspector/Images/elementsIcon.png:
13665 * page/inspector/Images/profilesIcon.png:
13666 * page/inspector/Images/resourcesIcon.png:
13667 * page/inspector/Images/scriptsIcon.png:
13668 * page/inspector/Panel.js:
13669 * page/inspector/inspector.css:
13670
kmccullough@apple.com622724e2008-09-30 20:26:29 +0000136712008-09-30 Kevin McCullough <kmccullough@apple.com>
13672
13673 Reviewed by Tim Hatcher.
13674
13675 Bug 21139: Profiler log message is wrong
13676 - Correctly fix =(
13677 Don't call _format twice.
13678
13679 * page/Page.h:
13680 * page/inspector/Console.js:
13681 * page/inspector/ProfilesPanel.js:
13682 * page/inspector/inspector.js:
13683
hyatt@apple.com70936b52008-09-30 20:09:42 +0000136842008-09-30 Dave Hyatt <hyatt@apple.com>
13685
13686 http://bugs.webkit.org/show_bug.cgi?id=21250
13687
13688 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
13689 repaints up through the ChromeClient.
13690
13691 Reviewed by Darin Adler
13692
13693 * loader/EmptyClients.h:
13694 (WebCore::EmptyChromeClient::repaint):
13695 * page/Chrome.cpp:
13696 (WebCore::Chrome::repaint):
13697 * page/Chrome.h:
13698 * page/ChromeClient.h:
13699 * page/FrameView.cpp:
13700 (WebCore::FrameView::hostWindow):
13701 (WebCore::FrameView::repaintContentRectangle):
13702 * page/FrameView.h:
13703 * platform/HostWindow.h:
13704 * platform/ScrollView.cpp:
13705 (WebCore::ScrollView::repaintContentRectangle):
13706 (WebCore::ScrollView::platformRepaintContentRectangle):
13707 * platform/ScrollView.h:
13708 * platform/gtk/ScrollViewGtk.cpp:
13709 * platform/mac/ScrollViewMac.mm:
13710 (WebCore::ScrollView::platformRepaintContentRectangle):
13711 * platform/qt/ScrollViewQt.cpp:
13712 * platform/win/ScrollViewWin.cpp:
13713 * platform/wx/ScrollViewWx.cpp:
13714 (WebCore::ScrollView::platformRepaintContentRectangle):
13715
ap@webkit.org8b67da02008-09-30 17:58:10 +0000137162008-09-30 Alexey Proskuryakov <ap@webkit.org>
13717
13718 Non-Mac build fixes.
13719
13720 * GNUmakefile.am:
13721 * WebCore.pro:
13722 * WebCore.vcproj/WebCore.vcproj:
13723 * WebCoreSources.bkl:
13724 * webcore-base.bkl:
13725 Added DOMProtect.{cpp,h}.
13726
kdecker@apple.comdafe5102008-09-30 17:40:02 +0000137272008-09-39 Kevin Decker <kdecker@apple.com>
13728
13729 Reviewed by John Sullivan.
13730
13731 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
13732 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
13733
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +0000137342008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
13735
13736 Reviewed by Maciej Stachowiak.
13737
13738 Bug 21106: .in format discussed changes
13739 https://bugs.webkit.org/show_bug.cgi?id=21106
13740
13741 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
13742 is the only namespace used.
13743
13744 - Removed "generateFactory" and "generateWrapperFactory" parameters and
13745 re-introduced the command line options.
13746
13747 - Cleaned up the output of make_names.pl (removed unneeded new line).
13748
13749 * DerivedSources.make: Added factories command line options.
13750 * GNUmakefile.am: Ditto.
13751 * WebCore.pro: Ditto and removed some arguments that were migrated to
13752 the .in files.
13753
13754 * dom/make_names.pl: Clean up (see above).
13755
13756 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
13757 and "generateWrapperFactory" occurences.
13758 * html/HTMLTagNames.in: Ditto.
13759 * svg/svgattrs.in: Ditto.
13760 * svg/svgtags.in: Ditto.
13761 * svg/xlinkattrs.in: Ditto.
13762 * xml/xmlattrs.in: Ditto.
13763
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +0000137642008-09-29 Chris Fleizach <cfleizach@apple.com>
13765
13766 Reviewed by John Sullivan.
13767
13768 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
13769 Make sure that certain types of elements do not return children and, moreover, do not waste their
13770 energy trying to return children
13771
13772 Test: accessibility/nochildren-elements.html
13773
13774 * page/AccessibilityObject.h:
13775 (WebCore::AccessibilityObject::canHaveChildren):
13776 * page/AccessibilityRenderObject.cpp:
13777 (WebCore::AccessibilityRenderObject::canHaveChildren):
13778 (WebCore::AccessibilityRenderObject::addChildren):
13779 * page/AccessibilityRenderObject.h:
13780
ap@webkit.orga0c037c2008-09-30 15:52:06 +0000137812008-09-30 Alexey Proskuryakov <ap@webkit.org>
13782
13783 Reviewed by Sam Weinig.
13784
13785 https://bugs.webkit.org/show_bug.cgi?id=21213
13786 MessagePort crash when GC collects an object with a pending close event
13787
13788 Test: fast/events/message-channel-gc-2.html
13789 fast/events/message-channel-listener-circular-ownership.html
13790
13791 * bindings/DOMProtect.cpp: Added.
13792 (WebCore::gcProtectDOMObject):
13793 (WebCore::gcUnprotectDOMObject):
13794 * bindings/DOMProtect.h: Added.
13795 Added an abstraction for GC protection to avoid the need to call JS bindings code from
13796 DOM objects directly.
13797
13798 * dom/MessagePort.cpp:
13799 (WebCore::CloseMessagePortTimer::fired):
13800 (WebCore::MessagePort::queueCloseEvent):
13801 GC protect MessagePort wrapper while there is a pending close event.
13802 This may be necessary for message events, too, but that case is not a crasher, and actually
13803 behaves to the letter of the current HTML5 text, so I'll consider it later.
13804
13805 * xml/XMLHttpRequest.cpp:
13806 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
13807 (WebCore::XMLHttpRequest::dropProtection):
13808 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
13809
13810 * bindings/js/JSMessagePortCustom.cpp:
13811 (WebCore::JSMessagePort::addEventListener):
13812 (WebCore::JSMessagePort::removeEventListener):
13813 (WebCore::JSMessagePort::setOnmessage):
13814 (WebCore::JSMessagePort::setOnclose):
13815 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
13816 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
13817
13818 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13819 (WebCore::JSXMLHttpRequestUpload::mark):
13820 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
13821 from XMLHttpRequest.
13822
aroben@apple.comd2272012008-09-30 14:17:28 +0000138232008-09-30 Adam Roben <aroben@apple.com>
13824
13825 Windows build fix
13826
13827 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
13828
weinig@apple.comd516a572008-09-30 07:01:45 +0000138292008-09-29 Sam Weinig <sam@webkit.org>
13830
13831 Reviewed by Tim Hatcher.
13832
13833 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
13834 Autogenerate JS event listeners
13835
13836 - Generate EventTargetNode.
13837
13838 * DerivedSources.make:
13839 * GNUmakefile.am:
13840 * WebCore.pro:
13841 * WebCore.vcproj/WebCore.vcproj:
13842 * WebCore.xcodeproj/project.pbxproj:
13843 * WebCoreSources.bkl:
13844 * bindings/js/JSEventListener.cpp:
13845 * bindings/js/JSEventTarget.cpp: Added.
13846 (WebCore::toJS):
13847 * bindings/js/JSEventTarget.h: Added.
13848 * bindings/js/JSEventTargetBase.cpp: Removed.
13849 * bindings/js/JSEventTargetBase.h:
13850 * bindings/js/JSEventTargetNode.cpp: Removed.
13851 * bindings/js/JSEventTargetNode.h: Removed.
13852 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
13853 (WebCore::JSEventTargetNode::addEventListener):
13854 (WebCore::JSEventTargetNode::removeEventListener):
13855 (WebCore::JSEventTargetNode::dispatchEvent):
13856 (WebCore::JSEventTargetNode::getListener):
13857 (WebCore::JSEventTargetNode::setListener):
13858 (WebCore::JSEventTargetNode::pushEventHandlerScope):
13859 * bindings/js/JSEventTargetSVGElementInstance.cpp:
13860 (WebCore::):
13861 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
13862 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
13863 (jsEventTargetAddEventListener):
13864 (jsEventTargetRemoveEventListener):
13865 (jsEventTargetDispatchEvent):
13866 * bindings/js/JSEventTargetSVGElementInstance.h:
13867 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
13868 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
13869 * bindings/scripts/CodeGeneratorJS.pm:
13870 * dom/EventTargetNode.idl: Added.
13871
darin@apple.com8d35fe02008-09-30 01:14:26 +0000138722008-09-29 Darin Adler <darin@apple.com>
13873
13874 Reviewed by Sam Weinig.
13875
13876 - https://bugs.webkit.org/show_bug.cgi?id=21214
13877 work on getting rid of ExecState
13878
13879 * bindings/js/JSDOMWindowBase.cpp:
13880 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
13881 for base class constructor.
13882
hyatt@apple.com4ba85692008-09-30 00:42:25 +0000138832008-09-29 David Hyatt <hyatt@apple.com>
13884
13885 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
13886 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
13887 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
13888 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
13889
13890 Reviewed by Sam Weinig
13891
13892 * WebCore.xcodeproj/project.pbxproj:
13893 * page/Chrome.h:
13894 * platform/HostWindow.h: Added.
13895 (WebCore::HostWindow::HostWindow):
13896 (WebCore::HostWindow::~HostWindow):
13897
kdecker@apple.com0a129d72008-09-30 00:17:15 +0000138982008-09-29 Kevin Decker <kdecker@apple.com>
13899
13900 Reviewed by Anders Carlsson.
13901
13902 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
13903 2000.
13904
mitz@apple.comd58d8382008-09-29 23:42:38 +0000139052008-09-29 Dan Bernstein <mitz@apple.com>
13906
13907 Reviewed by Adam Roben.
13908
13909 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
13910
13911 * rendering/RenderThemeWin.cpp:
13912 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
13913 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
13914 unloaded, to avoid calling uxtheme.dll functions after that library has
13915 been unloaded.
13916 * rendering/RenderThemeWin.h:
13917
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +0000139182008-09-29 Chris Fleizach <cfleizach@apple.com>
13919
13920 Reviewed by John Sullivan
13921
13922 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
13923
13924 Sends AXLoadComplete only when the top level web area is finished loading
13925
13926 * dom/Document.cpp:
13927 (WebCore::Document::implicitClose):
13928
timothy@apple.com96fff242008-09-29 22:34:10 +0000139292008-09-29 Timothy Hatcher <timothy@apple.com>
13930
13931 Makes the node highlight always show up when hovering a node in
13932 the Web Inspector now that the highlight does not scroll to reveal
13933 the node. Also adds a hover effect in the inspector when hovering
13934 causes a highlight in the page. This ties the user hovering action
13935 to the highlight so it is clear what causes the highlight to appear.
13936
13937 Also the highlight now temporarily shows up for 2 seconds after
13938 selecting a node in the DOM tree. So arrowing around in the tree
13939 will show the node on the page, providing feedback to the user.
13940
13941 Plus fixes an issue where quickly moving away from hovering
13942 a node would keep showing the page highlight. This was happening
13943 in breadcrumbs and the DOM tree.
13944
13945 https://bugs.webkit.org/show_bug.cgi?id=21220
13946
13947 Reviewed by Kevin McCullough.
13948
13949 * page/inspector/Console.js:
13950 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
13951 hovering DOM nodes in the console.
13952 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
13953 (WebInspector.Console.prototype._formatnode): Use the new event
13954 listeners and add a class name to the anchor element.
13955 * page/inspector/ElementsPanel.js:
13956 (WebInspector.ElementsPanel): Add new event listeners to the
13957 crumbs element to do the node hovering highlight.
13958 (WebInspector.ElementsPanel.prototype.hide):
13959 (WebInspector.ElementsPanel.prototype.reset):
13960 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
13961 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
13962 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
13963 * page/inspector/ElementsTreeOutline.js:
13964 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
13965 Show the node hishlight for 2 seconds then restore the highlight
13966 to the current hovered node.
13967 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
13968 hovered node and set the hovered state on the tree element.
13969 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
13970 hovered node to null and removed the hovered state from the previous
13971 hovered tree element.
13972 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
13973 the hovered class to the list item.
13974 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
13975 * page/inspector/inspector.css:
13976 * page/inspector/inspector.js:
13977 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
13978 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
13979 causes the highlight to change sooner if there is one already showing
13980 and appear later if there isn't one showing. This is like tooltips,
13981 hovering a node for 500ms will cause highlight then mousing between nodes
13982 will keep the highlight and change to the new node.
13983 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
13984 always reset the timeout so continuous mousing does not keep flasshing
13985 the highlight on the screen.
13986 (WebInspector._updateHoverHighlight): Removed the alt key check and added
13987 the showingDOMNodeHighlight property.
13988 (WebInspector.documentKeyDown): Removed the alt key check.
13989 (WebInspector.documentKeyUp): Ditto.
13990 (WebInspector.reset): Clear the hoveredDOMNode.
13991
simon.fraser@apple.com8a565532008-09-29 22:04:38 +0000139922008-09-29 Simon Fraser <simon.fraser@apple.com>
13993
13994 Reviewed by Anders Carlsson
13995
13996 Fix RenderStyle leak in animation code, and assert that
13997 keyframe resolution in CSSStyleSelector is not going to clobber
13998 m_style.
13999
14000 * css/CSSStyleSelector.cpp:
14001 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
14002 * page/animation/KeyframeAnimation.cpp:
14003 (WebCore::KeyframeAnimation::~KeyframeAnimation):
14004
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +0000140052008-09-29 Chris Marrin <cmarrin@apple.com>
14006
simon.fraser@apple.come979de02008-09-29 21:31:26 +000014007 Reviewed by Dave Hyatt
14008
14009 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
14010 Rewrite keyframe resolution to be like styleForElement()
14011
14012 Test: animations/lineheight-animation.html
14013
14014 * css/CSSStyleSelector.cpp:
14015 (WebCore::CSSStyleSelector::addKeyframeStyle):
14016 (WebCore::CSSStyleSelector::~CSSStyleSelector):
14017 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
14018 (WebCore::CSSRuleSet::addRulesFromSheet):
14019 (WebCore::CSSStyleSelector::mapAnimationName):
14020 * css/CSSStyleSelector.h:
14021 * page/animation/CompositeAnimation.cpp:
14022 (WebCore::CompositeAnimation::updateKeyframeAnimations):
14023 * page/animation/KeyframeAnimation.cpp:
14024 (WebCore::KeyframeAnimation::KeyframeAnimation):
14025 (WebCore::KeyframeAnimation::animate):
14026 (WebCore::KeyframeAnimation::hasAnimationForProperty):
14027 (WebCore::KeyframeAnimation::sendAnimationEvent):
14028 (WebCore::KeyframeAnimation::overrideAnimations):
14029 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
14030 (WebCore::KeyframeAnimation::affectsProperty):
14031 (WebCore::KeyframeAnimation::validateTransformFunctionList):
14032 * page/animation/KeyframeAnimation.h:
14033 * rendering/style/Animation.cpp:
14034 (WebCore::Animation::animationsMatch):
14035 * rendering/style/Animation.h:
14036 * rendering/style/KeyframeList.cpp:
14037 (WebCore::KeyframeList::~KeyframeList):
14038 (WebCore::KeyframeList::clear):
14039 (WebCore::KeyframeList::insert):
14040 * rendering/style/KeyframeList.h:
14041 (WebCore::KeyframeValue::KeyframeValue):
14042 (WebCore::KeyframeList::KeyframeList):
14043 (WebCore::KeyframeList::operator!=):
14044 (WebCore::KeyframeList::animationName):
14045 (WebCore::KeyframeList::addProperty):
14046 (WebCore::KeyframeList::containsProperty):
14047 (WebCore::KeyframeList::beginProperties):
14048 (WebCore::KeyframeList::endProperties):
14049 (WebCore::KeyframeList::isEmpty):
14050 (WebCore::KeyframeList::size):
14051 (WebCore::KeyframeList::beginKeyframes):
14052 (WebCore::KeyframeList::endKeyframes):
14053 * rendering/style/RenderStyle.h:
14054 * rendering/style/StyleRareNonInheritedData.cpp:
14055 * rendering/style/StyleRareNonInheritedData.h:
14056
140572008-09-29 Chris Marrin <cmarrin@apple.com>
14058
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000014059 Reviewed by Eric Seidel
14060
simon.fraser@apple.comff913022008-09-29 21:24:52 +000014061 Clean up fix in PropertyWrapperGetter::equals
14062 https://bugs.webkit.org/show_bug.cgi?id=21011
14063
14064 Test: transitions/override-transition-crash.html
14065
14066 * page/animation/AnimationBase.cpp:
14067 (WebCore::PropertyWrapperGetter::equals):
14068 * page/animation/CompositeAnimation.cpp:
14069 (WebCore::CompositeAnimation::updateTransitions):
14070
140712008-09-29 Chris Marrin <cmarrin@apple.com>
14072
14073 Reviewed by Eric Seidel
14074
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000014075 https://bugs.webkit.org/show_bug.cgi?id=21001
14076 Starting transition after animation, when animation
14077 is finished, transition is wrong.
14078
14079 Test: animations/transition-and-animation-2.html
14080
14081 * page/animation/AnimationBase.h:
14082 * page/animation/CompositeAnimation.cpp:
14083 (WebCore::CompositeAnimation::updateTransitions):
14084 (WebCore::CompositeAnimation::updateKeyframeAnimations):
14085 (WebCore::CompositeAnimation::resetTransitions):
14086 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
14087 * page/animation/ImplicitAnimation.cpp:
14088 (WebCore::ImplicitAnimation::ImplicitAnimation):
14089 (WebCore::ImplicitAnimation::~ImplicitAnimation):
14090 (WebCore::ImplicitAnimation::animate):
14091 (WebCore::ImplicitAnimation::reset):
14092 * page/animation/ImplicitAnimation.h:
14093
140942008-09-29 Chris Marrin <cmarrin@apple.com>
14095
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000014096 Reviewed by Sam Weinig
14097
14098 https://bugs.webkit.org/show_bug.cgi?id=20921
14099 -webkit-animation-timing-function: inside of keyframes is ignored
14100
14101 Test: animations/keyframe-timing-functions.html
14102
14103 * page/animation/AnimationBase.cpp:
14104 (WebCore::AnimationBase::progress):
14105 * page/animation/AnimationBase.h:
14106 * page/animation/ImplicitAnimation.cpp:
14107 (WebCore::ImplicitAnimation::animate):
14108 * page/animation/KeyframeAnimation.cpp:
14109 (WebCore::KeyframeAnimation::animate):
14110
mitz@apple.com2449a052008-09-29 20:57:33 +0000141112008-09-29 Dan Bernstein <mitz@apple.com>
14112
mitz@apple.com9a3e3c82008-09-29 21:04:54 +000014113 - Windows build fix
14114
14115 * platform/ScrollView.cpp:
14116 (WebCore::ScrollView::platformScroll):
14117
141182008-09-29 Dan Bernstein <mitz@apple.com>
14119
mitz@apple.com2449a052008-09-29 20:57:33 +000014120 - another attempt at a Windows build fix
14121
14122 * platform/ScrollView.cpp:
14123 (WebCore::platformScroll):
14124
141252008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +000014126
14127 - Windows build fix
14128
14129 * platform/ScrollView.cpp:
14130 (WebCore::ScrollView::platformSetScrollPosition):
14131
hyatt@apple.com90abd562008-09-29 19:46:37 +0000141322008-09-29 David Hyatt <hyatt@apple.com>
14133
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +000014134 https://bugs.webkit.org/show_bug.cgi?id=21218
14135
14136 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
14137 It's silly that the code was this fragile, but for now just put the check back in.
14138
14139 Reviewed by Dan Bernstein
14140
14141 * platform/ScrollView.cpp:
14142 (WebCore::ScrollView::setScrollbarModes):
14143
141442008-09-29 David Hyatt <hyatt@apple.com>
14145
hyatt@apple.com90abd562008-09-29 19:46:37 +000014146 https://bugs.webkit.org/show_bug.cgi?id=21216
14147
14148 Make setScrollPosition and scroll() cross-platform.
14149
14150 Reviewed by Anders
14151
14152 * platform/ScrollView.cpp:
14153 (WebCore::ScrollView::setScrollPosition):
14154 (WebCore::ScrollView::scroll):
14155 * platform/ScrollView.h:
14156 * platform/gtk/ScrollViewGtk.cpp:
14157 * platform/mac/ScrollViewMac.mm:
14158 (WebCore::ScrollView::platformSetScrollPosition):
14159 (WebCore::ScrollView::platformScroll):
14160 * platform/qt/ScrollViewQt.cpp:
14161 * platform/win/ScrollViewWin.cpp:
14162 * platform/wx/ScrollViewWx.cpp:
14163 (WebCore::ScrollView::platformSetScrollPosition):
14164 (WebCore::ScrollView::platformScroll):
14165
kmccullough@apple.comed371682008-09-29 19:09:44 +0000141662008-09-29 Kevin McCullough <kmccullough@apple.com>
14167
14168 Reviewed by Oliver.
14169
14170 Bug 21139: Profiler log message is wrong
14171 - Because _format was called twice the number in the log was incremented
14172 too many times, but we were passing it around in the link the whole time
14173
14174 * page/inspector/ProfilesPanel.js:
14175 * page/inspector/inspector.js:
14176
weinig@apple.com7f3f95f2008-09-29 19:09:02 +0000141772008-09-29 Sam Weinig <sam@webkit.org>
14178
14179 Reviewed by Cameron Zwarich.
14180
14181 Autogenerate EventListeners, addEventListener and removeEventListener
14182 for JSDOMWindow.
14183
14184 * bindings/js/JSDOMWindowBase.cpp:
14185 * bindings/js/JSDOMWindowBase.h:
14186 * bindings/js/JSDOMWindowCustom.cpp:
14187 (WebCore::JSDOMWindow::onwebkitanimationstart):
14188 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
14189 (WebCore::JSDOMWindow::onwebkitanimationiteration):
14190 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
14191 (WebCore::JSDOMWindow::onwebkitanimationend):
14192 (WebCore::JSDOMWindow::setOnwebkitanimationend):
14193 (WebCore::JSDOMWindow::onwebkittransitionend):
14194 (WebCore::JSDOMWindow::setOnwebkittransitionend):
14195 (WebCore::JSDOMWindow::addEventListener):
14196 (WebCore::JSDOMWindow::removeEventListener):
14197 (WebCore::JSDOMWindow::setListener):
14198 (WebCore::JSDOMWindow::getListener):
14199 * bindings/scripts/CodeGeneratorJS.pm:
14200 * page/DOMWindow.idl:
14201
hausmann@webkit.orgf6964472008-09-29 12:47:08 +0000142022008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
14203
14204 Reviewed by Simon.
14205
14206 Changed copyright from Trolltech ASA to Nokia.
14207
14208 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
14209
14210 * bindings/js/JSMimeTypeArrayCustom.cpp:
14211 * bindings/js/JSNavigatorCustom.cpp:
14212 * bindings/js/JSPluginArrayCustom.cpp:
14213 * bindings/js/JSPluginCustom.cpp:
14214 * bindings/js/ScriptControllerMac.mm:
14215 * bindings/js/ScriptControllerQt.cpp:
14216 * bridge/qt/qt_class.cpp:
14217 * bridge/qt/qt_class.h:
14218 * bridge/qt/qt_instance.cpp:
14219 * bridge/qt/qt_instance.h:
14220 * bridge/qt/qt_runtime.cpp:
14221 * bridge/qt/qt_runtime.h:
14222 * bridge/testqtbindings.cpp:
14223 * css/makegrammar.pl:
14224 * css/makeprop.pl:
14225 * css/makevalues.pl:
14226 * dom/Node.cpp:
14227 * dom/TagNodeList.cpp:
14228 * dom/TagNodeList.h:
14229 * dom/XMLTokenizer.cpp:
14230 * dom/XMLTokenizer.h:
14231 * dom/XMLTokenizerLibxml2.cpp:
14232 * dom/XMLTokenizerQt.cpp:
14233 * editing/Editor.cpp:
14234 * editing/EditorCommand.cpp:
14235 * html/CanvasRenderingContext2D.cpp:
14236 * html/CanvasStyle.cpp:
14237 * html/HTMLAppletElement.cpp:
14238 * html/HTMLEmbedElement.cpp:
14239 * html/HTMLObjectElement.cpp:
14240 * loader/FrameLoader.cpp:
14241 * page/Chrome.cpp:
14242 * page/EditorClient.h:
14243 * page/Frame.cpp:
14244 * page/Frame.h:
14245 * page/FramePrivate.h:
14246 * page/Navigator.cpp:
14247 * page/Navigator.h:
14248 * page/Navigator.idl:
14249 * page/mac/FrameMac.mm:
14250 * page/qt/EventHandlerQt.cpp:
14251 * platform/graphics/qt/FontCacheQt.cpp:
14252 * platform/graphics/qt/FontCustomPlatformData.cpp:
14253 * platform/graphics/qt/FontCustomPlatformData.h:
14254 * platform/graphics/qt/FontPlatformData.h:
14255 * platform/graphics/qt/FontQt.cpp:
14256 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
14257 * platform/graphics/qt/GraphicsContextQt.cpp:
14258 * platform/graphics/qt/ImageDecoderQt.cpp:
14259 * platform/graphics/qt/ImageDecoderQt.h:
14260 * platform/graphics/qt/ImageSourceQt.cpp:
14261 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
14262 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
14263 * platform/graphics/qt/SimpleFontDataQt.cpp:
14264 * platform/gtk/MIMETypeRegistryGtk.cpp:
14265 * platform/mac/MIMETypeRegistryMac.mm:
14266 * platform/network/qt/QNetworkReplyHandler.cpp:
14267 * platform/network/qt/QNetworkReplyHandler.h:
14268 * platform/network/qt/ResourceHandleQt.cpp:
14269 * platform/network/qt/ResourceRequestQt.cpp:
14270 * platform/qt/ClipboardQt.cpp:
14271 * platform/qt/EventLoopQt.cpp:
14272 * platform/qt/KURLQt.cpp:
14273 * platform/qt/LoggingQt.cpp:
14274 * platform/qt/MIMETypeRegistryQt.cpp:
14275 * platform/qt/PasteboardQt.cpp:
14276 * platform/qt/PlatformScreenQt.cpp:
14277 * platform/qt/PopupMenuQt.cpp:
14278 * platform/qt/QWebPopup.cpp:
14279 * platform/qt/QWebPopup.h:
14280 * platform/qt/RenderThemeQt.cpp:
14281 * platform/qt/ScrollbarQt.cpp:
14282 * platform/qt/ScrollbarThemeQt.cpp:
14283 * platform/qt/WheelEventQt.cpp:
14284 * platform/qt/html4-adjustments-qt.css:
14285 * platform/wx/MimeTypeRegistryWx.cpp:
14286 * plugins/MimeType.cpp:
14287 * plugins/MimeType.h:
14288 * plugins/MimeType.idl:
14289 * plugins/MimeTypeArray.cpp:
14290 * plugins/MimeTypeArray.h:
14291 * plugins/MimeTypeArray.idl:
14292 * plugins/Plugin.cpp:
14293 * plugins/Plugin.h:
14294 * plugins/Plugin.idl:
14295 * plugins/PluginArray.cpp:
14296 * plugins/PluginArray.h:
14297 * plugins/PluginArray.idl:
14298 * plugins/PluginData.cpp:
14299 * plugins/PluginData.h:
14300 * plugins/gtk/PluginDataGtk.cpp:
14301 * plugins/mac/PluginDataMac.mm:
14302 * plugins/qt/PluginDataQt.cpp:
14303 * plugins/win/PluginDataWin.cpp:
14304 * rendering/RenderTableCol.cpp:
14305 * rendering/RenderTableCol.h:
14306
hausmann@webkit.org37374992008-09-29 09:03:09 +0000143072008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
14308
14309 Reviewed by Simon
14310
14311 Fix compilation with gcc 4.3
14312
14313 gcc 4.3 is stricter and ctype.h isn't getting included
14314 automatically here by dependencies. So do it directly.
14315
14316 * platform/qt/PlatformKeyboardEventQt.cpp:
14317
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +0000143182008-09-29 Morten Sørvig <msorvig@trolltech.com>
14319
14320 Reviewed by Simon.
14321
14322 Fix compilation with Qt/Mac without plugins.
14323
14324 * platform/qt/TemporaryLinkStubs.cpp:
14325
mrowe@apple.com2c478db2008-09-29 08:20:37 +0000143262008-09-29 Mark Rowe <mrowe@apple.com>
14327
14328 Reviewed by Sam Weinig.
14329
14330 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
14331 In the few places that we call .upper() in WebCore the strings represent things like
14332 tag and attribute names, which are nearly always going to be ASCII.
14333
14334 * platform/text/StringImpl.cpp:
14335 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
14336 in to Unicode::toLower the second time.
14337 (WebCore::StringImpl::upper):
14338
mrowe@apple.com512eca02008-09-29 08:19:09 +0000143392008-09-28 Mark Rowe <mrowe@apple.com>
14340
mrowe@apple.com49797322008-09-29 08:19:14 +000014341 Reviewed by Sam Weinig.
14342
14343 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
14344 rather than String::operator+=.
14345
14346 * css/CSSPrimitiveValue.cpp:
14347 (WebCore::CSSPrimitiveValue::cssText):
14348
143492008-09-28 Mark Rowe <mrowe@apple.com>
14350
mrowe@apple.com512eca02008-09-29 08:19:09 +000014351 Reviewed by Oliver Hunt.
14352
14353 Speed up computedStyle.getPropertyValue('color') by 4.5x.
14354
14355 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
14356 as it avoids many memory reallocations.
14357
14358 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
14359 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
14360 unrelated properties on an element.
14361
14362 * css/CSSPrimitiveValue.cpp:
14363 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
14364 and use appendNumber rather than the String::number in order to cut down on memory allocations.
14365 * platform/text/PlatformString.h:
14366 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
14367 into a Vector<UChar>.
14368
weinig@apple.com4df73d92008-09-29 03:41:35 +0000143692008-09-28 Sam Weinig <sam@webkit.org>
14370
weinig@apple.com9af39ef2008-09-29 04:16:15 +000014371 Reviewed by Anders Carlsson.
14372
14373 Remove spurious call to lower().
14374
14375 * css/MediaQueryEvaluator.cpp:
14376 (WebCore::MediaQueryEvaluator):
14377
143782008-09-28 Sam Weinig <sam@webkit.org>
14379
weinig@apple.com4df73d92008-09-29 03:41:35 +000014380 Reviewed by Dan Bernstein.
14381
14382 Use a CaseFoldingHash instead of calling lower on family strings.
14383
14384 * css/CSSFontSelector.cpp:
14385 (WebCore::CSSFontSelector::addFontFaceRule):
14386 (WebCore::CSSFontSelector::getFontData):
14387 * css/CSSFontSelector.h:
14388
timothy@apple.com810c9892008-09-28 23:31:25 +0000143892008-09-28 Timothy Hatcher <timothy@apple.com>
14390
14391 Remove the scrollIntoViewIfNeeded() call when drawing the
14392 Inspector node highlight.
14393
14394 <rdar://problem/6115804> Don't scroll when highlighting (21000)
14395 https://bugs.webkit.org/show_bug.cgi?id=21000
14396
14397 Reviewed by Dan Bernstein.
14398
14399 * page/InspectorController.cpp:
14400 (WebCore::InspectorController::drawNodeHighlight):
14401
hyatt@apple.come6ebc992008-09-28 19:58:14 +0000144022008-09-28 David Hyatt <hyatt@apple.com>
14403
14404 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
14405 changed.
14406
14407 Reviewed by Dan Bernstein
14408
14409 * platform/mac/ScrollbarThemeMac.mm:
14410 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
14411
timothy@apple.com47a6d492008-09-28 19:52:30 +0000144122008-09-28 Timothy Hatcher <timothy@apple.com>
14413
14414 Clear the current search results in the Inspector when
14415 the search query is less than 3 characters long. Incremental
14416 searches only occur for 3 characters or longer, but deleting
14417 under this limit would not clear the results unless the whole
14418 query was deleted.
14419
14420 https://bugs.webkit.org/show_bug.cgi?id=21196
14421
14422 Reviewed by Dan Bernstein.
14423
14424 * page/inspector/inspector.js:
14425 (WebInspector.performSearch): Check for short queries in the
14426 if statement that triggers the clear.
14427
mitz@apple.comc7980632008-09-28 19:38:50 +0000144282008-09-28 Dan Bernstein <mitz@apple.com>
14429
14430 Reviewed by Dave Hyatt.
14431
14432 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
14433
14434 * platform/graphics/win/FontCustomPlatformData.cpp:
14435 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
14436 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +000014437 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +000014438 m_overlayLength bytes starting at m_overlayDst with the same number of
14439 bytes from m_overlaySrc.
14440 (WebCore::createFontCustomPlatformData): Changed to get overlay
14441 parameters from getEOTHeader.
14442 * platform/graphics/win/GetEOTHeader.cpp:
14443 (WebCore::getEOTHeader): Added code to specify overlaying of the
14444 family name with the prefix of the full name if they differ, because
14445 that such a difference causes TTLoadEmbeddedFont to fail.
14446 * platform/graphics/win/GetEOTHeader.h:
14447
ap@webkit.orgdf67f132008-09-28 13:23:51 +0000144482008-09-28 Alexey Proskuryakov <ap@webkit.org>
14449
14450 Reviewed by Eric Seidel.
14451
14452 https://bugs.webkit.org/show_bug.cgi?id=20366
14453 Reproducible test failure for editing/undo/undo-iframe-location-change.html
14454
14455 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
14456
darin@apple.com80c76ce2008-09-28 09:35:06 +0000144572008-09-28 Darin Adler <darin@apple.com>
14458
14459 Reviewed by Sam Weinig (except for a few comment and header tweaks).
14460
14461 - https://bugs.webkit.org/show_bug.cgi?id=21158
14462 reduce use of virtual functions in Node for speed
14463
14464 Speeds up Dromaeo a bit less than 1%.
14465
14466 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
14467 Node.h now that some inlines are in there.
14468
14469 * dom/Attr.h: Override both the virtual and non-virtual name functions.
14470
14471 * dom/ChildNodeList.cpp:
14472 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
14473 * dom/ChildNodeList.h: Ditto.
14474 * dom/ClassNodeList.cpp:
14475 (WebCore::ClassNodeList::nodeMatches): Ditto.
14476 * dom/ClassNodeList.h: Ditto.
14477
14478 * dom/Document.h: Put the Node::isDocumentNode() function's inline
14479 definition here where it can see the Document class definition.
14480
14481 * dom/DynamicNodeList.cpp:
14482 (WebCore::DynamicNodeList::length): Changed to pass an Element.
14483 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
14484 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
14485 (WebCore::DynamicNodeList::itemWithName): Ditto.
14486 * dom/DynamicNodeList.h: Ditto.
14487
14488 * dom/Element.cpp: Removed virtualHasTagName.
14489 * dom/Element.h: Made localName, prefix, namespaceURI, and
14490 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
14491 virtualNamespaceURI, and removed virtualHasTagName. Put the
14492 Node::hasTagName, Node::hasAttributes, and Node::attributes
14493 functions' inline definitions here where they can see the Element
14494 class definition.
14495
14496 * dom/NameNodeList.cpp:
14497 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
14498 * dom/NameNodeList.h: Ditto.
14499
14500 * dom/Node.cpp:
14501 (WebCore::Node::virtualPrefix): Renamed from prefix.
14502 (WebCore::Node::virtualLocalName): Renamed from localName.
14503 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
14504 (WebCore::Node::styleForRenderer): Handle the Element case here.
14505
14506 * dom/Node.h: Removed definition of hasTagName that calls virtual,
14507 since we now have a non-virtual version. Made hasAttributes,
14508 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
14509 and styleForRenderer non-virtual. Added virtualPrefix,
14510 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
14511 and setMalformed, which are used only on HTMLFormElement objects.
14512
14513 * dom/TagNodeList.cpp:
14514 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
14515 * dom/TagNodeList.h: Ditto.
14516
14517 * html/HTMLAnchorElement.cpp: Added a comment.
14518 * html/HTMLFormControlElement.cpp: Ditto.
14519
14520 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
14521 function. Marked tabIndex function virtual explicitly for clarity.
14522
14523 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
14524 function. Marked isFocusable function virtual explicitly for clarity.
14525
14526 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
14527 clarity.
14528 * html/HTMLFormControlElement.h: Ditto.
14529
14530 * html/HTMLFormElement.h: Made isMalformed non-virtual.
14531
14532 * html/HTMLParser.cpp:
14533 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
14534 pointer to call localName since that one does not need to call a virtual
14535 function.
14536
14537 * rendering/RenderBlock.cpp:
14538 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
14539 calling isMalformed. We already did a tag name check so we know it's
14540 an HTMLFormELement.
14541
14542 * xml/XPathUtil.cpp:
14543 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
14544 to nodeType(), since it's a virtual function.
14545
hyatt@apple.com2225aef2008-09-28 08:52:26 +0000145462008-09-28 David Hyatt <hyatt@apple.com>
14547
14548 Make frameRectsChanged() cross-platform on ScrollView.
14549
14550 Reviewed by Oliver Hunt
14551
14552 * platform/ScrollView.cpp:
14553 (WebCore::ScrollView::frameRectsChanged):
14554 * platform/ScrollView.h:
14555 * platform/gtk/ScrollViewGtk.cpp:
14556 * platform/qt/ScrollViewQt.cpp:
14557 * platform/win/ScrollViewWin.cpp:
14558 * platform/wx/ScrollViewWx.cpp:
14559
oliver@apple.combec35402008-09-28 08:36:39 +0000145602008-09-28 Oliver Hunt <oliver@apple.com>
14561
14562 Reviewed by Maciej Stachowiak.
14563
14564 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
14565 <https://bugs.webkit.org/show_bug.cgi?id=21141>
14566
14567 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
14568 were not initialising their StructureID's to indicate that the wrapper
14569 overrides hasInstance, etc. The solution is simply to use the createStructureID
14570 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
14571
14572 * bindings/js/JSInspectedObjectWrapper.cpp:
14573 (WebCore::JSInspectedObjectWrapper::wrap):
14574
hyatt@apple.comaede3de2008-09-28 08:21:09 +0000145752008-09-28 David Hyatt <hyatt@apple.com>
14576
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +000014577 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
14578 terms of lines.
14579
14580 Reviewed by Oliver Hunt
14581
14582 * dom/EventTargetNode.cpp:
14583 (WebCore::EventTargetNode::dispatchWheelEvent):
14584
145852008-09-28 David Hyatt <hyatt@apple.com>
14586
hyatt@apple.comaede3de2008-09-28 08:21:09 +000014587 https://bugs.webkit.org/show_bug.cgi?id=21191
14588
14589 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
14590 on ScrollView to be cross-platform.
14591
14592 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
14593 events are now pixel wheel events.
14594
14595 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
14596 (1) Page scrolling has been corrected to be properly detected (on Windows
14597 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
14598 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
14599 you could page scroll horizontally.
14600 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
14601 This caused the scroll amount for page scrolling to be way too large on layers.
14602
14603 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
14604
14605 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
14606 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
14607
14608 Reviewed by Oliver Hunt
14609
14610 * editing/EditorCommand.cpp:
14611 (WebCore::verticalScrollDistance):
14612 * page/EventHandler.cpp:
14613 (WebCore::scrollAndAcceptEvent):
14614 (WebCore::EventHandler::handleWheelEvent):
14615 * platform/PlatformWheelEvent.h:
14616 (WebCore::):
14617 (WebCore::PlatformWheelEvent::pos):
14618 (WebCore::PlatformWheelEvent::globalPos):
14619 (WebCore::PlatformWheelEvent::deltaX):
14620 (WebCore::PlatformWheelEvent::deltaY):
14621 (WebCore::PlatformWheelEvent::granularity):
14622 (WebCore::PlatformWheelEvent::x):
14623 (WebCore::PlatformWheelEvent::globalX):
14624 (WebCore::PlatformWheelEvent::ignore):
14625 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
14626 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
14627 * platform/ScrollView.cpp:
14628 (WebCore::ScrollView::wheelEvent):
14629 * platform/Scrollbar.h:
14630 * platform/gtk/ScrollViewGtk.cpp:
14631 (WebCore::ScrollView::updateScrollbars):
14632 * platform/gtk/WheelEventGtk.cpp:
14633 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14634 * platform/mac/ScrollViewMac.mm:
14635 * platform/mac/WheelEventMac.mm:
14636 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14637 * platform/qt/ScrollViewQt.cpp:
14638 (WebCore::ScrollView::updateScrollbars):
14639 * platform/qt/WheelEventQt.cpp:
14640 * platform/win/ScrollViewWin.cpp:
14641 (WebCore::ScrollView::updateScrollbars):
14642 * platform/win/WheelEventWin.cpp:
14643 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
14644 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
14645 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14646 * platform/wx/ScrollViewWx.cpp:
14647 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
14648 (WebCore::ScrollView::wheelEvent):
14649 * rendering/RenderLayer.cpp:
14650 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
14651
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +0000146522008-09-27 Eric Carlson <eric.carlson@apple.com>
14653
14654 Reviewed by Sam Weinig.
14655
14656 fix https://bugs.webkit.org/show_bug.cgi?id=20994
14657 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
14658
14659 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
14660 all unsigned media attributes from string with toUInt() instead of toInt().
14661
14662 * html/HTMLMediaElement.cpp:
14663 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
14664
14665 * html/HTMLVideoElement.cpp:
14666 (WebCore::HTMLVideoElement::videoWidth):
14667 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
14668 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
14669 unsigned value.
14670 (WebCore::HTMLVideoElement::height): Ditto.
14671 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
14672 (WebCore::HTMLVideoElement::setHeight): Ditto.
14673
14674 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
14675
14676 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
14677
timothy@apple.coma8215632008-09-28 04:40:53 +0000146782008-09-27 Timothy Hatcher <timothy@apple.com>
14679
timothy@apple.combe91da22008-09-28 04:40:58 +000014680 Fixes an exception when typing a command in the Console.
14681
14682 Reviewed by Oliver Hunt.
14683
14684 * page/inspector/Console.js:
14685 (WebInspector.Console.prototype.addMessage): Null check
14686 this.previosMessage.
14687
146882008-09-27 Timothy Hatcher <timothy@apple.com>
14689
timothy@apple.coma8215632008-09-28 04:40:53 +000014690 Fixes a bug where the Profiles panel sidebar would be empty
14691 after closing and reopening the Web Inspector.
14692
14693 https://bugs.webkit.org/show_bug.cgi?id=21179
14694
14695 Reviewed by Sam Weinig.
14696
14697 * page/inspector/ProfilesPanel.js:
14698 (WebInspector.ProfilesPanel.prototype.reset): Don't call
14699 populateInterface, it is called automatically.
14700 (WebInspector.ProfilesPanel.prototype._populateProfiles):
14701 Return early if the sidebar is already populated.
14702
hyatt@apple.com81664322008-09-28 04:38:21 +0000147032008-09-27 Dave Hyatt <hyatt@apple.com>
14704
14705 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
14706 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
14707 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
14708 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
14709
14710 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
14711 (which should never have landed in the first place).
14712
14713 Reviewed by Tim Hatcher, Sam Weinig
14714
14715 * platform/win/ScrollViewWin.cpp:
14716 (WebCore::adjustDeltaForPageScrollMode):
14717 (WebCore::ScrollView::updateScrollbars):
14718 (WebCore::ScrollView::wheelEvent):
14719
hyatt@apple.com880cbb12008-09-28 03:51:41 +0000147202008-09-27 David Hyatt <hyatt@apple.com>
14721
14722 Make the scrollbarUnderMouse method cross-platform.
14723
14724 Reviewed by Sam Weinig
14725
14726 * platform/ScrollView.cpp:
14727 (WebCore::ScrollView::scrollbarUnderMouse):
14728 * platform/gtk/ScrollViewGtk.cpp:
14729 * platform/mac/ScrollViewMac.mm:
14730 * platform/qt/ScrollViewQt.cpp:
14731 * platform/win/ScrollViewWin.cpp:
14732 * platform/wx/ScrollViewWx.cpp:
14733
zecke@webkit.org7bf12c62008-09-28 01:50:42 +0000147342008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14735
14736 Gtk+ build fix.
14737
14738 * platform/gtk/ScrollViewGtk.cpp:
14739 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
14740
zecke@webkit.org202af282008-09-28 01:49:45 +0000147412008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
14742
14743 Reviewed by Holger Freyther.
14744
14745 https://bugs.webkit.org/show_bug.cgi?id=20287
14746 [Gtk] disable plugins for gtk/directfb target
14747
14748 Introduce WTF_PLATFORM_X11 for X11 builds.
14749 Also use target-specific packages when building the port
14750
14751 * platform/gtk/PlatformScreenGtk.cpp:
14752 * plugins/gtk/PluginViewGtk.cpp:
14753 (WebCore::PluginView::updatePluginWidget):
14754 (WebCore::PluginView::getValueStatic):
14755 (WebCore::PluginView::getValue):
14756 (WebCore::PluginView::init):
14757
hyatt@apple.come6f04e52008-09-28 01:07:05 +0000147582008-09-27 David Hyatt <hyatt@apple.com>
14759
14760 https://bugs.webkit.org/show_bug.cgi?id=21188
14761
14762 Make scrollbar suppression and resizer avoidance cross-platform.
14763
14764 Reviewed by Anders
14765
14766 * loader/FrameLoader.cpp:
14767 (WebCore::FrameLoader::transitionToCommitted):
14768 * page/FrameView.cpp:
14769 (WebCore::FrameView::resetScrollbars):
14770 (WebCore::FrameView::clear):
14771 (WebCore::FrameView::layout):
14772 (WebCore::FrameView::restoreScrollbar):
14773 (WebCore::FrameView::windowResizerRect):
14774 * page/FrameView.h:
14775 * platform/ScrollView.cpp:
14776 (WebCore::ScrollView::init):
14777 (WebCore::ScrollView::resizerOverlapsContent):
14778 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
14779 (WebCore::ScrollView::setParent):
14780 (WebCore::ScrollView::setScrollbarsSuppressed):
14781 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
14782 * platform/ScrollView.h:
14783 (WebCore::ScrollView::scrollbarsSuppressed):
14784 (WebCore::ScrollView::windowResizerRect):
14785 * platform/Scrollbar.cpp:
14786 (WebCore::Scrollbar::setFrameRect):
14787 (WebCore::Scrollbar::setParent):
14788 * platform/gtk/ScrollViewGtk.cpp:
14789 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14790 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
14791 (WebCore::ScrollView::updateScrollbars):
14792 (WebCore::ScrollView::paint):
14793 * platform/mac/ScrollViewMac.mm:
14794 (WebCore::ScrollView::ScrollView):
14795 (WebCore::ScrollView::~ScrollView):
14796 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
14797 (WebCore::ScrollView::setScrollPosition):
14798 * platform/qt/ScrollViewQt.cpp:
14799 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14800 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
14801 (WebCore::ScrollView::frameRectsChanged):
14802 (WebCore::ScrollView::updateScrollbars):
14803 (WebCore::ScrollView::paint):
14804 * platform/win/ScrollViewWin.cpp:
14805 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14806 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
14807 (WebCore::ScrollView::updateScrollbars):
14808 (WebCore::ScrollView::paint):
14809 * platform/wx/ScrollViewWx.cpp:
14810 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14811
zecke@webkit.org0034c712008-09-27 23:46:50 +0000148122008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14813
14814 Rubber-stamped by Anders Carlsson.
14815
14816 Compile fix.
14817
14818 * plugins/PluginView.cpp:
14819 (WebCore::PluginView::load):
14820
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +0000148212008-09-27 Mark Rowe <mrowe@apple.com>
14822
14823 Rubber-stamped by Sam Weinig.
14824
14825 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
14826 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
14827
14828 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
14829
14830 * loader/CachedResource.cpp:
14831 (WebCore::CachedResource::~CachedResource):
14832
zecke@webkit.org47132852008-09-27 22:45:21 +0000148332008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14834
14835 Reviewed by Simon Hausmann.
14836
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +000014837 [qt] Use QImageReader to figure out which image formats are supported
14838 - Qt can have many different plugins for different image formats. Instead
14839 of checking only for a few in WebCore use Qt to determine if this data
14840 can be treated as an image.
14841
14842 * platform/graphics/qt/ImageSourceQt.cpp:
14843 (WebCore::canHandleImage):
14844 (WebCore::createDecoder):
14845
148462008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14847
14848
zecke@webkit.org47132852008-09-27 22:45:21 +000014849 [qt] Clean the pattern code
14850 - Use save/restore on the painter after manipulating the
14851 pen/brush
14852 - Make the context and object null checking consistent. CG is using
14853 the object unconditionally so the Qt webkit platform can do the
14854 same.
14855 - Move code below the early exit. Only use the m_ownerElement before
14856 the early exit as the CG code is doing it.
14857
14858 * svg/graphics/SVGPaintServerPattern.h:
14859 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
14860 (WebCore::SVGPaintServerPattern::setup):
14861 (WebCore::SVGPaintServerPattern::teardown):
14862
timothy@apple.com345f1af2008-09-27 22:18:35 +0000148632008-09-27 Keishi Hattori <casey.hattori@gmail.com>
14864
14865 Added support for console.trace.
14866
14867 https://bugs.webkit.org/show_bug.cgi?id=19157
14868
14869 Reviewed by Kevin McCullough and Tim Hatcher.
14870
14871 * bindings/js/JSConsoleCustom.cpp:
14872 (WebCore::JSConsole::trace):
14873 * page/Console.cpp:
14874 (WebCore::Console::trace): Calls Machine::retrieveCaller to
14875 get a stack trace.
14876 * page/Console.h:
14877 (WebCore::): Added TraceMessageLevel.
14878 * page/Console.idl: Added console.trace.
14879 * page/inspector/Console.js:
14880 (ConsoleMessage): Added case for TraceMessageLevel.
14881
andersca@apple.com6b8e0a22008-09-27 21:28:40 +0000148822008-09-27 Anders Carlsson <andersca@apple.com>
14883
14884 Reviewed by Sam Weinig.
14885
14886 https://bugs.webkit.org/show_bug.cgi?id=21178
14887 <rdar://problem/6248651>
14888
14889 Check if the plug-in is allowed to load the resource. This matches Firefox.
14890
14891 Test: http/tests/plugins/local-geturl-from-remote.html
14892
14893 * plugins/PluginView.cpp:
14894 (WebCore::PluginView::load):
14895
zecke@webkit.org91ee65a2008-09-27 21:06:35 +0000148962008-09-22 Dirk Schulze <vbs85@gmx.de>
14897
14898 Reviewed by Eric Seidel.
14899
14900 Added SVG pattern support to Qt.
14901
14902 [Qt] SVG patterns are missing
14903 https://bugs.webkit.org/show_bug.cgi?id=20973
14904
14905 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
14906 (WebCore::SVGPaintServerPattern::setup):
14907
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +0000149082008-09-27 Keishi Hattori <casey.hattori@gmail.com>
14909
14910 Fixed a bug in the JS syntax highlighter with multiple line tokens.
14911
14912 https://bugs.webkit.org/show_bug.cgi?id=21171
14913
14914 Reviewed by Tim Hatcher.
14915
14916 * page/inspector/SourceFrame.js:
14917 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
14918
timothy@apple.com5b4b3d02008-09-27 20:18:03 +0000149192008-09-27 Timothy Hatcher <timothy@apple.com>
14920
14921 Change searching in the Profiles panel to not match the
14922 Self and Total columns when there are no units. The only
14923 column that is matched for unitless number searches is
14924 now the Calls column.
14925
14926 https://bugs.webkit.org/show_bug.cgi?id=21169
14927
14928 Reviewed by Sam Weinig.
14929
14930 * page/inspector/ProfileView.js:
14931 (WebInspector.ProfileView.prototype.performSearch):
14932
hyatt@apple.com0fd13952008-09-27 19:56:56 +0000149332008-09-27 David Hyatt <hyatt@apple.com>
14934
14935 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
14936
14937 Reviewed by Sam Weinig
14938
14939 * platform/ScrollView.h:
14940 * platform/Widget.h:
14941 (WebCore::Widget::boundsRect):
14942 (WebCore::Widget::invalidate):
14943 (WebCore::Widget::frameRectsChanged):
14944 * platform/gtk/ScrollViewGtk.cpp:
14945 (WebCore::ScrollViewScrollbar::frameRectsChanged):
14946 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
14947 (WebCore::ScrollView::setFrameRect):
14948 (WebCore::ScrollView::updateScrollbars):
14949 (WebCore::ScrollView::frameRectsChanged):
14950 * platform/gtk/ScrollbarGtk.cpp:
14951 (ScrollbarGtk::setFrameRect):
14952 (ScrollbarGtk::frameRectsChanged):
14953 * platform/gtk/ScrollbarGtk.h:
14954 * platform/gtk/WidgetGtk.cpp:
14955 * platform/qt/ScrollViewQt.cpp:
14956 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
14957 (WebCore::ScrollView::setFrameRect):
14958 (WebCore::ScrollView::frameRectsChanged):
14959 (WebCore::ScrollView::updateScrollbars):
14960 * platform/win/ScrollViewWin.cpp:
14961 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
14962 (WebCore::ScrollView::setFrameRect):
14963 (WebCore::ScrollView::updateScrollbars):
14964 (WebCore::ScrollView::frameRectsChanged):
14965 * plugins/PluginView.cpp:
14966 (WebCore::PluginView::frameRectsChanged):
14967 * plugins/PluginView.h:
14968
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +0000149692008-09-27 Simon Hausmann <hausmann@webkit.org>
14970
hausmann@webkit.orge49722f2008-09-27 19:49:01 +000014971 Refix the previous build fix to compile on non-Qt platforms, too.
14972
14973 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
14974 WebCore to generate the PrototypeTable in the WebCore namespace
14975 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
14976 table remains in the Webcore namespace
14977 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
14978
149792008-09-27 Simon Hausmann <hausmann@webkit.org>
14980
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000014981 Fix compilation with gcc 4.3 (probably > 4.0)
14982
14983 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
14984 get/put functions inside the WebCore namespace.
14985 * bindings/js/JSEventTargetBase.cpp: Ditto.
14986 * bindings/js/JSEventTargetNode.cpp: Ditto.
14987 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
14988 * bindings/js/JSEventTargetBase.h: Forward declare
14989 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
14990 defines it in the JSC namespace.
14991 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
14992 prefix for PrototypeTable symbol.
14993
hyatt@apple.come7c12342008-09-27 07:43:38 +0000149942008-09-27 David Hyatt <hyatt@apple.com>
14995
hyatt@apple.com53634ac2008-09-27 08:01:26 +000014996 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
14997
14998 Reviewed by Dan Bernstein
14999
15000 * WebCore.base.exp:
15001 * page/FrameView.cpp:
15002 (WebCore::FrameView::FrameView):
15003 (WebCore::FrameView::updateControlTints):
15004 * platform/ScrollView.h:
15005 * platform/Scrollbar.cpp:
15006 (WebCore::Scrollbar::Scrollbar):
15007 (WebCore::Scrollbar::paint):
15008 (WebCore::Scrollbar::setFrameRect):
15009 * platform/Scrollbar.h:
15010 * platform/ScrollbarThemeComposite.cpp:
15011 (WebCore::ScrollbarThemeComposite::paint):
15012 * platform/Widget.h:
15013 (WebCore::Widget::x):
15014 (WebCore::Widget::y):
15015 (WebCore::Widget::width):
15016 (WebCore::Widget::height):
15017 (WebCore::Widget::size):
15018 (WebCore::Widget::pos):
15019 (WebCore::Widget::resize):
15020 (WebCore::Widget::move):
15021 * platform/gtk/ScrollViewGtk.cpp:
15022 (WebCore::ScrollViewScrollbar::geometryChanged):
15023 (WebCore::ScrollView::update):
15024 (WebCore::ScrollView::setFrameRect):
15025 (WebCore::ScrollView::updateScrollbars):
15026 (WebCore::ScrollView::scrollbarUnderMouse):
15027 (WebCore::ScrollView::paint):
15028 * platform/gtk/ScrollbarGtk.cpp:
15029 (ScrollbarGtk::setFrameRect):
15030 (ScrollbarGtk::geometryChanged):
15031 * platform/gtk/ScrollbarGtk.h:
15032 * platform/gtk/WidgetGtk.cpp:
15033 (WebCore::Widget::frameRect):
15034 (WebCore::Widget::setFrameRect):
15035 * platform/mac/ScrollbarThemeMac.mm:
15036 (WebCore::ScrollbarThemeMac::trackRect):
15037 (WebCore::ScrollbarThemeMac::paint):
15038 * platform/mac/WidgetMac.mm:
15039 (WebCore::Widget::frameRect):
15040 (WebCore::Widget::setFrameRect):
15041 * platform/qt/ScrollViewQt.cpp:
15042 (WebCore::ScrollView::setFrameRect):
15043 (WebCore::ScrollView::updateScrollbars):
15044 (WebCore::ScrollView::scrollbarUnderMouse):
15045 (WebCore::ScrollView::paint):
15046 * platform/qt/ScrollbarThemeQt.cpp:
15047 (WebCore::styleOptionSlider):
15048 * platform/qt/WidgetQt.cpp:
15049 (WebCore::Widget::frameRect):
15050 (WebCore::Widget::setFrameRect):
15051 * platform/win/PopupMenuWin.cpp:
15052 (WebCore::PopupMenu::invalidateItem):
15053 (WebCore::PopupMenu::valueChanged):
15054 (WebCore::PopupWndProc):
15055 * platform/win/ScrollViewWin.cpp:
15056 (WebCore::ScrollView::setFrameRect):
15057 (WebCore::ScrollView::updateScrollbars):
15058 (WebCore::ScrollView::scrollbarUnderMouse):
15059 (WebCore::ScrollView::paint):
15060 * platform/win/ScrollbarThemeSafari.cpp:
15061 (WebCore::ScrollbarThemeSafari::trackRect):
15062 * platform/win/WidgetWin.cpp:
15063 (WebCore::Widget::frameRect):
15064 (WebCore::Widget::setFrameRect):
15065 * platform/wx/WidgetWx.cpp:
15066 (WebCore::Widget::frameRect):
15067 (WebCore::Widget::setFrameRect):
15068 * plugins/PluginView.cpp:
15069 (WebCore::PluginView::setFrameRect):
15070 * plugins/PluginView.h:
15071 * plugins/gtk/PluginViewGtk.cpp:
15072 (WebCore::PluginView::updatePluginWidget):
15073 (WebCore::PluginView::paint):
15074 (WebCore::PluginView::init):
15075 * plugins/qt/PluginViewQt.cpp:
15076 (WebCore::PluginView::updatePluginWidget):
15077 (WebCore::PluginView::init):
15078 * plugins/win/PluginViewWin.cpp:
15079 (WebCore::PluginView::updatePluginWidget):
15080 (WebCore::PluginView::paintMissingPluginIcon):
15081 (WebCore::PluginView::paint):
15082 (WebCore::PluginView::init):
15083 * rendering/RenderLayer.cpp:
15084 (WebCore::RenderLayer::positionOverflowControls):
15085 * rendering/RenderListBox.cpp:
15086 (WebCore::RenderListBox::paintScrollbar):
15087 * rendering/RenderPart.cpp:
15088 (WebCore::RenderPart::updateWidgetPosition):
15089 * rendering/RenderWidget.cpp:
15090 (WebCore::RenderWidget::setWidgetGeometry):
15091 (WebCore::RenderWidget::updateWidgetPosition):
15092
150932008-09-27 David Hyatt <hyatt@apple.com>
15094
hyatt@apple.come7c12342008-09-27 07:43:38 +000015095 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
15096
15097 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
15098 access an actual member variable.
15099
15100 Reviewed by Dan Bernstein
15101
15102 * page/FocusController.cpp:
15103 (WebCore::FocusController::setFocusedFrame):
15104
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +0000151052008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
15106
15107 Attempt to fix QT Build. Not reviewed.
15108
15109 * WebCore.pro: add -n WebCore parameter to create_hash_table
15110
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +0000151112008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
15112
15113 Reviewed by Eric Seidel.
15114
15115 http://bugs.webkit.org/show_bug.cgi?id=18905
15116 [GTK] Fix build with older pango (1.14.8)
15117
15118 * platform/graphics/gtk/FontGtk.cpp:
15119 * platform/gtk/Language.cpp:
15120 (_pango_get_lc_ctype):
15121 (pango_language_get_default):
15122
hyatt@apple.com0315e532008-09-27 06:23:58 +0000151232008-09-26 David Hyatt <hyatt@apple.com>
15124
15125 https://bugs.webkit.org/show_bug.cgi?id=21168
15126
15127 Make contentsToWindow/windowToContents cross-platform.
15128
15129 Reviewed by Oliver Hunt
15130
15131 * platform/ScrollView.cpp:
15132 (WebCore::ScrollView::windowToContents):
15133 (WebCore::ScrollView::contentsToWindow):
15134 * platform/ScrollView.h:
15135 * platform/gtk/ScrollViewGtk.cpp:
15136 * platform/mac/ScrollViewMac.mm:
15137 * platform/qt/ScrollViewQt.cpp:
15138 * platform/win/ScrollViewWin.cpp:
15139 * platform/wx/ScrollViewWx.cpp:
15140
weinig@apple.com0e6acf62008-09-27 06:15:45 +0000151412008-09-26 Sam Weinig <sam@webkit.org>
15142
15143 GTK build fix.
15144
15145 * GNUmakefile.am:
15146
hyatt@apple.comb37db692008-09-27 04:43:00 +0000151472008-09-26 David Hyatt <hyatt@apple.com>
15148
hyatt@apple.com8d329412008-09-27 05:26:38 +000015149 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
15150 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
15151 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
15152
15153 Reviewed by Oliver Hunt
15154
15155 * page/FrameView.cpp:
15156 (WebCore::FrameView::repaintContentRectangle):
15157 * page/FrameView.h:
15158 * platform/ScrollView.h:
15159 * platform/gtk/ScrollViewGtk.cpp:
15160 (WebCore::ScrollView::isOffscreen):
15161 * platform/mac/ScrollViewMac.mm:
15162 (WebCore::ScrollView::updateContents):
15163 (WebCore::ScrollView::isOffscreen):
15164 * platform/qt/ScrollViewQt.cpp:
15165 (WebCore::ScrollView::isOffscreen):
15166 * platform/win/ScrollViewWin.cpp:
15167 (WebCore::ScrollView::isOffscreen):
15168 * platform/wx/ScrollViewWx.cpp:
15169 (WebCore::ScrollView::isOffscreen):
15170 * rendering/RenderObject.cpp:
15171 (WebCore::RenderObject::willRenderImage):
15172
151732008-09-26 David Hyatt <hyatt@apple.com>
15174
hyatt@apple.comb37db692008-09-27 04:43:00 +000015175 https://bugs.webkit.org/show_bug.cgi?id=21164
15176
15177 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
15178
15179 Reviewed by Sam Weinig
15180
15181 * WebCore.base.exp:
15182 * page/FrameView.cpp:
15183 (WebCore::FrameView::setAllowsScrolling):
15184 * page/FrameView.h:
15185 * platform/ScrollView.cpp:
15186 (WebCore::ScrollView::setAllowsScrolling):
15187 * platform/ScrollView.h:
15188 (WebCore::ScrollView::allowsScrolling):
15189 * platform/win/ScrollViewWin.cpp:
15190 (WebCore::ScrollView::wheelEvent):
15191
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +0000151922008-09-26 Kevin Ollivier <kevino@theolliviers.com>
15193
15194 wx build fixes after Widget/ScrollView changes.
15195
15196 * platform/wx/PopupMenuWx.cpp:
15197 (WebCore::PopupMenu::show):
15198 * platform/wx/ScrollViewWx.cpp:
15199 (WebCore::ScrollView::platformSetContentsSize):
15200 (WebCore::ScrollView::platformSetScrollbarModes):
15201 (WebCore::ScrollView::wheelEvent):
15202 * platform/wx/TemporaryLinkStubs.cpp:
15203 * platform/wx/WidgetWx.cpp:
15204 (WebCore::Widget::containingWindow):
15205
timothy@apple.com9b486082008-09-27 02:44:05 +0000152062008-09-26 Timothy Hatcher <timothy@apple.com>
15207
15208 Allow searching for paths by always performing the
15209 three search methods in the Elements panel and not
15210 assume a search with a "/" is a XPath query.
15211
15212 https://bugs.webkit.org/show_bug.cgi?id=21159
15213
15214 Reviewed by Geoff Garen.
15215
15216 * page/inspector/ElementsPanel.js:
15217 (WebInspector.ElementsPanel.prototype.performSearch):
15218
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +0000152192008-09-26 Sam Weinig <sam@webkit.org>
15220
15221 Reviewed by Darin Adler.
15222
15223 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
15224 Speedup static property get/put
15225
15226 * DerivedSources.make:
15227 * GNUmakefile.am:
15228 * WebCore.pro:
15229 * WebCore.vcproj/WebCore.vcproj:
15230 * WebCore.xcodeproj/project.pbxproj:
15231 * bindings/js/JSDOMBinding.cpp:
15232 * bindings/js/JSDOMBinding.h:
15233 * bindings/js/JSDOMWindowBase.cpp:
15234 (WebCore::getDOMConstructor):
15235 (WebCore::jsDOMWindowBaseCrypto):
15236 (WebCore::jsDOMWindowBaseEvent):
15237 (WebCore::jsDOMWindowBaseImage):
15238 (WebCore::jsDOMWindowBaseMessageChannel):
15239 (WebCore::jsDOMWindowBaseOption):
15240 (WebCore::jsDOMWindowBaseXMLHttpRequest):
15241 (WebCore::jsDOMWindowBaseAudio):
15242 (WebCore::jsDOMWindowBaseXSLTProcessor):
15243 (WebCore::jsDOMWindowBaseOnabort):
15244 (WebCore::jsDOMWindowBaseOnblur):
15245 (WebCore::jsDOMWindowBaseOnchange):
15246 (WebCore::jsDOMWindowBaseOnclick):
15247 (WebCore::jsDOMWindowBaseOndblclick):
15248 (WebCore::jsDOMWindowBaseOnerror):
15249 (WebCore::jsDOMWindowBaseOnfocus):
15250 (WebCore::jsDOMWindowBaseOnkeydown):
15251 (WebCore::jsDOMWindowBaseOnkeypress):
15252 (WebCore::jsDOMWindowBaseOnkeyup):
15253 (WebCore::jsDOMWindowBaseOnload):
15254 (WebCore::jsDOMWindowBaseOnmousedown):
15255 (WebCore::jsDOMWindowBaseOnmousemove):
15256 (WebCore::jsDOMWindowBaseOnmouseout):
15257 (WebCore::jsDOMWindowBaseOnmouseover):
15258 (WebCore::jsDOMWindowBaseOnmouseup):
15259 (WebCore::jsDOMWindowBaseOnMouseWheel):
15260 (WebCore::jsDOMWindowBaseOnreset):
15261 (WebCore::jsDOMWindowBaseOnresize):
15262 (WebCore::jsDOMWindowBaseOnscroll):
15263 (WebCore::jsDOMWindowBaseOnsearch):
15264 (WebCore::jsDOMWindowBaseOnselect):
15265 (WebCore::jsDOMWindowBaseOnsubmit):
15266 (WebCore::jsDOMWindowBaseOnbeforeunload):
15267 (WebCore::jsDOMWindowBaseOnunload):
15268 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
15269 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
15270 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
15271 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
15272 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
15273 (WebCore::JSDOMWindowBase::put):
15274 (WebCore::setJSDOMWindowBaseOnabort):
15275 (WebCore::setJSDOMWindowBaseOnblur):
15276 (WebCore::setJSDOMWindowBaseOnchange):
15277 (WebCore::setJSDOMWindowBaseOnclick):
15278 (WebCore::setJSDOMWindowBaseOndblclick):
15279 (WebCore::setJSDOMWindowBaseOnerror):
15280 (WebCore::setJSDOMWindowBaseOnfocus):
15281 (WebCore::setJSDOMWindowBaseOnkeydown):
15282 (WebCore::setJSDOMWindowBaseOnkeypress):
15283 (WebCore::setJSDOMWindowBaseOnkeyup):
15284 (WebCore::setJSDOMWindowBaseOnload):
15285 (WebCore::setJSDOMWindowBaseOnmousedown):
15286 (WebCore::setJSDOMWindowBaseOnmousemove):
15287 (WebCore::setJSDOMWindowBaseOnmouseout):
15288 (WebCore::setJSDOMWindowBaseOnmouseover):
15289 (WebCore::setJSDOMWindowBaseOnmouseup):
15290 (WebCore::setJSDOMWindowBaseOnMouseWheel):
15291 (WebCore::setJSDOMWindowBaseOnreset):
15292 (WebCore::setJSDOMWindowBaseOnresize):
15293 (WebCore::setJSDOMWindowBaseOnscroll):
15294 (WebCore::setJSDOMWindowBaseOnsearch):
15295 (WebCore::setJSDOMWindowBaseOnselect):
15296 (WebCore::setJSDOMWindowBaseOnsubmit):
15297 (WebCore::setJSDOMWindowBaseOnbeforeunload):
15298 (WebCore::setJSDOMWindowBaseOnunload):
15299 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
15300 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
15301 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
15302 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
15303 (WebCore::setJSDOMWindowBaseEvent):
15304 (WebCore::setJSDOMWindowBaseAudio):
15305 (WebCore::setJSDOMWindowBaseImage):
15306 (WebCore::setJSDOMWindowBaseMessageChannel):
15307 (WebCore::setJSDOMWindowBaseOption):
15308 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
15309 (WebCore::setJSDOMWindowBaseXSLTProcessor):
15310 * bindings/js/JSDOMWindowBase.h:
15311 * bindings/js/JSDOMWindowCustom.cpp:
15312 (WebCore::nonCachingStaticCloseFunctionGetter):
15313 (WebCore::nonCachingStaticBlurFunctionGetter):
15314 (WebCore::nonCachingStaticFocusFunctionGetter):
15315 (WebCore::nonCachingStaticPostMessageFunctionGetter):
15316 * bindings/js/JSDOMWindowCustom.h:
15317 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
15318 * bindings/js/JSEventTargetBase.cpp:
15319 * bindings/js/JSEventTargetBase.h:
15320 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
15321 (WebCore::JSEventTargetBasePrototype::classInfo):
15322 * bindings/js/JSEventTargetNode.cpp:
15323 (WebCore::):
15324 (WebCore::JSEventTargetNode::getOwnPropertySlot):
15325 (WebCore::JSEventTargetNode::put):
15326 * bindings/js/JSEventTargetNode.h:
15327 (WebCore::JSEventTargetNode::classInfo):
15328 (WebCore::JSEventTargetNode::prototypeClassName):
15329 * bindings/js/JSEventTargetSVGElementInstance.cpp:
15330 (WebCore::):
15331 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
15332 (WebCore::JSEventTargetSVGElementInstance::put):
15333 * bindings/js/JSEventTargetSVGElementInstance.h:
15334 (WebCore::JSEventTargetSVGElementInstance::classInfo):
15335 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
15336 * bindings/js/JSHTMLInputElementCustom.cpp:
15337 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
15338 * bindings/js/JSHistoryCustom.cpp:
15339 (WebCore::nonCachingStaticBackFunctionGetter):
15340 (WebCore::nonCachingStaticForwardFunctionGetter):
15341 (WebCore::nonCachingStaticGoFunctionGetter):
15342 (WebCore::JSHistory::customGetOwnPropertySlot):
15343 * bindings/js/JSLocationCustom.cpp:
15344 (WebCore::nonCachingStaticReplaceFunctionGetter):
15345 (WebCore::nonCachingStaticReloadFunctionGetter):
15346 (WebCore::nonCachingStaticAssignFunctionGetter):
15347 (WebCore::JSLocation::customGetOwnPropertySlot):
15348 (WebCore::JSLocation::customPut):
15349 * bindings/scripts/CodeGeneratorJS.pm:
15350
hyatt@apple.com01adde82008-09-26 20:49:34 +0000153512008-09-26 David Hyatt <hyatt@apple.com>
15352
15353 https://bugs.webkit.org/show_bug.cgi?id=21149
15354
15355 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
15356 Eliminate the unused isScrollable() method.
15357
15358 Reviewed by Sam Weinig
15359
15360 * WebCore.base.exp:
15361 * page/FrameView.cpp:
15362 (WebCore::FrameView::resetScrollbars):
15363 (WebCore::FrameView::initScrollbars):
15364 (WebCore::FrameView::layout):
15365 * page/FrameView.h:
15366 * page/mac/WebCoreFrameView.h:
15367 * platform/ScrollView.cpp:
15368 (WebCore::ScrollView::init):
15369 (WebCore::ScrollView::setScrollbarModes):
15370 (WebCore::ScrollView::scrollbarModes):
15371 (WebCore::ScrollView::platformSetScrollbarModes):
15372 (WebCore::ScrollView::platformScrollbarModes):
15373 * platform/ScrollView.h:
15374 (WebCore::ScrollView::horizontalScrollbar):
15375 (WebCore::ScrollView::verticalScrollbar):
15376 (WebCore::ScrollView::isScrollViewScrollbar):
15377 (WebCore::ScrollView::setHorizontalScrollbarMode):
15378 (WebCore::ScrollView::setVerticalScrollbarMode):
15379 (WebCore::ScrollView::horizontalScrollbarMode):
15380 (WebCore::ScrollView::verticalScrollbarMode):
15381 (WebCore::ScrollView::convertSelfToChild):
15382 * platform/gtk/ScrollViewGtk.cpp:
15383 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15384 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
15385 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
15386 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15387 (WebCore::ScrollView::updateScrollbars):
15388 (WebCore::ScrollView::scrollbarUnderMouse):
15389 (WebCore::ScrollView::isScrollViewScrollbar):
15390 (WebCore::ScrollView::paint):
15391 (WebCore::ScrollView::scroll):
15392 * platform/mac/ScrollViewMac.mm:
15393 (WebCore::ScrollView::platformSetScrollbarModes):
15394 (WebCore::ScrollView::platformScrollbarModes):
15395 * platform/qt/ScrollViewQt.cpp:
15396 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
15397 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
15398 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15399 (WebCore::ScrollView::horizontalScrollbar):
15400 (WebCore::ScrollView::verticalScrollbar):
15401 (WebCore::ScrollView::invalidateScrollbars):
15402 (WebCore::ScrollView::updateScrollbars):
15403 (WebCore::ScrollView::scrollbarUnderMouse):
15404 (WebCore::ScrollView::paint):
15405 (WebCore::ScrollView::scroll):
15406 * platform/win/ScrollViewWin.cpp:
15407 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15408 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
15409 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
15410 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15411 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
15412 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
15413 (WebCore::ScrollView::suppressScrollbars):
15414 (WebCore::ScrollView::updateScrollbars):
15415 (WebCore::ScrollView::scrollbarUnderMouse):
15416 (WebCore::ScrollView::paint):
15417 (WebCore::ScrollView::scroll):
15418 * platform/wx/ScrollViewWx.cpp:
15419 (WebCore::ScrollView::platformSetScrollbarModes):
15420 (WebCore::ScrollView::platformScrollbarModes):
15421
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +0000154222008-09-26 David Kilzer <ddkilzer@apple.com>
15423
15424 Fix Mac build with XPATH and XSLT disabled
15425
15426 Reviewed by Alexey.
15427
15428 * bindings/objc/DOMUtility.mm:
15429 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
15430 * dom/XMLTokenizerLibxml2.cpp:
15431 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
15432 prevent an unused code warning.
15433
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +0000154342008-09-26 Kevin McCullough <kmccullough@apple.com>
15435
15436 Rubber stamped by Tim Hatcher.
15437
15438 Bug 21098: Crashing under Console::log
15439 - Speculative ASSERT to help find the problem.
15440
15441 * page/InspectorController.cpp:
15442 (WebCore::ConsoleMessage::isEqual):
15443
zecke@webkit.org00c54bb2008-09-26 17:56:08 +0000154442008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
15445
15446 [gtk+] Build fix for the latest ScrollView changes
15447
15448 * platform/gtk/ScrollViewGtk.cpp:
15449 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
15450 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15451
timothy@apple.comf49116e2008-09-26 17:27:52 +0000154522008-09-26 Timothy Hatcher <timothy@apple.com>
15453
15454 Fixes a bug where the console message repeat count would be wrong
15455 when typing commands in between repeated messages.
15456
15457 https://bugs.webkit.org/show_bug.cgi?id=21145
15458
15459 Reviewed by Kevin McCullough.
15460
15461 * page/InspectorController.cpp:
15462 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
15463 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
15464 * page/inspector/Console.js:
15465 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
15466 for each message as totalRepeatCount, since we now modify repeatCount to mean
15467 repeats since previous console command. If repeatCountBeforeCommand is a number,
15468 subtract that value from the repeatCount.
15469 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
15470 and commandSincePreviousMessage properties.
15471
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +0000154722008-09-26 Eric Carlson <eric.carlson@apple.com>
15473
15474 Reviewed by Antti
15475
15476 https://bugs.webkit.org/show_bug.cgi?id=21116
15477 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
15478 back to page with <video>, then closing tab
15479
15480 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
15481 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
15482 deletion.
15483
15484 * dom/Document.cpp:
15485 (WebCore::Document::documentWillBecomeInactive):
15486 (WebCore::Document::documentDidBecomeActive):
15487 (WebCore::Document::registerForDocumentActivationCallbacks):
15488 (WebCore::Document::unregisterForDocumentActivationCallbacks):
15489 * dom/Document.h:
15490 * dom/Element.h:
15491 (WebCore::Element::documentWillBecomeInactive):
15492 (WebCore::Element::documentDidBecomeActive):
15493 * history/CachedPage.cpp:
15494 (WebCore::CachedPage::CachedPage):
15495 * html/HTMLFormElement.cpp:
15496 (WebCore::HTMLFormElement::~HTMLFormElement):
15497 (WebCore::HTMLFormElement::parseMappedAttribute):
15498 (WebCore::HTMLFormElement::documentDidBecomeActive):
15499 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
15500 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
15501 * html/HTMLFormElement.h:
15502 * html/HTMLInputElement.cpp:
15503 (WebCore::HTMLInputElement::~HTMLInputElement):
15504 (WebCore::HTMLInputElement::setInputType):
15505 (WebCore::HTMLInputElement::parseMappedAttribute):
15506 (WebCore::HTMLInputElement::needsActivationCallback):
15507 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
15508 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
15509 (WebCore::HTMLInputElement::documentDidBecomeActive):
15510 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
15511 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
15512 * html/HTMLInputElement.h:
15513 * html/HTMLMediaElement.cpp:
15514 (WebCore::HTMLMediaElement::HTMLMediaElement):
15515 (WebCore::HTMLMediaElement::~HTMLMediaElement):
15516 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
15517 (WebCore::HTMLMediaElement::documentDidBecomeActive):
15518 * html/HTMLMediaElement.h:
15519 (WebCore::HTMLMediaElement::inActiveDocument):
15520 * loader/FrameLoader.cpp:
15521 (WebCore::FrameLoader::opened):
15522 * page/Page.cpp:
15523 (WebCore::Page::~Page):
15524 * rendering/RenderMedia.cpp:
15525 (WebCore::RenderMedia::updateControls):
15526 * rendering/RenderVideo.cpp:
15527 (WebCore::RenderVideo::updatePlayer):
15528 * svg/SVGSVGElement.cpp:
15529 (WebCore::SVGSVGElement::SVGSVGElement):
15530 (WebCore::SVGSVGElement::~SVGSVGElement):
15531 (WebCore::SVGSVGElement::documentWillBecomeInactive):
15532 (WebCore::SVGSVGElement::documentDidBecomeActive):
15533 * svg/SVGSVGElement.h:
15534
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +0000155352008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
15536
15537 Reviewed by Simon
15538
15539 Fix the build inside Qt, don't create faulty prl files for now.
15540
15541 * WebCore.pro:
15542
hausmann@webkit.org809f4242008-09-26 13:17:31 +0000155432008-09-26 Simon Hausmann <hausmann@webkit.org>
15544
15545 Fix compilation on Qt/Windows
15546
15547 * Add WebCore/ to the include path so that config.h is found that enables JSC
15548 * Link against winmm for the multimedia timer functions
15549 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
15550 subdirectory
15551 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
15552 but set m_window directly as setPlatformWidget takes a QWidget*.
15553
15554 * WebCore.pro:
15555 * platform/win/SystemTimeWin.cpp:
15556 * plugins/win/PluginViewWin.cpp:
15557 (WebCore::PluginView::init):
15558
oliver@apple.com38feb8e2008-09-26 11:53:40 +0000155592008-09-26 Oliver Hunt <oliver@apple.com>
15560
15561 Reviewed by Maciej Stachowiak.
15562
15563 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
15564 <https://bugs.webkit.org/show_bug.cgi?id=21054>
15565
15566 This performance regression is actually just a symptom of a correctness
15567 bug. The constructor objects for a number of properties that have security
15568 checks on access were returning new objects each time. The most obvious
15569 symptom of this bug is that window.Image != window.Image, etc.
15570
15571 The solution to this is to make sure we cache these constructors
15572 in the same way as all the other DOM constructors. To achieve this
15573 without causing any refcount cycles it is necessary to replace the
15574 refcounted document pointer in the Image, MessageChannel, Option,
15575 XMLHttpRequest, and Audio constructor objects with a reference to
15576 the document's JS wrapper.
15577
15578 Tests: fast/dom/constructors-cached-navigate.html
15579 fast/dom/constructors-cached.html
15580
15581 * WebCore.xcodeproj/project.pbxproj:
15582 * bindings/js/JSAudioConstructor.cpp:
15583 (WebCore::JSAudioConstructor::mark):
15584 * bindings/js/JSAudioConstructor.h:
15585 (WebCore::JSAudioConstructor::document):
15586 * bindings/js/JSDOMWindowBase.cpp:
15587 (WebCore::getDOMConstructor):
15588 (WebCore::JSDOMWindowBase::getValueProperty):
15589 * bindings/js/JSDOMWindowBase.h:
15590 * bindings/js/JSHTMLOptionElementConstructor.cpp:
15591 (WebCore::JSHTMLOptionElementConstructor::mark):
15592 * bindings/js/JSHTMLOptionElementConstructor.h:
15593 (WebCore::JSHTMLOptionElementConstructor::document):
15594 * bindings/js/JSImageConstructor.cpp:
15595 (WebCore::JSImageConstructor::mark):
15596 * bindings/js/JSImageConstructor.h:
15597 (WebCore::JSImageConstructor::document):
15598 * bindings/js/JSXMLHttpRequestConstructor.cpp:
15599 (WebCore::JSXMLHttpRequestConstructor::mark):
15600 * bindings/js/JSXMLHttpRequestConstructor.h:
15601 (WebCore::JSXMLHttpRequestConstructor::document):
15602
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +0000156032008-09-26 Simon Hausmann <hausmann@webkit.org>
15604
15605 Unreviewed one-liner build fix for the Qt/Windows build.
15606
15607 The build requires NPAPI support to be enabled, fix the condition in
15608 the .pro file for that.
15609
15610 * WebCore.pro:
15611
hausmann@webkit.org1ba35342008-09-26 10:51:33 +0000156122008-09-26 Trenton Schulz <twschulz@trolltech.com>
15613
15614 Reviewed by Simon.
15615
15616 Fix compilation with the Qt/Cocoa port.
15617
15618 * platform/qt/ScrollViewQt.cpp:
15619 (WebCore::ScrollView::updateScrollbars):
15620
hausmann@webkit.orge359dd12008-09-26 09:37:09 +0000156212008-09-26 Simon Hausmann <hausmann@webkit.org>
15622
15623 Reviewed by Holger.
15624
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +000015625 Fix compilation with VC9SP1, work around bug in TR1 library by
15626 disabling it.
15627
15628 * WebCore.pro:
15629
156302008-09-26 Simon Hausmann <hausmann@webkit.org>
15631
15632 Reviewed by Holger.
15633
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000015634 Fix an lupdate() warning.
15635
15636 Don't use tr() in a class that is not a QObject, use
15637 QCoreApplication::translate() directly.
15638
15639 * platform/qt/ScrollbarQt.cpp:
15640 (WebCore::Scrollbar::handleContextMenuEvent):
15641
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +0000156422008-09-25 David Hyatt <hyatt@apple.com>
15643
hyatt@apple.com4c833152008-09-26 06:21:22 +000015644 Remove the scrollTo() method from FrameView, since it is not used by anyone.
15645
15646 Reviewed by Oliver Hunt
15647
15648 * page/FrameView.cpp:
15649 * page/FrameView.h:
15650
156512008-09-25 David Hyatt <hyatt@apple.com>
15652
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +000015653 Make scrollRectIntoViewRecursively cross-platform.
15654
15655 Reviewed by Oliver Hunt
15656
15657 * platform/ScrollView.cpp:
15658 (WebCore::ScrollView::scrollRectIntoViewRecursively):
15659 * platform/gtk/ScrollViewGtk.cpp:
15660 * platform/mac/ScrollViewMac.mm:
15661 * platform/qt/ScrollViewQt.cpp:
15662 * platform/win/ScrollViewWin.cpp:
15663 * platform/wx/ScrollViewWx.cpp:
15664
156652008-09-25 David Hyatt <hyatt@apple.com>
15666
hyatt@apple.com25cd25e2008-09-26 06:07:14 +000015667 https://bugs.webkit.org/show_bug.cgi?id=21133
15668
15669 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
15670 cross-platform.
15671
15672 Reviewed by Oliver Hunt
15673
15674 * loader/FrameLoader.cpp:
15675 (WebCore::FrameLoader::begin):
15676 * page/FrameView.cpp:
15677 (WebCore::FrameView::adjustViewSize):
15678 * platform/ScrollView.cpp:
15679 (WebCore::ScrollView::setContentsSize):
15680 * platform/ScrollView.h:
15681 (WebCore::ScrollView::updateScrollbars):
15682 * platform/gtk/ScrollViewGtk.cpp:
15683 * platform/mac/ScrollViewMac.mm:
15684 (WebCore::ScrollView::platformSetContentsSize):
15685 * platform/qt/ScrollViewQt.cpp:
15686 * platform/win/ScrollViewWin.cpp:
15687 * platform/wx/ScrollViewWx.cpp:
15688 (WebCore::ScrollView::platformSetContentsSize):
15689
156902008-09-25 David Hyatt <hyatt@apple.com>
15691
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000015692 https://bugs.webkit.org/show_bug.cgi?id=21132
15693
15694 Clean up the methods that actually do the scrolling in ScrollView.
15695
15696 Reviewed by Oliver Hunt
15697
15698 * html/HTMLBodyElement.cpp:
15699 (WebCore::HTMLBodyElement::setScrollLeft):
15700 (WebCore::HTMLBodyElement::setScrollTop):
15701 * loader/FrameLoader.cpp:
15702 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
15703 * loader/ImageDocument.cpp:
15704 (WebCore::ImageDocument::imageClicked):
15705 * page/DOMWindow.cpp:
15706 (WebCore::DOMWindow::scrollBy):
15707 (WebCore::DOMWindow::scrollTo):
15708 * page/FrameView.cpp:
15709 (WebCore::FrameView::scrollTo):
15710 (WebCore::FrameView::setScrollPosition):
15711 * page/FrameView.h:
15712 * platform/ScrollView.cpp:
15713 (WebCore::ScrollView::maximumScrollPosition):
15714 * platform/ScrollView.h:
15715 (WebCore::ScrollView::contentsWidth):
15716 (WebCore::ScrollView::contentsHeight):
15717 (WebCore::ScrollView::scrollBy):
15718 * platform/gtk/ScrollViewGtk.cpp:
15719 (WebCore::ScrollView::setScrollPosition):
15720 * platform/mac/ScrollViewMac.mm:
15721 (WebCore::ScrollView::setScrollPosition):
15722 * platform/qt/ScrollViewQt.cpp:
15723 (WebCore::ScrollView::setScrollPosition):
15724 (WebCore::ScrollView::scrollRectIntoViewRecursively):
15725 * platform/win/ScrollViewWin.cpp:
15726 (WebCore::ScrollView::setScrollPosition):
15727 (WebCore::ScrollView::scrollRectIntoViewRecursively):
15728 * platform/wx/ScrollViewWx.cpp:
15729 (WebCore::ScrollView::setScrollPosition):
15730 * rendering/RenderLayer.cpp:
15731 (WebCore::RenderLayer::scrollByRecursively):
15732 (WebCore::RenderLayer::scrollRectToVisible):
15733
mitz@apple.com5c920f12008-09-26 05:25:41 +0000157342008-09-25 Dan Bernstein <mitz@apple.com>
15735
15736 - attempted Windows build fix
15737
15738 * platform/win/ScrollViewWin.cpp:
15739 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15740 (WebCore::ScrollView::setContentsPos):
15741 (WebCore::ScrollView::paint):
15742
timothy@apple.comd884aae2008-09-26 04:35:48 +0000157432008-09-25 Timothy Hatcher <timothy@apple.com>
15744
15745 Revert the padding changes done in r36905 to prevent the
15746 scrollbar from overlapping the URLs in the Console.
15747
15748 https://bugs.webkit.org/show_bug.cgi?id=21126
15749
15750 * page/inspector/inspector.css:
15751
hyatt@apple.comc01fb232008-09-26 04:28:25 +0000157522008-09-25 David Hyatt <hyatt@apple.com>
15753
15754 https://bugs.webkit.org/show_bug.cgi?id=21129
15755
15756 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
15757 of platform-specific methods required of ScrollView implementations.
15758
15759 Reviewed by Tim Hatcher
15760
15761 * dom/MouseRelatedEvent.cpp:
15762 (WebCore::contentsX):
15763 (WebCore::contentsY):
15764 * html/HTMLBodyElement.cpp:
15765 (WebCore::HTMLBodyElement::scrollLeft):
15766 (WebCore::HTMLBodyElement::setScrollLeft):
15767 (WebCore::HTMLBodyElement::scrollTop):
15768 (WebCore::HTMLBodyElement::setScrollTop):
15769 * loader/FrameLoader.cpp:
15770 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
15771 * page/DOMWindow.cpp:
15772 (WebCore::DOMWindow::scrollX):
15773 (WebCore::DOMWindow::scrollY):
15774 * page/EventHandler.cpp:
15775 (WebCore::EventHandler::hitTestResultAtPoint):
15776 * page/FrameView.cpp:
15777 (WebCore::FrameView::scrollTo):
15778 (WebCore::FrameView::windowClipRect):
15779 * platform/ScrollView.cpp:
15780 (WebCore::ScrollView::visibleContentRect):
15781 (WebCore::ScrollView::contentsSize):
15782 (WebCore::ScrollView::platformContentsSize):
15783 * platform/ScrollView.h:
15784 (WebCore::ScrollView::scrollPosition):
15785 (WebCore::ScrollView::scrollOffset):
15786 (WebCore::ScrollView::scrollX):
15787 (WebCore::ScrollView::scrollY):
15788 (WebCore::ScrollView::contentsWidth):
15789 (WebCore::ScrollView::contentsHeight):
15790 * platform/gtk/ScrollViewGtk.cpp:
15791 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
15792 (WebCore::ScrollView::setGtkAdjustments):
15793 (WebCore::ScrollView::resizeContents):
15794 (WebCore::ScrollView::contentsWidth):
15795 (WebCore::ScrollView::contentsHeight):
15796 (WebCore::ScrollView::scrollOffset):
15797 (WebCore::ScrollView::maximumScroll):
15798 (WebCore::ScrollView::scrollBy):
15799 (WebCore::ScrollView::suppressScrollbars):
15800 (WebCore::ScrollView::setHScrollbarMode):
15801 (WebCore::ScrollView::setVScrollbarMode):
15802 (WebCore::ScrollView::setScrollbarsMode):
15803 (WebCore::ScrollView::setFrameGeometry):
15804 (WebCore::ScrollView::updateScrollbars):
15805 * platform/mac/ScrollViewMac.mm:
15806 (WebCore::ScrollView::platformContentsSize):
15807 (WebCore::ScrollView::scrollBy):
15808 * platform/mac/WidgetMac.mm:
15809 (WebCore::Widget::convertFromContainingWindow):
15810 (WebCore::Widget::convertToContainingWindow):
15811 * platform/qt/ScrollViewQt.cpp:
15812 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15813 (WebCore::ScrollView::resizeContents):
15814 (WebCore::ScrollView::setFrameGeometry):
15815 (WebCore::ScrollView::scrollOffset):
15816 (WebCore::ScrollView::maximumScroll):
15817 (WebCore::ScrollView::scrollBy):
15818 (WebCore::ScrollView::setHScrollbarMode):
15819 (WebCore::ScrollView::setVScrollbarMode):
15820 (WebCore::ScrollView::setScrollbarsMode):
15821 (WebCore::ScrollView::updateScrollbars):
15822 * platform/win/ScrollViewWin.cpp:
15823 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15824 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
15825 (WebCore::ScrollView::resizeContents):
15826 (WebCore::ScrollView::setFrameGeometry):
15827 (WebCore::ScrollView::scrollOffset):
15828 (WebCore::ScrollView::maximumScroll):
15829 (WebCore::ScrollView::scrollBy):
15830 (WebCore::ScrollView::setHScrollbarMode):
15831 (WebCore::ScrollView::setVScrollbarMode):
15832 (WebCore::ScrollView::setScrollbarsMode):
15833 (WebCore::ScrollView::updateScrollbars):
15834 * platform/wx/ScrollViewWx.cpp:
15835 (WebCore::ScrollView::platformVisibleContentRect):
15836 (WebCore::ScrollView::platformContentsSize):
15837 * rendering/RenderBlock.cpp:
15838 (WebCore::RenderBlock::nodeAtPoint):
15839 * rendering/RenderLayer.cpp:
15840 (WebCore::RenderLayer::scrollRectToVisible):
15841 (WebCore::RenderLayer::calculateClipRects):
15842 (WebCore::RenderLayer::calculateRects):
15843 * rendering/RenderView.cpp:
15844 (WebCore::RenderView::absolutePosition):
15845 (WebCore::RenderView::computeAbsoluteRepaintRect):
15846
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +0000158472008-09-25 David Smith <catfish.man@gmail.com>
15848
dsmith@webkit.org0fedb622008-09-26 04:05:57 +000015849 Reviewed by Dave Hyatt.
15850
15851 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
15852
15853 * dom/Element.cpp:
15854 (WebCore::Element::rareData):
15855 * dom/Element.h:
15856 * dom/Node.cpp:
15857 (WebCore::Node::rareData):
15858 * dom/Node.h:
15859
158602008-09-25 David Smith <catfish.man@gmail.com>
15861
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000015862 Reviewed by Darin Adler.
15863
15864 https://bugs.webkit.org/show_bug.cgi?id=20980
15865 Split off uncommonly used data from Node similar to ElementRareData
15866
15867 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
15868 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
15869 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
15870
15871 * WebCore.base.exp:
15872 * WebCore.xcodeproj/project.pbxproj:
15873 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
15874 * dom/ContainerNode.cpp: Set isContainer to true
15875 (WebCore::ContainerNode::ContainerNode):
15876 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
15877 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
15878 (WebCore::Node::containerChildNode): ditto
15879 (WebCore::Node::containerFirstChild): ditto
15880 (WebCore::Node::containerLastChild): ditto
15881 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
15882 (WebCore::Element::Element):
15883 (WebCore::Element::~Element):
15884 (WebCore::Element::rareData):
15885 (WebCore::Element::ensureRareData): Renamed from createRareData
15886 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
15887 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
15888 (WebCore::Element::detach): ditto
15889 (WebCore::Element::recalcStyle): ditto
15890 (WebCore::Element::focus):
15891 (WebCore::Element::minimumSizeForResizing): ditto
15892 (WebCore::Element::setMinimumSizeForResizing): ditto
15893 (WebCore::Element::computedStyle):
15894 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
15895 * dom/Element.h:
15896 * dom/ElementRareData.h: Added; everything copied from Element.cpp
15897 (WebCore::defaultMinimumSizeForResizing):
15898 (WebCore::ElementRareData::ElementRareData):
15899 (WebCore::ElementRareData::resetComputedStyle):
15900 * dom/EventTargetNode.cpp:
15901 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
15902 * dom/EventTargetNode.h:
15903 * dom/Node.cpp:
15904 (WebCore::Node::Node):
15905 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
15906 (WebCore::Node::rareData):
15907 (WebCore::Node::ensureRareData):
15908 (WebCore::Node::createRareData):
15909 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
15910 (WebCore::Node::setTabIndexExplicitly):
15911 (WebCore::Node::childNodes): NodeLists are now in rareData
15912 (WebCore::Node::setFocus):
15913 (WebCore::Node::rareDataFocused):
15914 (WebCore::Node::isFocusable):
15915 (WebCore::Node::isKeyboardFocusable):
15916 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
15917 (WebCore::Node::unregisterDynamicNodeList): ditto
15918 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
15919 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
15920 (WebCore::Node::getElementsByName): ditto
15921 (WebCore::Node::getElementsByClassName): ditto
15922 * dom/Node.h:
15923 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
15924 (WebCore::Node::lastChild): ditto
15925 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
15926 (WebCore::Node::focused): focus is in rareData if set
15927 (WebCore::Node::childTypeAllowed):
15928 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
15929 (WebCore::Node::childNode): ditto
15930 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
15931 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
15932 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
15933 (WebCore::NodeRareData::NodeRareData):
15934 (WebCore::NodeRareData::rareDataMap):
15935 (WebCore::NodeRareData::rareDataFromMap):
15936 (WebCore::NodeRareData::clearNodeLists):
15937 (WebCore::NodeRareData::setNodeLists):
15938 (WebCore::NodeRareData::nodeLists):
15939 (WebCore::NodeRareData::tabIndex):
15940 (WebCore::NodeRareData::setTabIndex):
15941 (WebCore::NodeRareData::tabIndexSetExplicitly):
15942 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
15943 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
15944
zecke@webkit.orge1370432008-09-26 01:47:30 +0000159452008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
15946
15947 Reviewed by Simon Hausmann.
15948
zecke@webkit.org9ea87f62008-09-26 01:54:04 +000015949 [qt] ImageBuffer::toDataURL implementation
15950
15951 There needs to be a Qt specific test result for the above mentioned
15952 implementation.
15953
15954 * platform/graphics/qt/ImageBufferQt.cpp:
15955 (WebCore::ImageBuffer::toDataURL):
15956
159572008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
15958
15959 Reviewed by Simon Hausmann.
15960
zecke@webkit.orge1370432008-09-26 01:47:30 +000015961 [qt] Implement SharedBuffer for Qt.
15962
15963 * WebCore.pro:
15964 * platform/qt/SharedBufferQt.cpp: Added.
15965 (WebCore::SharedBuffer::createWithContentsOfFile):
15966 * platform/qt/TemporaryLinkStubs.cpp:
15967
ddkilzer@apple.com91eae552008-09-26 00:53:18 +0000159682008-09-25 Feng Qian <feng@chromium.org>
15969
15970 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
15971 <rdar://problem/6243032>
15972
15973 Reviewed by Dave Hyatt.
15974
15975 Test: fast/dom/attribute-downcast-right.html
15976
15977 Add isMappedAttribute function to Attribute for checking if an object
15978 is an instance of MappedAttribute. Removed attributeItem,
15979 getAttributeItem functions from NamedMappedAttrMap, and callers
15980 expecting MappedAttribute have to check isMappedAttribute before
15981 downcasting the return value to MappedAttribute.
15982
15983 * css/CSSStyleSelector.cpp:
15984 (WebCore::CSSStyleSelector::styleForElement):
15985 * dom/Attribute.h:
15986 (WebCore::Attribute::isMappedAttribute):
15987 * dom/MappedAttribute.h:
15988 (WebCore::MappedAttribute::isMappedAttribute):
15989 * dom/NamedMappedAttrMap.cpp:
15990 (WebCore::NamedMappedAttrMap::declCount):
15991 (WebCore::NamedMappedAttrMap::mapsEquivalent):
15992 * dom/NamedMappedAttrMap.h:
15993 * dom/StyledElement.cpp:
15994 (WebCore::StyledElement::attributeChanged):
15995 * html/HTMLInputElement.cpp:
15996 (WebCore::HTMLInputElement::setInputType):
15997 * svg/SVGForeignObjectElement.cpp:
15998 (WebCore::addCSSPropertyAndNotifyAttributeMap):
15999 * svg/SVGStyledElement.cpp:
16000 (WebCore::SVGStyledElement::getPresentationAttribute):
16001
hyatt@apple.com79be62c2008-09-25 22:25:22 +0000160022008-09-25 David Hyatt <hyatt@apple.com>
16003
16004 https://bugs.webkit.org/show_bug.cgi?id=21120
16005
16006 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
16007 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
16008 didn't want to mix that change in with this patch).
16009
16010 Reviewed by Sam Weinig
16011
16012 * page/Frame.cpp:
16013 (WebCore::Frame::markAllMatchesForText):
16014 * page/FrameView.cpp:
16015 (WebCore::FrameView::repaintContentRectangle):
16016 (WebCore::FrameView::windowClipRect):
16017 (WebCore::FrameView::updateControlTints):
16018 * platform/ScrollView.cpp:
16019 (WebCore::ScrollView::visibleContentRect):
16020 (WebCore::ScrollView::platformVisibleContentRect):
16021 * platform/ScrollView.h:
16022 (WebCore::ScrollView::visibleWidth):
16023 (WebCore::ScrollView::visibleHeight):
16024 * platform/gtk/ScrollViewGtk.cpp:
16025 (WebCore::ScrollView::horizontalScrollbar):
16026 (WebCore::ScrollView::verticalScrollbar):
16027 * platform/mac/ScrollViewMac.mm:
16028 (WebCore::ScrollView::horizontalScrollbar):
16029 (WebCore::ScrollView::verticalScrollbar):
16030 (WebCore::ScrollView::platformVisibleContentRect):
16031 * platform/qt/ScrollViewQt.cpp:
16032 (WebCore::ScrollView::horizontalScrollbar):
16033 (WebCore::ScrollView::verticalScrollbar):
16034 * platform/win/ScrollViewWin.cpp:
16035 (WebCore::ScrollView::horizontalScrollbar):
16036 (WebCore::ScrollView::verticalScrollbar):
16037 * platform/wx/ScrollViewWx.cpp:
16038 (WebCore::ScrollView::platformVisibleContentRect):
16039 (WebCore::ScrollView::horizontalScrollbar):
16040 (WebCore::ScrollView::verticalScrollbar):
16041 * rendering/RenderLayer.cpp:
16042 (WebCore::RenderLayer::scrollRectToVisible):
16043 (WebCore::frameVisibleRect):
16044 * rendering/RenderView.cpp:
16045 (WebCore::RenderView::viewRect):
16046
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +0000160472008-09-25 David Smith <catfish.man@gmail.com>
16048
16049 Reviewed by Timothy Hatcher
16050
16051 https://bugs.webkit.org/show_bug.cgi?id=21052
16052 Generalize id selector special case for querySelectorAll
16053
16054 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
16055 Changes results on http://native.khan.mozilla.org
16056 from
16057 #title: 2ms
16058 h1#title: 55ms
16059 div #title: 55ms
16060
16061 to:
16062 #title: 1ms
16063 h1#title: 2ms
16064 div #title: 5ms
16065
16066 * dom/Node.cpp:
16067 (WebCore::Node::querySelector):
16068 * dom/SelectorNodeList.cpp:
16069 (WebCore::createSelectorNodeList):
16070
hyatt@apple.com64a3be22008-09-25 20:49:17 +0000160712008-09-25 David Hyatt <hyatt@apple.com>
16072
16073 https://bugs.webkit.org/show_bug.cgi?id=21118
16074
16075 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
16076
16077 Reviewed by Sam Weinig
16078
16079 * page/FrameView.cpp:
16080 (WebCore::FrameView::clear):
16081 (WebCore::FrameView::layout):
16082 (WebCore::FrameView::setUseSlowRepaints):
16083 (WebCore::FrameView::addSlowRepaintObject):
16084 (WebCore::FrameView::removeSlowRepaintObject):
16085 * platform/ScrollView.cpp:
16086 (WebCore::ScrollView::init):
16087 (WebCore::ScrollView::addChild):
16088 (WebCore::ScrollView::removeChild):
16089 (WebCore::ScrollView::setCanBlitOnScroll):
16090 * platform/ScrollView.h:
16091 (WebCore::ScrollView::canBlitOnScroll):
16092 * platform/gtk/ScrollViewGtk.cpp:
16093 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16094 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16095 (WebCore::ScrollView::ScrollView):
16096 * platform/mac/ScrollViewMac.mm:
16097 (WebCore::ScrollView::ScrollView):
16098 (WebCore::ScrollView::platformAddChild):
16099 (WebCore::ScrollView::platformRemoveChild):
16100 (WebCore::ScrollView::platformSetCanBlitOnScroll):
16101 * platform/qt/ScrollViewQt.cpp:
16102 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16103 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16104 (WebCore::ScrollView::ScrollView):
16105 * platform/win/ScrollViewWin.cpp:
16106 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16107 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16108 (WebCore::ScrollView::ScrollView):
16109 * platform/wx/ScrollViewWx.cpp:
16110 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16111 (WebCore::ScrollView::ScrollView):
16112 (WebCore::ScrollView::scrollBy):
16113
kmccullough@apple.com03b515b2008-09-25 20:29:57 +0000161142008-09-25 Kevin McCullough <kmccullough@apple.com>
16115
16116 Reviewed by Tim Hatcher.
16117
16118 Bug 21109: Console should right-align urls
16119
16120 * page/inspector/Console.js: Re-order the message elements so that when
16121 it overflows it doesn't get mixed in with the next message.
16122 * page/inspector/inspector.css:
16123
hyatt@apple.com95d18752008-09-25 20:15:44 +0000161242008-09-25 David Hyatt <hyatt@apple.com>
16125
16126 https://bugs.webkit.org/show_bug.cgi?id=21113
16127
16128 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
16129
16130 Reviewed by Darin Adler
16131
16132 * css/CSSImportRule.cpp:
16133 (WebCore::CSSImportRule::insertedIntoParent):
16134 * css/CSSRule.cpp:
16135 (WebCore::CSSRule::parentStyleSheet):
16136 (WebCore::CSSRule::parentRule):
16137 * css/CSSStyleSheet.cpp:
16138 (WebCore::CSSStyleSheet::CSSStyleSheet):
16139 * css/CSSStyleSheet.h:
16140
darin@apple.com6ca04432008-09-25 20:02:11 +0000161412008-09-25 Darin Adler <darin@apple.com>
16142
16143 Reviewed by Adele Peterson.
16144
16145 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
16146 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
16147 bundled documents
16148
16149 * html/HTMLFormElement.cpp:
16150 (WebCore::HTMLFormElement::formData): Use files() instead of value()
16151 to get the path, since value() now returns just the basename.
16152
beidson@apple.comb9a40052008-09-25 18:37:09 +0000161532008-09-25 Brady Eidson <beidson@apple.com>
16154
16155 Rubberstamped by Mark Rowe
16156
16157 Roll out 36771 as it caused <rdar://problem/6246554>
16158 "nytimes.com doesn't display after returning to it with back/forward"
16159
16160 * css/CSSImportRule.cpp:
16161 (WebCore::CSSImportRule::insertedIntoParent):
16162 * css/CSSRule.cpp:
16163 (WebCore::CSSRule::parentStyleSheet):
16164 (WebCore::CSSRule::parentRule):
16165 * css/CSSStyleSheet.cpp:
16166 (WebCore::CSSStyleSheet::CSSStyleSheet):
16167 (WebCore::CSSStyleSheet::docLoader):
16168 * css/CSSStyleSheet.h:
16169 (WebCore::CSSStyleSheet::doc):
16170
aroben@apple.comdf5a7322008-09-25 17:47:15 +0000161712008-09-25 Adam Roben <aroben@apple.com>
16172
16173 Windows build fix
16174
16175 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
16176
mitz@apple.com0565bc92008-09-25 17:27:37 +0000161772008-09-25 Dan Bernstein <mitz@apple.com>
16178
16179 - Windows build fix
16180
16181 * platform/win/ScrollViewWin.cpp:
16182 (WebCore::ScrollView::addChildPlatformWidget):
16183 (WebCore::ScrollView::removeChildPlatformWidget):
16184
timothy@apple.com7a4bf192008-09-25 17:07:43 +0000161852008-09-25 Timothy Hatcher <timothy@apple.com>
16186
16187 Fixes a leak of ConsoleMessage seen when repeated console
16188 messages occur.
16189
16190 Reviewed by Mark Rowe.
16191
16192 * page/InspectorController.cpp:
16193 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
16194 since we don't add it to m_consoleMessages.
16195
kmccullough@apple.com340e7272008-09-25 16:04:20 +0000161962008-09-25 Kevin McCullough <kmccullough@apple.com>
16197
kmccullough@apple.com364f2992008-09-25 16:48:34 +000016198 Reviewed by Dan Bernstein.
16199
16200 Bug 21105: XHRs logged in the console may show the wrong URL for the
16201 source
16202 - Get the url at the time of the send() and pass it on to the XHR.
16203
16204 * bindings/js/JSXMLHttpRequestCustom.cpp:
16205 (WebCore::JSXMLHttpRequest::send):
16206 * xml/XMLHttpRequest.cpp:
16207 (WebCore::XMLHttpRequest::didFinishLoading):
16208 * xml/XMLHttpRequest.h:
16209 (WebCore::XMLHttpRequest::setLastSendURL):
16210
162112008-09-25 Kevin McCullough <kmccullough@apple.com>
16212
kmccullough@apple.com340e7272008-09-25 16:04:20 +000016213 Reviewed by Geoff and Tim.
16214
16215 Bug 20322: XHRs logged in the console do not have line numbers
16216 - Get the line number at the time of the send and pass it on to the XHR.
16217
16218 * bindings/js/JSXMLHttpRequestCustom.cpp:
16219 (WebCore::JSXMLHttpRequest::send):
16220 * xml/XMLHttpRequest.cpp:
16221 (WebCore::XMLHttpRequest::XMLHttpRequest):
16222 (WebCore::XMLHttpRequest::didFinishLoading):
16223 * xml/XMLHttpRequest.h:
16224 (WebCore::XMLHttpRequest::setLastSendLineNumber):
16225
eric.carlson@apple.comb9404142008-09-25 15:33:02 +0000162262008-09-25 Eric Carlson <eric.carlson@apple.com>
16227
16228 Reviewed by Eric Seidel.
16229
16230 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
16231 https://bugs.webkit.org/show_bug.cgi?id=21003
16232
16233 * dom/EventNames.h: remove "begin" event
16234 * html/HTMLMediaElement.cpp:
16235 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
16236
ap@webkit.orgcdec56d2008-09-25 11:30:02 +0000162372008-09-25 Alexey Proskuryakov <ap@webkit.org>
16238
16239 Reviewed by Eric Seidel.
16240
16241 https://bugs.webkit.org/show_bug.cgi?id=21097
16242 Calling a MessageChannel constructor from a destroyed document results in a crash
16243
16244 Test: fast/events/message-port-constructor-for-deleted-document.html
16245
16246 * bindings/js/JSMessageChannelConstructor.cpp:
16247 (WebCore::JSMessageChannelConstructor::construct):
16248 * bindings/js/JSMessageChannelConstructor.h:
16249 Made m_document a RefPtr.
16250
ap@webkit.org28b51752008-09-25 10:15:11 +0000162512008-09-24 Alexey Proskuryakov <ap@webkit.org>
16252
16253 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
16254
16255 https://bugs.webkit.org/show_bug.cgi?id=20879
16256 Implement HTML5 channel messaging
16257
16258 Tests: fast/events/message-channel-gc.html
16259 fast/events/message-port-deleted-document.html
16260 fast/events/message-port-deleted-frame.html
16261 fast/events/message-port-inactive-document.html
16262 fast/events/message-port.html
16263 http/tests/security/MessagePort/event-listener-context.html
16264
16265 * Configurations/WebCore.xcconfig:
16266 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
16267
16268 * DerivedSources.make:
16269 Added MessageChannel and MessagePort.
16270
16271 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
16272 turmed off anyway. Added new files.
16273
16274 * GNUmakefile.am:
16275 * WebCore.pro:
16276 * WebCore.vcproj/WebCore.vcproj:
16277 * WebCore.xcodeproj/project.pbxproj:
16278 * WebCoreSources.bkl:
16279 Added new files.
16280
16281 * bindings/js/JSDOMWindowBase.h:
16282 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
16283 Added suport for window.MessageChannel constructor.
16284
16285 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
16286 * page/DOMWindow.cpp:
16287 (WebCore::DOMWindow::postMessage):
16288 * page/DOMWindow.h:
16289 * page/DOMWindow.idl:
16290 Added support for three-argument postMessage (that posts a MessagePort).
16291
16292 * dom/EventTarget.cpp:
16293 (WebCore::EventTarget::toMessagePort):
16294 * dom/EventTarget.h:
16295 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
16296 EventTarget variant.
16297
16298 * bindings/js/JSMessageChannelConstructor.h:
16299 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
16300 take a browsing context (document) parameter.
16301
16302 * bindings/js/JSMessageChannelCustom.cpp: Added.
16303 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
16304 port1 and port2 that it owns.
16305
16306 * bindings/js/JSMessagePortCustom.cpp: Added.
16307 (WebCore::JSMessagePort::startConversation):
16308 (WebCore::JSMessagePort::addEventListener):
16309 (WebCore::JSMessagePort::removeEventListener):
16310 (WebCore::JSMessagePort::dispatchEvent):
16311 (WebCore::JSMessagePort::setOnmessage):
16312 (WebCore::JSMessagePort::onmessage):
16313 (WebCore::JSMessagePort::setOnclose):
16314 (WebCore::JSMessagePort::onclose):
16315 (WebCore::JSMessagePort::mark):
16316 * dom/MessagePort.cpp: Added.
16317 * dom/MessagePort.h: Added.
16318 * dom/MessagePort.idl: Added.
16319 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
16320 with Documents as contexts, but in the future, it will be used for communication with worker
16321 threads.
16322
16323 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
16324 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
16325 needed for MessageEvent.
16326
16327 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
16328
16329 * dom/Document.cpp:
16330 (WebCore::MessagePortTimer::MessagePortTimer):
16331 (WebCore::MessagePortTimer::fired):
16332 (WebCore::Document::processMessagePortMessagesSoon):
16333 (WebCore::Document::~Document):
16334 (WebCore::Document::dispatchMessagePortEvents):
16335 (WebCore::Document::createdMessagePort):
16336 (WebCore::Document::destroyedMessagePort):
16337 * dom/Document.h:
16338 Document keeps track of all MessagePort objects that were created when it was fully active
16339 in its context.
16340
16341 * dom/EventNames.h: Added closeEvent.
16342
16343 * dom/MessageChannel.cpp: Added.
16344 (WebCore::MessageChannel::MessageChannel):
16345 (WebCore::MessageChannel::~MessageChannel):
16346 * dom/MessageChannel.h: Added.
16347 (WebCore::MessageChannel::create):
16348 (WebCore::MessageChannel::port1):
16349 (WebCore::MessageChannel::port2):
16350 * dom/MessageChannel.idl: Added.
16351 Addded JSMessageChannel implementation.
16352
16353 * dom/MessageEvent.cpp:
16354 (WebCore::MessageEvent::MessageEvent):
16355 (WebCore::MessageEvent::initMessageEvent):
16356 * dom/MessageEvent.h:
16357 (WebCore::MessageEvent::create):
16358 (WebCore::MessageEvent::messagePort):
16359 * dom/MessageEvent.idl:
16360 MessageEvent has a MessagePort member now, making it possible to pass ports across
16361 documents.
16362
dsmith@webkit.org3e32f422008-09-25 08:57:31 +0000163632008-09-25 David Smith <catfish.man@gmail.com>
16364
16365 Reviewed by Eric Seidel
16366
16367 fix https://bugs.webkit.org/show_bug.cgi?id=21091
16368 Regression: querySelector matches tag names case sensitively
16369
16370 Tests: fast/dom/SelectorAPI/caseTag.html
16371 fast/dom/SelectorAPI/caseTagX.xhtml
16372
16373 * css/CSSParser.cpp:
16374 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
16375 * css/CSSParser.h:
16376 * dom/Node.cpp:
16377 (WebCore::Node::querySelector):
16378 (WebCore::Node::querySelectorAll):
16379
hyatt@apple.com912c1b12008-09-25 07:38:56 +0000163802008-09-24 David Hyatt <hyatt@apple.com>
16381
16382 https://bugs.webkit.org/show_bug.cgi?id=21084
16383
16384 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
16385 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
16386
16387 Reviewed by Sam Weinig
16388
16389 * GNUmakefile.am:
16390 * WebCore.pro:
16391 * WebCore.vcproj/WebCore.vcproj:
16392 * WebCore.xcodeproj/project.pbxproj:
16393 * WebCoreSources.bkl:
16394 * platform/ScrollView.h:
16395 (WebCore::ScrollView::children):
16396 * platform/Widget.h:
16397 * platform/gtk/ScrollViewGtk.cpp:
16398 (WebCore::ScrollView::addChildPlatformWidget):
16399 (WebCore::ScrollView::removeChildPlatformWidget):
16400 (WebCore::ScrollView::geometryChanged):
16401 * platform/mac/ScrollViewMac.mm:
16402 (WebCore::ScrollView::addChildPlatformWidget):
16403 (WebCore::ScrollView::removeChildPlatformWidget):
16404 * platform/qt/ScrollViewQt.cpp:
16405 (WebCore::ScrollView::geometryChanged):
16406 (WebCore::ScrollView::addChildPlatformWidget):
16407 (WebCore::ScrollView::removeChildPlatformWidget):
16408 * platform/win/ScrollViewWin.cpp:
16409 (WebCore::ScrollView::geometryChanged):
16410 (WebCore::ScrollView::setParentVisible):
16411 (WebCore::ScrollView::show):
16412 (WebCore::ScrollView::hide):
16413 * platform/wx/ScrollViewWx.cpp:
16414 (WebCore::ScrollView::addChildPlatformWidget):
16415 (WebCore::ScrollView::removeChildPlatformWidget):
16416
mitz@apple.com982d2cc2008-09-25 07:16:05 +0000164172008-09-25 Dan Bernstein <mitz@apple.com>
16418
16419 Reviewed by Dave Hyatt.
16420
16421 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
16422 <rdar://problem/6240821> Scrollbar not painted until hovered
16423
16424 * rendering/RenderWidget.cpp:
16425 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
16426 this method, which sets both the location and the size.
16427 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
16428 with a call to the new method setWidgetGeometry. Positioning the
16429 widget correctly ensures that the scroll bars invalidate correctly when
16430 they are created and resized.
16431 * rendering/RenderWidget.h:
16432
mitz@apple.com61969a62008-09-25 00:50:05 +0000164332008-09-24 Dan Bernstein <mitz@apple.com>
16434
16435 Rubber-stamped by Sam Weinig.
16436
16437 - create a "style" subfolder under "rendering" and move style files to that folder
16438
16439 * WebCore.vcproj/WebCore.vcproj:
16440
weinig@apple.comacfb9e12008-09-25 00:39:11 +0000164412008-09-24 Sam Weinig <sam@webkit.org>
16442
16443 Reviewed by Maciej Stachowiak.
16444
16445 Remove staticFunctionGetter. There is only one remaining user of
16446 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
16447
16448 * bindings/js/JSDOMWindowBase.cpp:
16449 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
16450
mitz@apple.com0cb3dff2008-09-24 23:40:29 +0000164512008-09-24 Jeremy Moskovich <jeremy@chromium.org>
16452
16453 Reviewed by Dan Bernstein.
16454
16455 Test: editing/spelling/inline_spelling_markers.html
16456
16457 - https://bugs.webkit.org/show_bug.cgi?id=20092
16458 Spelling markers positioned incorrectly in RTL text
16459
16460 Measure spelling markers with selectionRectForText() to fix RTL.
16461
16462 This patch also fixes hit-testing for spelling marker tool tips,
16463 which used to work only on the first line.
16464
16465 * rendering/InlineTextBox.cpp:
16466 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
16467
hyatt@apple.come5925322008-09-24 21:28:08 +0000164682008-09-24 David Hyatt <hyatt@apple.com>
16469
hyatt@apple.com31cd6d62008-09-24 21:45:19 +000016470 https://bugs.webkit.org/show_bug.cgi?id=21074
16471
hyatt@apple.come5925322008-09-24 21:28:08 +000016472 Make sure the viewless scrollbar knows how to paint properly when transformed.
16473
16474 Reviewed by Sam Weinig
16475
16476 * platform/mac/ScrollbarThemeMac.mm:
16477 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
16478 (WebCore::ScrollbarThemeMac::paint):
16479
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +0000164802008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
16481
16482 Not reviewed. Try to fix win build.
16483
16484 * bindings/js/JSSVGElementInstanceCustom.cpp:
16485 (WebCore::toJS):
16486 * dom/ContainerNodeAlgorithms.h:
16487 (WebCore::removeAllChildrenInContainer):
16488 (WebCore::appendChildToContainer):
16489 (WebCore::Private::addChildNodesToDeletionQueue):
16490
164912008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
16492
16493 Reviewed by Oliver.
16494
16495 Add ContainerNodeAlgorithms.h, as central place to share algorithms
16496 operating on TreeShared-derived classes with a Node-style interface.
16497
16498 This allows SVGElementInstance & ContainerNode to share code.
16499
16500 * dom/ContainerNode.cpp:
16501 (WebCore::ContainerNode::removeAllChildren):
16502 (WebCore::ContainerNode::addChild):
16503 * dom/ContainerNode.h:
16504 * dom/ContainerNodeAlgorithms.h: Added.
16505 (WebCore::removeAllChildrenInContainer):
16506 (WebCore::appendChildToContainer):
16507 (WebCore::Private::NodeRemovalDispatcher::dispatch):
16508 (WebCore::Private::addChildNodesToDeletionQueue):
16509
simon.fraser@apple.com557a0472008-09-24 21:08:23 +0000165102008-09-24 Simon Fraser <simon.fraser@apple.com>
16511
16512 Reviewed by Dave Hyatt
16513
16514 Wrap up dirtying the z-order list of the stacking context
16515 RenderLayer into a method.
16516 https://bugs.webkit.org/show_bug.cgi?id=21072
16517
16518 * rendering/RenderLayer.cpp:
16519 (WebCore::RenderLayer::setHasVisibleContent):
16520 (WebCore::RenderLayer::addChild):
16521 (WebCore::RenderLayer::removeChild):
16522 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
16523 (WebCore::RenderLayer::styleChanged):
16524 * rendering/RenderLayer.h:
16525 * rendering/RenderObject.cpp:
16526 (WebCore::RenderObject::setStyle):
16527
kmccullough@apple.comaf908e62008-09-24 20:22:23 +0000165282008-09-24 Kevin McCullough <kmccullough@apple.com>
16529
16530 Reviewed by Tim.
16531
16532 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
16533 or displayed multiple times
16534 - The Insepctor Controller was comparing JSValue pointers so thought the
16535 message was not a repeat, but the JS of the inspector compared the
16536 strings and so knew it was the same message and so overwrote the old
16537 message.
16538
16539 * page/InspectorController.cpp:
16540 (WebCore::ConsoleMessage::isEqual):
16541 (WebCore::InspectorController::addMessageToConsole):
16542 (WebCore::InspectorController::addConsoleMessage):
16543 (WebCore::InspectorController::startGroup):
16544 (WebCore::InspectorController::endGroup):
16545 * page/InspectorController.h:
16546
hyatt@apple.comf4c8f172008-09-24 20:19:26 +0000165472008-09-24 David Hyatt <hyatt@apple.com>
16548
16549 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
16550 arrow placement preference and the thumb jump preference).
16551
16552 Reviewed by Adam Roben
16553
16554 * platform/Scrollbar.cpp:
16555 (WebCore::Scrollbar::Scrollbar):
16556 (WebCore::Scrollbar::~Scrollbar):
16557 * platform/ScrollbarTheme.h:
16558 (WebCore::ScrollbarTheme::registerScrollbar):
16559 (WebCore::ScrollbarTheme::unregisterScrollbar):
16560 * platform/mac/ScrollbarThemeMac.h:
16561 * platform/mac/ScrollbarThemeMac.mm:
16562 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
16563 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
16564 (+[ScrollbarPrefsObserver registerAsObserver]):
16565 (WebCore::ScrollbarThemeMac::registerScrollbar):
16566 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
16567 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
16568 (WebCore::ScrollbarThemeMac::preferencesChanged):
16569
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +0000165702008-09-24 Rob Buis <buis@kde.org>
16571
16572 Reviewed by Darin.
16573
16574 https://bugs.webkit.org/show_bug.cgi?id=20557
16575 getScreenCTM() returns wrong values
16576
16577 Use the absolute position of the svg root when
16578 determining the screen ctm.
16579
16580 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
16581
16582 * svg/SVGSVGElement.cpp:
16583 (WebCore::SVGSVGElement::getScreenCTM):
16584
hyatt@apple.com40a73652008-09-24 18:15:15 +0000165852008-09-24 David Hyatt <hyatt@apple.com>
16586
hyatt@apple.come77b7d42008-09-24 18:26:51 +000016587 Turn off support for CSS variables.
16588
16589 * ChangeLog:
16590 * css/CSSParser.cpp:
16591 (WebCore::CSSParser::createVariablesRule):
16592 (WebCore::CSSParser::addVariable):
16593 (WebCore::CSSParser::addVariableDeclarationBlock):
16594
165952008-09-24 David Hyatt <hyatt@apple.com>
16596
hyatt@apple.com40a73652008-09-24 18:15:15 +000016597 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
16598
16599 * css/CSSGrammar.y:
16600 * css/CSSParserValues.cpp:
16601 (WebCore::CSSParserValue::isVariable):
16602 * css/CSSPrimitiveValue.cpp:
16603 (WebCore::CSSPrimitiveValue::cleanup):
16604 (WebCore::CSSPrimitiveValue::getStringValue):
16605 (WebCore::CSSPrimitiveValue::cssText):
16606 (WebCore::CSSPrimitiveValue::parserValue):
16607 * css/CSSPrimitiveValue.h:
16608 (WebCore::CSSPrimitiveValue::):
16609 (WebCore::CSSPrimitiveValue::isVariable):
16610
timothy@apple.com0214f092008-09-24 16:23:17 +0000166112008-09-24 Timothy Hatcher <timothy@apple.com>
16612
16613 Fixes a regression where the "incorrect MIME-type" warning would not
16614 show up correctly in the Console or the resources sidebar.
16615
16616 Reviewed by Kevin McCullough.
16617
16618 * page/inspector/Resource.js:
16619 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
16620 to the WebInspector.ConsoleMessage constructor call.
16621 (WebInspector.Resource.prototype._checkWarning): Ditto.
16622
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +0000166232008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
16624
16625 Reviewed by Simon.
16626
16627 Remove deprecated JS Qt bindings object call/construct code and fix autotests
16628
16629 * bridge/qt/qt_instance.cpp:
16630 (JSC::Bindings::QtInstance::QtInstance):
16631 * bridge/qt/qt_instance.h:
16632
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +0000166332008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
16634
16635 Reviewed by Alp Toker. Landed by Jan Alonzo.
16636
16637 Bug 20883: [CURL] Add deferred loading
16638 https://bugs.webkit.org/show_bug.cgi?id=20883
16639
16640 Implement deferred loading for the libcURL backend using curl_easy_pause.
16641 As the method was introduced in version 7.18.0, all the code checks for libcURL
16642 version.
16643
16644 * platform/network/curl/ResourceHandleCurl.cpp:
16645 (WebCore::ResourceHandle::setDefersLoading):
16646 * platform/network/curl/ResourceHandleManager.cpp:
16647 (WebCore::writeCallback): Add an assertion that deferred loading is not
16648 activated.
16649 (WebCore::headerCallback): Ditto.
16650 (WebCore::readCallback): Ditto.
16651 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
16652 defersLoading to be false in order to avoid triggering an assertion.
16653 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
16654 activated, pause the easy handle.
16655
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +0000166562008-09-23 Matt Lilek <webkit@mattlilek.com>
16657
16658 Reviewed by Tim Hatcher.
16659
16660 Inspector search field style tweaks.
16661
16662 * page/inspector/inspector.css:
16663
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +0000166642008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
16665
16666 Reviewed by Eric.
16667
16668 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
16669
16670 Fix missing negation in EventTargetNode::insertedIntoDocument.
16671 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
16672 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
16673
16674 * dom/EventTargetNode.cpp:
16675 (WebCore::EventTargetNode::insertedIntoDocument):
16676 (WebCore::EventTargetNode::dispatchGenericEvent):
16677 * dom/EventTargetNode.h:
16678
timothy@apple.combffde042008-09-24 02:07:39 +0000166792008-09-23 Timothy Hatcher <timothy@apple.com>
16680
timothy@apple.com99c03532008-09-24 02:08:44 +000016681 Adds search support to the Profiles panel.
16682
16683 The Profiles panel supports a few types of queries:
16684 * Standard string matching for function names and file URLs.
16685 * Greater than and less than search for numeric columns.
16686 So a query of ">24" will match all rows that have calls
16687 greater than 24. Or "<=42" will match all 42 or less.
16688 * Percent and time units. Adding a unit of "s", "ms" or "%"
16689 is supported and will match only the Self and Total columns.
16690 So a query of ">1.25s" will match all rows that took longer
16691 than 1.25 seconds.
16692
16693 Reviewed by Oliver Hunt.
16694
16695 * page/inspector/ProfileView.js:
16696 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
16697 it will start at the first result.
16698 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
16699 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
16700 data grid nodes.
16701 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
16702 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
16703 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
16704 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
16705 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
16706 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
16707 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
16708 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
16709 Expand all the ancestors first so the profile node will have a DataGridNode.
16710 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
16711 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
16712 have search matches.
16713 * page/inspector/ProfilesPanel.js:
16714 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
16715 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
16716 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
16717 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
16718 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
16719 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
16720 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
16721 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
16722 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
16723 * page/inspector/inspector.css: New style rules for the cell highlight color.
16724
167252008-09-23 Timothy Hatcher <timothy@apple.com>
16726
timothy@apple.com33c28442008-09-24 02:08:39 +000016727 Adds search support to the Resources and Scripts panels.
16728
16729 https://bugs.webkit.org/show_bug.cgi?id=21005
16730
16731 Reviewed by Oliver Hunt.
16732
16733 * page/inspector/Images/searchSmallBlue.png: Added.
16734 * page/inspector/Images/searchSmallBrightBlue.png: Added.
16735 * page/inspector/Images/searchSmallGray.png: Added.
16736 * page/inspector/Images/searchSmallWhite.png: Added.
16737 * page/inspector/ResourceView.js:
16738 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
16739 or "script-resource-views" since one might not be created yet.
16740 * page/inspector/ResourcesPanel.js:
16741 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
16742 are not this panel's current visible view. This can happen when a ResourceView is
16743 visible in the Scripts panel then switched to the this panel.
16744 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
16745 visibleView first.
16746 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
16747 that uses the current graph search function. So cycling through results will be in the order
16748 things appear in the sidebar.
16749 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
16750 resource's sidebar tree element.
16751 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
16752 in the sidebar. Calls the Panel prototype's searchCanceled.
16753 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
16754 in the sidebar. Calls the Panel prototype's performSearch.
16755 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
16756 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
16757 if there is a current search query.
16758 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
16759 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
16760 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
16761 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
16762 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
16763 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
16764 * page/inspector/ScriptView.js:
16765 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
16766 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
16767 it will start at the first result.
16768 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
16769 highlighting complete".
16770 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
16771 * page/inspector/ScriptsPanel.js:
16772 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
16773 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
16774 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
16775 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
16776 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
16777 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
16778 * page/inspector/SourceFrame.js:
16779 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
16780 * page/inspector/SourceView.js:
16781 (WebInspector.SourceView.prototype.hide):
16782 (WebInspector.SourceView.prototype.detach):
16783 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
16784 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
16785 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
16786 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
16787 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
16788 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
16789 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
16790 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
16791 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
16792 (WebInspector.SourceView.prototype.showingFirstSearchResult):
16793 (WebInspector.SourceView.prototype.showingLastSearchResult):
16794 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
16795 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
16796 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
16797 * page/inspector/inspector.css:
16798
167992008-09-23 Timothy Hatcher <timothy@apple.com>
16800
timothy@apple.com18950ed2008-09-24 02:08:32 +000016801 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
16802 so future code can be shared.
16803
16804 https://bugs.webkit.org/show_bug.cgi?id=21005
16805
16806 Reviewed by Oliver Hunt.
16807
16808 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
16809 And visibleResourceView to visibleView.
16810 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
16811
168122008-09-23 Timothy Hatcher <timothy@apple.com>
16813
timothy@apple.comcb23f4a2008-09-24 02:08:27 +000016814 Highlight all matched search results in the Elements panel DOM tree.
16815
16816 https://bugs.webkit.org/show_bug.cgi?id=21005
16817
16818 Reviewed by Oliver Hunt.
16819
16820 * page/inspector/ElementsPanel.js:
16821 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
16822 on all previous search results.
16823 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
16824 on all new search results.
16825 * page/inspector/ElementsTreeOutline.js:
16826 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
16827 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
16828 the highlighted class on the listItemElement.
16829 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
16830 if needed. Calls _updateTitle.
16831 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
16832 class so it can be styled when the highlighted class is present.
16833 * page/inspector/inspector.css: New style rules for the hihglight.
16834
168352008-09-23 Timothy Hatcher <timothy@apple.com>
16836
timothy@apple.com574c0522008-09-24 02:08:19 +000016837 Add search support to the Elements panel.
16838
16839 https://bugs.webkit.org/show_bug.cgi?id=21005
16840
16841 Reviewed by Oliver Hunt.
16842
16843 * page/inspector/ElementsPanel.js:
16844 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
16845 with a 0 match count to rest. Reset the other search properties.
16846 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
16847 query and a CSS selector on all the Documents in the page. Remembers the found nodes
16848 and avoids duplicates. Focuses the first result.
16849 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
16850 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
16851
168522008-09-23 Timothy Hatcher <timothy@apple.com>
16853
timothy@apple.com82d233c2008-09-24 02:08:15 +000016854 Add support to Panel that allows easy searching of sub-views.
16855
16856 https://bugs.webkit.org/show_bug.cgi?id=21005
16857
16858 Reviewed by Oliver Hunt.
16859
16860 * page/inspector/Panel.js:
16861 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
16862 views in the search results and delete the currentQuery property. Call
16863 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
16864 other search properties.
16865 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
16866 reset everything we need before doing a new search. Get an array of searchableViews
16867 from the panel, implemented by sub-classes. Iterate over the views one-by-one
16868 with an interval to prevent blocking the UI for large lists of searchableViews.
16869 This keeps the interface really responsive. Pass a finishedCallback function to
16870 the performSearch on each view so it can notify the panel of results.
16871 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
16872 searchResults of the visibleView, so we know where in the results we are.
16873 This is done every time incase the user manually navigates to a new view.
16874 If the view is showing the last result, jump to the next view and show it's
16875 first result. Otherwise jump to the next result in the current view.
16876 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
16877
168782008-09-23 Timothy Hatcher <timothy@apple.com>
16879
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +000016880 Add support for asking the current panel to perform a search, find next/previous and clear.
16881 A search is performed on the new new current panel when switching between panels. The search
16882 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
16883 be searched. The search field contents are selected when Command/Control-F or Enter/Return
16884 is pressed, so the user can easily type an entirely new query. The search match count shows
16885 up in the toolbar next to the search field.
16886
16887 Also changed:
16888 * Rename lastQuery to currentQuery since it better matches the truth.
16889 * Set the search field "results" attribute to zero since results arn't saved for
16890 how we use the search field.
16891 * Make repeated presses of the Return key jump to the next search result instead
16892 of doing nothing.
16893 * Increased the search field width.
16894
16895 https://bugs.webkit.org/show_bug.cgi?id=21005
16896
16897 Reviewed by Oliver Hunt.
16898
16899 * English.lproj/localizedStrings.js: New strings.
16900 * page/inspector/inspector.css: New styles.
16901 * page/inspector/inspector.html: Add the search-results-matches element. Add the
16902 incremental attribute to the search field and set the results attribute to zero.
16903 * page/inspector/inspector.js:
16904 (WebInspector.set currentPanel): perform the search on the new panel.
16905 (WebInspector.loaded): Change the event listeners and remove code that changes
16906 the search label text.
16907 (WebInspector.documentKeyDown): Add support for Command/Control-G and
16908 Command/Control-Shift-G. To jump to the next and previous search results.
16909 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
16910 This does different things depending on the attached state.
16911 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
16912 This prevents a "search" event from firing for key down. We handle the Enter key
16913 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
16914 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
16915 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
16916 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
16917 Call updateSearchMatchesCount to reset the matches count in the toolbar.
16918 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
16919
169202008-09-23 Timothy Hatcher <timothy@apple.com>
16921
timothy@apple.com1d5227a2008-09-24 02:08:01 +000016922 Remove the previous Inspector search code to make room for the new stuff.
16923
16924 https://bugs.webkit.org/show_bug.cgi?id=21005
16925
16926 Reviewed by Oliver Hunt.
16927
16928 * page/inspector/inspector.css:
16929 * page/inspector/inspector.html:
16930 * page/inspector/inspector.js:
16931 (WebInspector.get/set showingSearchResults): Removed.
16932 (WebInspector.searchResultsKeyDown): Removed.
16933 (WebInspector.searchResultsResizerDragStart): Removed.
16934 (WebInspector.searchResultsResizerDragEnd): Removed.
16935 (WebInspector.searchResultsResizerDrag): Removed.
16936 (WebInspector.performSearch): Removed searching parts.
16937
169382008-09-23 Timothy Hatcher <timothy@apple.com>
16939
timothy@apple.com5e915b722008-09-24 02:07:56 +000016940 Use the Array.remove helper function in more places.
16941
16942 https://bugs.webkit.org/show_bug.cgi?id=21037
16943
16944 Reviewed by Kevin McCullough.
16945
16946 * page/inspector/ResourceCategory.js:
16947 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
16948 * page/inspector/ResourcesPanel.js:
16949 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
16950 * page/inspector/inspector.js:
16951 (WebInspector.removeResource): Ditto.
16952
169532008-09-23 Timothy Hatcher <timothy@apple.com>
16954
timothy@apple.com3e116f12008-09-24 02:07:50 +000016955 Fixes a bug where inspecting a node after reloading the page
16956 would not reveal the node in the DOM tree. The TreeOutline
16957 was not being told to forget decendants of a removed child.
16958 So old TreeElements would be found that are not in the tree.
16959
16960 https://bugs.webkit.org/show_bug.cgi?id=21036
16961
16962 Reviewed by Kevin McCullough.
16963
16964 * page/inspector/treeoutline.js:
16965 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
16966 in addition to _forgetTreeElement.
16967 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
16968 in addition to _forgetTreeElement.
16969 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
16970 search for known elements.
16971 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
16972 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
16973 descendants and call _forgetTreeElement.
16974 * page/inspector/utilities.js:
16975 (Array.prototype.remove): Speed up this function by using Array.indexOf
16976 when onlyFirst is true.
16977
169782008-09-23 Timothy Hatcher <timothy@apple.com>
16979
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +000016980 Fixes a bug where inspecting some short text nodes does
16981 not reveal them in the Elements panel DOM tree.
16982
16983 https://bugs.webkit.org/show_bug.cgi?id=21035
16984
16985 Reviewed by Oliver Hunt.
16986
16987 * page/inspector/ElementsTreeOutline.js:
16988 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
16989 The revealAndSelectNode() method might find a different element
16990 if there is inlined text, and the select() call would change the
16991 focusedDOMNode and reenter this setter. So to avoid calling
16992 focusedNodeChanged() twice, first check if _focusedDOMNode is
16993 the same node as the one passed in.
16994 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
16995 this.treeOutline, since this is the TreeOutline.
16996 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
16997 Provides default functions for isAncestor, getParet and equal.
16998 Calls the base protoype's findTreeElement. If that returns null
16999 and the node is a text node, try finding it's parent.
17000 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
17001 Renamed to revealAndSelectNode.
17002 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
17003 Selects and reveals the node passed in. Use the simple findTreeElement.
17004 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
17005 Remove use of this.treeOutline, since this is the TreeOutline.
17006
170072008-09-23 Timothy Hatcher <timothy@apple.com>
17008
timothy@apple.combffde042008-09-24 02:07:39 +000017009 Fixes an exception that happened when removing a Resource
17010 from the ResourcesPanel.
17011
17012 https://bugs.webkit.org/show_bug.cgi?id=21034
17013
17014 Reviewed by Kevin McCullough.
17015
17016 * page/inspector/ResourcesPanel.js:
17017 (WebInspctor.ResourcesPanel.prototype.removeResource):
17018 Remove the graphElement.
17019
kmccullough@apple.com70d32f22008-09-24 01:18:31 +0000170202008-09-23 Kevin McCullough <kmccullough@apple.com>
17021
17022 Fixed "Time" to "Tim"
17023
17024 * ChangeLog:
17025
zimmermann@webkit.org718a2232008-09-24 01:00:42 +0000170262008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
17027
17028 Reviewed by Oliver.
17029
17030 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
17031 from SVGDocumentExtensions to SVGElement. It's more useful to store
17032 the list of SVGElementInstances per SVGElement, instead of using
17033 a document-wide hash for this purpose.
17034
17035 * svg/SVGAnimateMotionElement.cpp:
17036 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
17037 * svg/SVGAnimateTransformElement.cpp:
17038 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
17039 * svg/SVGAnimationElement.cpp:
17040 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
17041 * svg/SVGDocumentExtensions.cpp:
17042 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
17043 * svg/SVGDocumentExtensions.h:
17044 * svg/SVGElement.cpp:
17045 (WebCore::SVGElement::mapInstanceToElement):
17046 (WebCore::SVGElement::removeInstanceMapping):
17047 (WebCore::SVGElement::instancesForElement):
17048 * svg/SVGElement.h:
17049 * svg/SVGElementInstance.cpp:
17050 (WebCore::SVGElementInstance::SVGElementInstance):
17051 (WebCore::SVGElementInstance::~SVGElementInstance):
17052 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
17053 * svg/SVGElementInstance.h:
17054 * svg/SVGStyledElement.cpp:
17055 (WebCore::SVGStyledElement::svgAttributeChanged):
17056 (WebCore::SVGStyledElement::childrenChanged):
17057 * svg/SVGStyledElement.h:
17058
kevino@webkit.org706ea432008-09-24 00:53:56 +0000170592008-09-23 Kevin Ollivier <kevino@theolliviers.com>
17060
17061 wx build fix.
17062
17063 * WebCoreSources.bkl:
17064
zimmermann@webkit.org97c71082008-09-24 00:23:28 +0000170652008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
17066
17067 Rubber stamped by Sam.
17068
17069 Move code from EventTarget to EventTargetNode.
17070
17071 I refactored most parts to live in EventTarget, a year ago,
17072 though the implementation of EventTargetSVGElementInstance is
17073 done in another way, that obsoletes this.
17074
17075 * dom/Document.cpp:
17076 (WebCore::Document::addListenerTypeIfNeeded):
17077 * dom/Document.h:
17078 * dom/EventTarget.cpp:
17079 * dom/EventTarget.h:
17080 (WebCore::allowEventDispatch):
17081 * dom/EventTargetNode.cpp:
17082 (WebCore::EventTargetNode::insertedIntoDocument):
17083 (WebCore::EventTargetNode::removedFromDocument):
17084 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
17085 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
17086 (WebCore::EventTargetNode::addEventListener):
17087 (WebCore::EventTargetNode::removeEventListener):
17088 (WebCore::EventTargetNode::removeAllEventListeners):
17089 (WebCore::EventTargetNode::handleLocalEvents):
17090 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
17091 (WebCore::EventTargetNode::dispatchEvent):
17092 (WebCore::EventTargetNode::dispatchGenericEvent):
17093 (WebCore::EventTargetNode::dispatchWindowEvent):
17094 (WebCore::EventTargetNode::removeEventListenerForType):
17095 * dom/EventTargetNode.h:
17096 * svg/EventTargetSVGElementInstance.cpp:
17097 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
17098 * svg/SVGElement.cpp:
17099 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
17100 * svg/SVGElement.h:
17101 (WebCore::SVGElement::supplementalTransform):
17102
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +0000171032008-09-23 Dave Hyatt <hyatt@apple.com>
17104
17105 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
17106 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
17107
17108 Reviewed by Sam Weinig
17109
17110 * platform/mac/ScrollbarThemeMac.mm:
17111 (WebCore::ScrollbarThemeMac::trackRect):
17112 * platform/win/ScrollbarThemeSafari.cpp:
17113 (WebCore::ScrollbarTheme::nativeTheme):
17114 (WebCore::ScrollbarThemeSafari::trackRect):
17115
bdakin@apple.comaab5d692008-09-24 00:09:33 +0000171162008-09-23 Beth Dakin <bdakin@apple.com>
17117
17118 Reviewed by Sam Weinig.
17119
17120 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
17121 link at gmail does not support AXPress action
17122 and corresponding: <rdar://problem/6216178>
17123
17124 I fixed this bug by making AccessibilityObject::anchorElement
17125 support ARIA links.
17126
17127 * page/AccessibilityImageMapLink.cpp:
17128 (WebCore::AccessibilityImageMapLink::anchorElement):
17129 * page/AccessibilityImageMapLink.h:
17130 * page/AccessibilityObject.cpp:
17131 (WebCore::AccessibilityObject::anchorElement):
17132 * page/AccessibilityObject.h:
17133 (WebCore::AccessibilityObject::isNativeAnchor):
17134 * page/AccessibilityRenderObject.cpp:
17135 (WebCore::AccessibilityRenderObject::isNativeAnchor):
17136 (WebCore::AccessibilityRenderObject::anchorElement):
17137 (WebCore::AccessibilityRenderObject::internalLinkElement):
17138 (WebCore::AccessibilityRenderObject::url):
17139 * page/AccessibilityRenderObject.h:
17140 * page/mac/AccessibilityObjectWrapper.mm:
17141 (AXLinkElementForNode):
17142
kmccullough@apple.com58f6b182008-09-24 00:05:34 +0000171432008-09-23 Kevin McCullough <kmccullough@apple.com>
17144
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000017145 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000017146
17147 Bug 20949: Catch repeated messages in Inspector Controller to limit
17148 memory usage
17149 - Store the repeat count in the Console Message object, in the
17150 Inspector Controller and JS ConsoleMessage object.
17151
17152 * page/InspectorController.cpp:
17153 (WebCore::ConsoleMessage::ConsoleMessage):
17154 (WebCore::ConsoleMessage::operator==):
17155 (WebCore::InspectorController::InspectorController):
17156 (WebCore::InspectorController::addConsoleMessage):
17157 (WebCore::InspectorController::addScriptConsoleMessage):
17158 * page/InspectorController.h:
17159 * page/inspector/Console.js:
17160 * page/inspector/Resource.js:
17161 * page/inspector/ResourcesPanel.js:
17162 * page/inspector/SourceFrame.js:
17163
zimmermann@webkit.org29d22032008-09-23 23:44:20 +0000171642008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
17165
17166 Reviewed by Eric.
17167
17168 Working on proper EventTarget support for SVGElementInstance.
17169
17170 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
17171 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
17172
17173 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
17174 implementation. Let it use TreeShared directly.
17175
17176 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
17177 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
17178
17179 * GNUmakefile.am:
17180 * WebCore.pro:
17181 * WebCore.vcproj/WebCore.vcproj:
17182 * WebCore.xcodeproj/project.pbxproj:
17183 * bindings/js/JSEventTargetBase.cpp:
17184 (WebCore::retrieveEventTargetAndCorrespondingNode):
17185 (WebCore::toJS):
17186 * bindings/js/JSEventTargetBase.h:
17187 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
17188 (WebCore::):
17189 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
17190 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
17191 (WebCore::JSEventTargetSVGElementInstance::setListener):
17192 (WebCore::JSEventTargetSVGElementInstance::getListener):
17193 (WebCore::toEventTargetSVGElementInstance):
17194 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
17195 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
17196 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
17197 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
17198 (WebCore::JSEventTargetSVGElementInstance::put):
17199 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
17200 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
17201 (WebCore::toJS):
17202 * bindings/objc/DOM.mm:
17203 (+[DOMNode _wrapEventTarget:WebCore::]):
17204 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
17205 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
17206 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
17207 (-[DOMSVGElementInstance WebCore::]):
17208 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
17209 (-[DOMSVGElementInstance addEventListener:::]):
17210 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
17211 (-[DOMSVGElementInstance removeEventListener:::]):
17212 (-[DOMSVGElementInstance dispatchEvent:]):
17213 * bindings/objc/DOMEvents.h:
17214 * bindings/scripts/CodeGeneratorJS.pm:
17215 * bindings/scripts/CodeGeneratorObjC.pm:
17216 * svg/EventTargetSVGElementInstance.cpp: Added.
17217 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
17218 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
17219 (WebCore::EventTargetSVGElementInstance::addEventListener):
17220 (WebCore::EventTargetSVGElementInstance::removeEventListener):
17221 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
17222 * svg/EventTargetSVGElementInstance.h: Added.
17223 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
17224 (WebCore::EventTargetSVGElementInstance::toNode):
17225 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
17226 (WebCore::EventTargetSVGElementInstance::refEventTarget):
17227 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
17228 (WebCore::EventTargetSVGElementInstanceCast):
17229 * svg/SVGElement.cpp:
17230 (WebCore::SVGElement::dispatchEvent):
17231 * svg/SVGElementInstance.cpp:
17232 (WebCore::SVGElementInstance::SVGElementInstance):
17233 (WebCore::SVGElementInstance::~SVGElementInstance):
17234 * svg/SVGElementInstance.h:
17235 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
17236 * svg/SVGElementInstance.idl:
17237
mitz@apple.come47c5af2008-09-23 21:47:54 +0000172382008-09-23 Dan Bernstein <mitz@apple.com>
17239
17240 Reviewed by Dave Hyatt.
17241
17242 - https://bugs.webkit.org/show_bug.cgi?id=21040
17243 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
17244
17245 * platform/graphics/mac/SimpleFontDataMac.mm:
17246 (WebCore::SimpleFontData::getCTFont):
17247
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +0000172482008-09-23 David Hyatt <hyatt@apple.com>
17249
17250 https://bugs.webkit.org/show_bug.cgi?id=21039
17251
17252 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
17253
17254 Reviewed by Sam Weinig
17255
17256 * platform/ScrollView.h:
17257 * platform/Scrollbar.cpp:
17258 (WebCore::Scrollbar::setFrameGeometry):
17259 * platform/Scrollbar.h:
17260 * platform/Widget.cpp:
17261 (WebCore::Widget::convertFromContainingWindow):
17262 * platform/Widget.h:
17263 * platform/mac/ScrollViewMac.mm:
17264 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17265 (WebCore::ScrollView::ScrollView):
17266 (WebCore::ScrollView::~ScrollView):
17267 (WebCore::ScrollView::windowResizerRect):
17268 (WebCore::ScrollView::resizerOverlapsContent):
17269 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
17270 (WebCore::ScrollView::setParent):
17271 * platform/mac/WidgetMac.mm:
17272 (WebCore::Widget::convertFromContainingWindow):
17273
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +0000172742008-09-23 Dirk Schulze <vbs85@gmx.de>
17275
17276 Reviewed by Darin Adler. Landed by Jan Alonzo.
17277
17278 Added support for getImageData() and putImageData()
17279 to Cairo.
17280
17281 [CAIRO] needs getImageData and putImageData support
17282 https://bugs.webkit.org/show_bug.cgi?id=20838
17283
17284 * platform/graphics/cairo/ImageBufferCairo.cpp:
17285 (WebCore::ImageBuffer::ImageBuffer):
17286 (WebCore::ImageBuffer::getImageData):
17287 (WebCore::ImageBuffer::putImageData):
17288
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +0000172892008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
17290
17291 Reviewed by Holger Freyther.
17292
17293 http://bugs.webkit.org/show_bug.cgi?id=18987
17294 [GTK] Implement SharedBuffer::createWithContentsOfFile and
17295 KURL::fileSystemPath
17296
17297 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
17298 * platform/gtk/KURLGtk.cpp: Added.
17299 (WebCore::KURL::fileSystemPath): Implemented.
17300 * platform/gtk/SharedBufferGtk.cpp: Added.
17301 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
17302 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
17303
ap@webkit.org198304c2008-09-23 16:34:41 +0000173042008-09-23 Alexey Proskuryakov <ap@webkit.org>
17305
ap@webkit.orgccfa60a2008-09-23 20:39:22 +000017306 Reviewed by Oliver Hunt, okayed by Darin Adler.
17307
17308 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
17309
17310 * rendering/InlineTextBox.cpp:
17311 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
17312
173132008-09-23 Alexey Proskuryakov <ap@webkit.org>
17314
ap@webkit.org198304c2008-09-23 16:34:41 +000017315 Reviewed by Darin Adler.
17316
17317 https://bugs.webkit.org/show_bug.cgi?id=21023
17318 Don't use TEC for encodings supported by ICU
17319
17320 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
17321 x-mac-greek, and x-mac-turkish.
17322
17323 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
17324 Register aliases for these encodings that are not registered automatically; updated comments.
17325
mjs@apple.coma6dc93d2008-09-23 07:46:55 +0000173262008-09-23 Maciej Stachowiak <mjs@apple.com>
17327
17328 Reviewed by Darin.
17329
17330 - speed up instanceof some more
17331 https://bugs.webkit.org/show_bug.cgi?id=20818
17332
17333 ~2% speedup on EarleyBoyer
17334
17335 (WebCore updates.)
17336
17337 * bindings/js/JSQuarantinedObjectWrapper.h:
17338 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
17339
oliver@apple.combc10aae2008-09-23 07:40:49 +0000173402008-09-22 Darin Adler <darin@apple.com>
17341
17342 Reviewed by Oliver Hunt.
17343
17344 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
17345 getting pixels by index from CanvasPixelArray is unnecessarily slow
17346
17347 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
17348 * WebCore.vcproj/WebCore.vcproj: Ditto.
17349 * WebCore.xcodeproj/project.pbxproj: Ditto.
17350
17351 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
17352 indexSetter. These are now both inlined, so in the header.
17353 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
17354 function is what's used for HasCustomIndexGetter. Also moved the
17355 indexSetter function here.
17356
17357 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
17358 to use a getByIndex member function rather than an indexGetter static
17359 member function in a property slot. This lets us avoid the property
17360 slot mechanism's rule where it turns numeric property names into
17361 strings in the identifier table, which is good because that's slow.
17362 Also added a new property CustomHeader that allows IDL files to
17363 introduce headers to be included -- useful when we have functions
17364 that we want to inline into the binding.
17365
17366 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
17367
eric@webkit.org924a2d32008-09-23 07:04:11 +0000173682008-09-23 Eric Seidel <eric@webkit.org>
17369
17370 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +000017371
17372 Another blind stab in the dark.
17373
17374 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
17375
173762008-09-23 Eric Seidel <eric@webkit.org>
17377
17378 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +000017379
17380 Third time's the charm, eh? My local build is sadly still not done...
17381
17382 * platform/graphics/AffineTransform.cpp: remove extra &
17383 * platform/graphics/AffineTransform.h: remove extra &
17384
eric@webkit.orgf394f462008-09-23 06:38:10 +0000173852008-09-22 Eric Seidel <eric@webkit.org>
17386
17387 No review, build fix only.
17388
eric@webkit.orgf9212312008-09-23 06:47:51 +000017389 * platform/graphics/AffineTransform.cpp: remove extra ;
17390
173912008-09-22 Eric Seidel <eric@webkit.org>
17392
17393 No review, build fix only.
17394
eric@webkit.orgf394f462008-09-23 06:38:10 +000017395 Speculative fix for the build while I wait for my compile to finish.
17396
17397 * platform/graphics/AffineTransform.cpp:
17398
eric@webkit.org10583212008-09-23 06:05:59 +0000173992008-09-22 Dirk Schulze <vbs85@gmx.de>
17400
17401 Reviewed by eseidel. Landed by eseidel.
17402
17403 Moved makeMapBetweenRects from SVG/CG to AffineTransform
17404 Make SVGResourceClipper::applyClip more cross-platform
17405
17406 * platform/graphics/AffineTransform.cpp:
17407 * platform/graphics/AffineTransform.h:
17408 * svg/graphics/cg/CgSupport.cpp:
17409 * svg/graphics/cg/CgSupport.h:
17410 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
17411 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
17412 * svg/graphics/cg/SVGResourceClipperCg.cpp:
17413 (WebCore::SVGResourceClipper::applyClip):
17414
alp@webkit.orgfaa63e42008-09-23 03:08:57 +0000174152008-09-22 Alp Toker <alp@nuanti.com>
17416
17417 Reviewed by David Hyatt.
17418
17419 https://bugs.webkit.org/show_bug.cgi?id=16331
17420 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
17421
17422 Obey GTK+ focusing conventions for controls and anchor elements.
17423
17424 It could be interesting to push these decisions up to Settings or
17425 ChromeClient some day but this gets things working.
17426
17427 Right and middle click events still need some work to match GTK+
17428 conventions.
17429
17430 * html/HTMLAnchorElement.cpp:
17431 (WebCore::HTMLAnchorElement::isMouseFocusable):
17432 * html/HTMLFormControlElement.cpp:
17433 (WebCore::HTMLFormControlElement::isMouseFocusable):
17434 * page/EventHandler.cpp:
17435 (WebCore::EventHandler::sendContextMenuEvent):
17436
darin@apple.com4a266462008-09-23 01:24:31 +0000174372008-09-22 Darin Adler <darin@apple.com>
17438
17439 * page/mac/FrameMac.mm:
17440 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
17441
weinig@apple.comb6a39b72008-09-23 01:19:56 +0000174422008-09-22 Sam Weinig <sam@webkit.org>
17443
17444 Reviewed by Dan Bernstein.
17445
17446 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
17447 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
17448 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
17449 class!
17450
17451 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
17452 non-selectable input types, but return undefined when accessed.
17453
17454 * DerivedSources.make:
17455 * GNUmakefile.am:
17456 * WebCore.pro:
17457 * WebCore.vcproj/WebCore.vcproj:
17458 * WebCore.xcodeproj/project.pbxproj:
17459 * WebCoreSources.bkl:
17460 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
17461 * bindings/js/JSHTMLInputElementBase.h: Removed.
17462 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
17463 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
17464 (WebCore::JSHTMLInputElement::selectionStart):
17465 (WebCore::JSHTMLInputElement::selectionEnd):
17466 * bindings/js/JSHTMLInputElementCustom.h: Added.
17467 * html/HTMLInputElement.idl:
17468
mitz@apple.com895c54c2008-09-23 00:48:17 +0000174692008-09-22 Dan Bernstein <mitz@apple.com>
17470
17471 Reviewed by Sam Weinig.
17472
17473 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
17474
17475 Not testable in DumpRenderTree or in Safari
17476
17477 * page/mac/FrameMac.mm:
17478 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
17479 case that the selection start node is a block.
17480
hyatt@apple.com78083552008-09-22 22:17:40 +0000174812008-09-22 David Hyatt <hyatt@apple.com>
17482
17483 https://bugs.webkit.org/show_bug.cgi?id=21007
17484
17485 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
17486
17487 Reviewed by Sam Weinig
17488
17489 * page/EventHandler.cpp:
17490 (WebCore::EventHandler::handleMouseDoubleClickEvent):
17491
eric@webkit.orgb57170b2008-09-22 21:44:28 +0000174922008-09-22 Eric Seidel <eric@webkit.org>
17493
17494 No review, rollback only.
17495
17496 Roll out Peter's change (per his request)
17497 http://trac.webkit.org/changeset/36069
17498 https://bugs.webkit.org/show_bug.cgi?id=19663
17499 This change has been the source of numerous regressions
17500 (several of which were latent bugs revealed by this change,
17501 others were bugs in this change)
17502
17503 * platform/graphics/BitmapImage.cpp:
17504 (WebCore::BitmapImage::BitmapImage):
17505 (WebCore::BitmapImage::startAnimation):
17506 (WebCore::BitmapImage::advanceAnimation):
17507 * platform/graphics/BitmapImage.h:
17508 * platform/graphics/cairo/ImageCairo.cpp:
17509 (WebCore::BitmapImage::draw):
17510 * platform/graphics/cg/ImageCG.cpp:
17511 (WebCore::BitmapImage::draw):
17512 * platform/graphics/qt/ImageQt.cpp:
17513 (WebCore::BitmapImage::draw):
17514 * platform/graphics/wx/ImageWx.cpp:
17515 (WebCore::BitmapImage::draw):
17516
mitz@apple.comdc318202008-09-22 21:32:14 +0000175172008-09-22 Dan Bernstein <mitz@apple.com>
17518
17519 Reviewed by Sam Weinig.
17520
17521 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
17522
17523 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
17524 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
17525
17526 * config.h: Use Core Text if not building for Leopard or Tiger.
17527
hyatt@apple.com143e97c2008-09-22 21:03:02 +0000175282008-09-22 David Hyatt <hyatt@apple.com>
17529
17530 https://bugs.webkit.org/show_bug.cgi?id=21006
17531
17532 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
17533 switched on. There are still a few more refinements to make to the rendering and behavior.
17534
17535 Reviewed by Darin Adler
17536
17537 * platform/ScrollbarThemeComposite.cpp:
17538 (WebCore::ScrollbarThemeComposite::paint):
17539 * platform/ScrollbarThemeComposite.h:
17540 (WebCore::ScrollbarThemeComposite::paintTrack):
17541 (WebCore::ScrollbarThemeComposite::paintButton):
17542 (WebCore::ScrollbarThemeComposite::paintThumb):
17543 * platform/mac/ScrollbarThemeMac.h:
17544 * platform/mac/ScrollbarThemeMac.mm:
17545 (WebCore::ScrollbarThemeMac::backButtonRect):
17546 (WebCore::ScrollbarThemeMac::forwardButtonRect):
17547 (WebCore::scrollbarPartToHIPressedState):
17548 (WebCore::ScrollbarThemeMac::paint):
17549 * platform/mac/WidgetMac.mm:
17550 (WebCore::Widget::invalidateRect):
17551
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +0000175522008-09-22 Chris Marrin <cmarrin@apple.com>
17553
17554 Reviewed by Sam Weinig
17555
17556 transition end event when -webkit-transition-property: all puts wrong
17557 propertyName in event
17558 https://bugs.webkit.org/show_bug.cgi?id=20903
17559
17560 * page/animation/ImplicitAnimation.cpp:
17561 (WebCore::ImplicitAnimation::sendTransitionEvent):
17562
cfleizach@apple.com70013042008-09-22 18:30:36 +0000175632008-09-22 Chris Fleizach <cfleizach@apple.com>
17564
17565 Reviewed by Darin Adler.
17566
cfleizach@apple.comdebb8722008-09-22 18:47:16 +000017567 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
17568
17569 Test: accessibility/table-one-cell.html
17570
17571 * page/AccessibilityTable.cpp:
17572 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
17573
175742008-09-22 Chris Fleizach <cfleizach@apple.com>
17575
17576 Reviewed by Darin Adler.
17577
cfleizach@apple.com70013042008-09-22 18:30:36 +000017578 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
17579
17580 Test: accessibility/textarea-selected-text-range.html
17581
17582 * page/AccessibilityRenderObject.cpp:
17583 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
17584
hyatt@apple.com4139b152008-09-22 18:21:37 +0000175852008-09-22 David Hyatt <hyatt@apple.com>
17586
17587 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
17588 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
17589 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
17590 rule.
17591
17592 Reviewed by Sam Weinig
17593
17594 Added fast/css/nested-rule-parent-sheet.html
17595
17596 * css/CSSImportRule.cpp:
17597 (WebCore::CSSImportRule::insertedIntoParent):
17598 * css/CSSRule.cpp:
17599 (WebCore::CSSRule::parentStyleSheet):
17600 (WebCore::CSSRule::parentRule):
17601 * css/CSSStyleSheet.cpp:
17602 (WebCore::CSSStyleSheet::CSSStyleSheet):
17603 * css/CSSStyleSheet.h:
17604
mitz@apple.comd409a262008-09-22 18:17:57 +0000176052008-09-22 Dan Bernstein <mitz@apple.com>
17606
17607 Reviewed by Sam Weinig.
17608
17609 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
17610 Make the ATSUI code path respect spacingDisabled()
17611
17612 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
17613
17614 * platform/graphics/mac/FontMacATSUI.mm:
17615 (WebCore::overrideLayoutOperation):
17616
mjs@apple.com221b4752008-09-22 15:03:52 +0000176172008-09-22 Maciej Stachowiak <mjs@apple.com>
17618
17619 Reviewed by Cameron Zwarich.
17620
17621 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
17622
17623 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
17624
17625 2.2% speedup on EarleyBoyer benchmark.
17626
17627 * bindings/js/JSQuarantinedObjectWrapper.cpp:
17628 * bindings/js/JSQuarantinedObjectWrapper.h:
17629 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
17630 * bindings/scripts/CodeGeneratorJS.pm:
17631
aroben@apple.comd5cbddc2008-09-22 14:31:08 +0000176322008-09-22 Adam Roben <aroben@apple.com>
17633
17634 Windows build fix
17635
17636 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
17637
mjs@apple.coma173abd2008-09-22 13:59:06 +0000176382008-09-22 Maciej Stachowiak <mjs@apple.com>
17639
17640 Reviewed by Dave Hyatt.
17641
17642 Based on initial work by Darin Adler.
17643
17644 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
17645 - use this to JIT inline code for eq_null and neq_null
17646 https://bugs.webkit.org/show_bug.cgi?id=20823
17647
17648 * WebCore.xcodeproj/project.pbxproj:
17649 * WebCore.vcproj/WebCore.vcproj:
17650 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17651 (WebCore::JSCSSStyleDeclaration::nameGetter):
17652 * bindings/js/JSHTMLAllCollection.cpp: Added.
17653 (WebCore::):
17654 * bindings/js/JSHTMLAllCollection.h:
17655 (WebCore::JSHTMLAllCollection::createStructureID):
17656 (WebCore::JSHTMLAllCollection::toBoolean):
17657
vestbo@webkit.orgab848362008-09-22 13:27:06 +0000176582008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
17659
17660 Reviewed by Simon.
17661
17662 Fix the QtWebKit build
17663
17664 * bridge/qt/qt_instance.cpp:
17665 (JSC::Bindings::QtRuntimeObjectImp::construct):
17666 * bridge/qt/qt_runtime.cpp:
17667
alp@webkit.orgcc9b0812008-09-22 08:53:06 +0000176682008-09-22 Alp Toker <alp@nuanti.com>
17669
17670 Suggested by David Hyatt.
17671
17672 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
17673 so make it public.
17674
17675 * platform/ScrollView.h:
17676
hyatt@apple.com7cb18562008-09-22 07:57:52 +0000176772008-09-22 David Hyatt <hyatt@apple.com>
17678
hyatt@apple.combac66582008-09-22 08:36:44 +000017679 Fix a regression in Windows scrollbar painting. (Also fix the same
17680 bug in my new viewless Mac scrollbar painting code). The track rect
17681 was being improperly inflated when painting resulting in the scrollbar
17682 being too tall and painting in the border of overflow sections.
17683
17684 Reviewed by Oliver Hunt
17685
17686 * platform/mac/ScrollbarThemeMac.mm:
17687 (WebCore::ScrollbarThemeMac::trackRect):
17688 * platform/win/ScrollbarThemeSafari.cpp:
17689 (WebCore::ScrollbarThemeSafari::trackRect):
17690
176912008-09-22 David Hyatt <hyatt@apple.com>
17692
hyatt@apple.com7cb18562008-09-22 07:57:52 +000017693 Fix a hit testing bug where events are mistakenly passed to subframes
17694 if the mouse is over the border or padding area of the frame. Add
17695 a boolean flag, isOverWidget(), to hit test results so that EventHandler
17696 can check it to tell if the mouse is really over the content box of a
17697 RenderWidget and not just in the border/padding area.
17698
17699 This is not testable, since the old code properly recovered when it detected
17700 that the mouse was outside the bounds of the view, but this prevents
17701 the extra passdown from even occurring (and is basically a nice cleanup).
17702
17703 Reviewed by Oliver Hunt
17704
17705 * page/EventHandler.cpp:
17706 (WebCore::EventHandler::handleMousePressEvent):
17707 (WebCore::EventHandler::hitTestResultAtPoint):
17708 (WebCore::subframeForHitTestResult):
17709 (WebCore::EventHandler::handleMouseDoubleClickEvent):
17710 (WebCore::EventHandler::handleMouseMoveEvent):
17711 (WebCore::EventHandler::handleMouseReleaseEvent):
17712 (WebCore::EventHandler::handleWheelEvent):
17713 * page/MouseEventWithHitTestResults.h:
17714 (WebCore::MouseEventWithHitTestResults::isOverWidget):
17715 * rendering/HitTestResult.cpp:
17716 (WebCore::HitTestResult::HitTestResult):
17717 (WebCore::HitTestResult::operator=):
17718 * rendering/HitTestResult.h:
17719 (WebCore::HitTestResult::isOverWidget):
17720 (WebCore::HitTestResult::setIsOverWidget):
17721 * rendering/RenderWidget.cpp:
17722 (WebCore::RenderWidget::nodeAtPoint):
17723 * rendering/RenderWidget.h:
17724
hyatt@apple.comb2bf5272008-09-22 05:54:40 +0000177252008-09-21 David Hyatt <hyatt@apple.com>
17726
17727 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
17728 both it and ScrollView's updateContents method be off-limits to everyone in
17729 WebCore except for RenderView.
17730
17731 Make repaintViewRectangle the only possible method for WebCore code to do
17732 an invalidation. This ensures that all invalidates triggered by WebCore
17733 cross-platform code that cross ownerElement() boundaries are transform-aware.
17734
17735 Make sure that iframes/frames contained inside objects that have transforms
17736 or reflections are not allowed to blit (this was already true for transparency).
17737
17738 It is not possible to make a test for any of this, since iframe scrolling
17739 still doesn't work on Mac (since the invalidates are not being done
17740 through WebCore's cross-platform invalidation code but are instead going
17741 through NSScrollView's setNeedsDisplay still).
17742
17743 Reviewed by Oliver Hunt
17744
17745 * editing/SelectionController.cpp:
17746 (WebCore::SelectionController::recomputeCaretRect):
17747 (WebCore::SelectionController::invalidateCaretRect):
17748 (WebCore::SelectionController::focusedOrActiveStateChanged):
17749 * page/FrameView.cpp:
17750 (WebCore::FrameView::repaintContentRectangle):
17751 (WebCore::FrameView::endDeferredRepaints):
17752 * page/FrameView.h:
17753 * platform/ScrollView.h:
17754 * rendering/RenderBox.cpp:
17755 (WebCore::RenderBox::paintFillLayerExtended):
17756 * rendering/RenderLayer.cpp:
17757 (WebCore::RenderLayer::enclosingPositionedAncestor):
17758 (WebCore::RenderLayer::requiresSlowRepaints):
17759 * rendering/RenderLayer.h:
17760 (WebCore::RenderLayer::hasTransform):
17761 * rendering/RenderView.cpp:
17762 (WebCore::RenderView::paintBoxDecorations):
17763 (WebCore::RenderView::repaintViewRectangle):
17764 (WebCore::RenderView::setSelection):
17765
mjs@apple.com52b67602008-09-22 03:15:52 +0000177662008-09-21 Maciej Stachowiak <mjs@apple.com>
17767
17768 Reviewed by Darin.
17769
17770 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
17771 https://bugs.webkit.org/show_bug.cgi?id=20981
17772
17773 * bindings/js/JSAudioConstructor.cpp:
17774 (WebCore::JSAudioConstructor::JSAudioConstructor):
17775 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17776 (WebCore::JSCSSStyleDeclaration::nameGetter):
17777 * bindings/js/JSDOMBinding.cpp:
17778 (WebCore::createDOMStructure):
17779 * bindings/js/JSDOMBinding.h:
17780 (WebCore::getDOMStructure):
17781 * bindings/js/JSDOMWindowShell.cpp:
17782 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
17783 (WebCore::JSDOMWindowShell::setWindow):
17784 * bindings/js/JSEventTargetNode.cpp:
17785 (WebCore::JSEventTargetNode::createPrototype):
17786 * bindings/js/JSHTMLOptionElementConstructor.cpp:
17787 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
17788 * bindings/js/JSImageConstructor.cpp:
17789 (WebCore::JSImageConstructor::JSImageConstructor):
17790 * bindings/js/JSXMLHttpRequestConstructor.cpp:
17791 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
17792 * bindings/js/JSXSLTProcessorConstructor.cpp:
17793 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
17794 * bindings/scripts/CodeGeneratorJS.pm:
17795
darin@apple.comad89d662008-09-22 02:12:57 +0000177962008-09-21 Darin Adler <darin@apple.com>
17797
17798 Reviewed by Maciej Stachowiak.
17799
17800 - fix problem Maciej noticed where every JSNamedNodesCollection
17801 gets its own StructureID
17802
17803 * bindings/js/JSNamedNodesCollection.cpp:
17804 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
17805 getDOMStructure to get the structure.
17806 * bindings/js/JSNamedNodesCollection.h:
17807 (WebCore::JSNamedNodesCollection::createPrototype): Return the
17808 object prototype.
17809
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +0000178102008-09-20 David Hyatt <hyatt@apple.com>
17811
17812 Make sure transformed scrollbars in overflow sections position
17813 properly. This patch mimics the same behavior that works for
17814 iframes, namely making sure that the same code that dynamically
17815 adjusts iframe widget positions at paint time for fixed positioning
17816 and transforms also applies to scrollbars. (This is as simple as passing
17817 in the current translation factor at paint time rather than crawling
17818 up the layer tree to compute a "false" absolute position.)
17819
17820 An existing transform test covers this (although only a pixel result
17821 reveals the correct rendering).
17822
17823 Reviewed by Darin Adler
17824
17825 * rendering/RenderLayer.cpp:
17826 (WebCore::RenderLayer::updateLayerPositions):
17827 (WebCore::RenderLayer::positionOverflowControls):
17828 (WebCore::RenderLayer::paintOverflowControls):
17829 (WebCore::RenderLayer::paintLayer):
17830 * rendering/RenderLayer.h:
17831
sfalken@apple.comd0274692008-09-22 00:08:30 +0000178322008-09-21 Steve Falkenburg <sfalken@apple.com>
17833
sfalken@apple.com4fe10f92008-09-22 00:12:28 +000017834 Removed unnecessary nested timer check.
17835
17836 Rubber-stamped by Dan Bernstein.
17837
17838 * platform/win/SharedTimerWin.cpp:
17839 (WebCore::TimerWindowWndProc):
17840
178412008-09-21 Steve Falkenburg <sfalken@apple.com>
17842
sfalken@apple.comd0274692008-09-22 00:08:30 +000017843 Improve timer resolution on WinXP.
17844 https://bugs.webkit.org/show_bug.cgi?id=20979
17845
17846 Removed last-chance timer. It should not be necessary.
17847 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
17848 Remove Vista checks. We now run the same code on both XP and Vista.
17849
17850 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
17851 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
17852
17853 Reviewed by Maciej Stachowiak.
17854
17855 * platform/win/SharedTimerWin.cpp:
17856 (WebCore::):
17857 (WebCore::TimerWindowWndProc):
17858 (WebCore::setSharedTimerFireTime):
17859 * platform/win/SystemTimeWin.cpp:
17860 (WebCore::currentTime):
17861
eric@webkit.org3e96c482008-09-21 07:59:58 +0000178622008-09-21 Dirk Schulze <vbs85@gmx.de>
17863
17864 Reviewed by eseidel. Landed by eseidel.
17865
eric@webkit.orgc3431282008-09-21 10:37:37 +000017866 All platforms use the DashArray in the GraphicsContext.
17867
17868 * svg/graphics/SVGPaintServer.h:
17869 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
17870 (WebCore::SVGPaintServerGradient::setup):
17871 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
17872 (WebCore::SVGPaintServerPattern::setup):
17873 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
17874 (WebCore::SVGPaintServerSolid::setup):
17875 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
17876 (WebCore::SVGPaintServerGradient::setup):
17877 * svg/graphics/qt/SVGPaintServerQt.cpp:
17878 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
17879 (WebCore::SVGPaintServerSolid::setup):
17880
178812008-09-21 Dirk Schulze <vbs85@gmx.de>
17882
17883 Reviewed by eseidel. Landed by eseidel.
17884
eric@webkit.org3e96c482008-09-21 07:59:58 +000017885 Moved DashArray to GraphicsContext.
17886
17887 * GNUmakefile.am:
17888 * WebCore.vcproj/WebCore.vcproj:
17889 * WebCore.xcodeproj/project.pbxproj:
17890 * platform/graphics/DashArray.h: Added.
17891 * platform/graphics/GraphicsContext.h:
17892 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17893 (WebCore::GraphicsContext::setLineDash):
17894 * platform/graphics/cg/GraphicsContextCG.cpp:
17895 (WebCore::GraphicsContext::setLineDash):
17896 * platform/graphics/qt/GraphicsContextQt.cpp:
17897 (WebCore::GraphicsContext::setLineDash):
17898 * svg/graphics/SVGPaintServer.cpp:
17899 (WebCore::applyStrokeStyleToContext):
17900 * svg/graphics/SVGPaintServer.h:
17901 * svg/graphics/cg/CgSupport.cpp:
17902 * svg/graphics/cg/CgSupport.h:
17903
mitz@apple.com9138eca2008-09-21 07:16:29 +0000179042008-09-21 Dan Bernstein <mitz@apple.com>
17905
17906 Reviewed by Mark Rowe.
17907
17908 - fix linker warnings
17909
17910 * WebCore.base.exp:
17911
darin@apple.comb1491772008-09-21 06:34:40 +0000179122008-09-20 Darin Adler <darin@apple.com>
17913
darin@apple.comc3215132008-09-21 06:50:35 +000017914 - another try at fixing Qt
17915
17916 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
17917
179182008-09-20 Darin Adler <darin@apple.com>
17919
darin@apple.comb1491772008-09-21 06:34:40 +000017920 - blind attempt to fix Qt build
17921
17922 * bridge/qt/qt_runtime.cpp:
17923 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
17924 of regExpPrototype to make a RegExpObject. There should really be
17925 some sort of public helper function for this. Same thing for
17926 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
17927 (JSC::Bindings::):
17928 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
17929 It is not correct to do this inside the constructor because it could
17930 cause a garbage collect while the QtRuntimeMethod object is half-
17931 allocated, which could lead to a crash; note that RuntimeMethod,
17932 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
17933 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
17934
collinj@webkit.org8e01a432008-09-21 06:26:54 +0000179352008-09-20 Collin Jackson <collinj@webkit.org>
17936
17937 Prefetch DNS for hyperlinks that the user mouses over.
17938
17939 https://bugs.webkit.org/show_bug.cgi?id=20931
17940
17941 Reviewed by Sam Weinig.
17942
17943 * page/Chrome.cpp:
17944 (WebCore::Chrome::mouseDidMoveOverElement):
17945
darin@apple.com8281d832008-09-21 02:29:12 +0000179462008-09-20 Darin Adler <darin@apple.com>
17947
17948 Reviewed by Maciej Stachowiak.
17949
17950 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
17951 make each distinct C++ class get a distinct JSC::Structure
17952
17953 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17954 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
17955 ID. Note that this makes a new structure every time -- we could
17956 optimize this slightly be caching and reusing a single one.
17957
17958 * bridge/runtime_method.cpp:
17959 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
17960 getDOMStructure.
17961 * bridge/runtime_method.h:
17962 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
17963 getDOMStructure will work.
17964
17965 * bindings/js/JSDOMWindowShell.cpp:
17966 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
17967 0; needed in case garbage collection happens while creating the
17968 JSDOMWindow.
17969
mitz@apple.com9b3ac792008-09-21 00:42:30 +0000179702008-09-20 Dan Bernstein <mitz@apple.com>
17971
mitz@apple.comf674f4f2008-09-21 00:49:49 +000017972 Reviewed by Eric Seidel.
17973
17974 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +000017975 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
mitz@apple.comf674f4f2008-09-21 00:49:49 +000017976
17977 * svg/SVGTextContentElement.cpp:
17978 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
17979 not include the first character in the extraCharsAvailable count.
17980
kevino@webkit.org2bc0d822008-09-20 22:31:24 +0000179812008-09-20 Kevin Ollivier <kevino@theolliviers.com>
17982
kevino@webkit.orge66435f2008-09-20 23:39:25 +000017983 Reviewed by Dan Bernstein.
17984
17985 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +000017986
17987 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +000017988
17989 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
17990 (GetTextExtent):
17991
179922008-09-20 Kevin Ollivier <kevino@theolliviers.com>
17993
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000017994 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
17995
17996 * WebCoreSources.bkl:
17997 * platform/ScrollView.h:
17998 * platform/wx/PopupMenuWx.cpp:
17999 (WebCore::PopupMenu::show):
18000 * platform/wx/RenderThemeWx.cpp:
18001 (WebCore::RenderThemeWx::paintButton):
18002 (WebCore::RenderThemeWx::paintTextField):
18003 (WebCore::RenderThemeWx::paintMenuList):
18004 (WebCore::RenderThemeWx::paintMenuListButton):
18005 * platform/wx/ScrollViewWx.cpp:
18006 (WebCore::ScrollView::setPlatformWidget):
18007 (WebCore::ScrollView::updateContents):
18008 (WebCore::ScrollView::update):
18009 (WebCore::ScrollView::visibleWidth):
18010 (WebCore::ScrollView::visibleHeight):
18011 (WebCore::ScrollView::scrollBy):
18012 (WebCore::ScrollView::resizeContents):
18013 (WebCore::ScrollView::contentsWidth):
18014 (WebCore::ScrollView::contentsHeight):
18015 (WebCore::ScrollView::isScrollViewScrollbar):
18016 (WebCore::ScrollView::adjustScrollbars):
18017 (WebCore::ScrollView::inWindow):
18018 (WebCore::ScrollView::removeChild):
18019 * platform/wx/WidgetWx.cpp:
18020 * plugins/wx/PluginViewWx.cpp:
18021 (WebCore::PluginView::setParentVisible):
18022 (WebCore::PluginView::updatePluginWidget):
18023
timothy@apple.comb697f272008-09-20 22:21:59 +0000180242008-09-20 Timothy Hatcher <timothy@apple.com>
18025
18026 Fix the new Node Search button image to not be blurry.
18027
18028 * page/inspector/Images/nodeSearchButtons.png:
18029
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +0000180302008-09-20 Matt Lilek <webkit@mattlilek.com>
18031
18032 Reviewed by Tim Hatcher.
18033
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +000018034 Cut down some of the inspector javascript -> InspectorController glue code
18035 with two new macros. Also rearrange the exposed function list to be grouped
18036 by implementation and to all explicitly use the WebCore namespace.
18037
18038 * page/InspectorController.cpp:
18039 (WebCore::InspectorController::windowScriptObjectAvailable):
18040
180412008-09-20 Matt Lilek <webkit@mattlilek.com>
18042
18043 Reviewed by Tim Hatcher.
18044
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000018045 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
18046
18047 * page/inspector/inspector.css:
18048
zimmermann@webkit.org953b7442008-09-20 20:19:45 +0000180492008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
18050
18051 Reviewed by Eric.
18052
18053 Refactor HTMLImageLoader/SVGImageLoader code.
18054 Move html/HTMLImageLoader.* to loader/ImageLoader.*
18055
18056 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
18057 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
18058
18059 * GNUmakefile.am:
18060 * WebCore.pro:
18061 * WebCore.vcproj/WebCore.vcproj:
18062 * WebCore.xcodeproj/project.pbxproj:
18063 * WebCoreSources.bkl:
18064 * dom/Document.cpp:
18065 (WebCore::Document::dispatchImageLoadEventSoon):
18066 (WebCore::Document::removeImage):
18067 (WebCore::Document::dispatchImageLoadEventsNow):
18068 * dom/Document.h:
18069 * html/HTMLImageLoader.cpp:
18070 (WebCore::HTMLImageLoader::HTMLImageLoader):
18071 (WebCore::HTMLImageLoader::~HTMLImageLoader):
18072 (WebCore::HTMLImageLoader::sourceURI):
18073 (WebCore::HTMLImageLoader::notifyFinished):
18074 * html/HTMLImageLoader.h:
18075 * loader/DocLoader.h:
18076 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
18077 (WebCore::ImageLoader::ImageLoader):
18078 (WebCore::ImageLoader::~ImageLoader):
18079 (WebCore::ImageLoader::setImage):
18080 (WebCore::ImageLoader::setLoadingImage):
18081 (WebCore::ImageLoader::updateFromElement):
18082 (WebCore::ImageLoader::notifyFinished):
18083 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
18084 * svg/SVGImageElement.cpp:
18085 (WebCore::SVGImageElement::attach):
18086 (WebCore::SVGImageElement::insertedIntoDocument):
18087 (WebCore::SVGImageElement::imageSourceAttributeName):
18088 * svg/SVGImageElement.h:
18089 * svg/SVGImageLoader.cpp:
18090 (WebCore::SVGImageLoader::SVGImageLoader):
18091 (WebCore::SVGImageLoader::dispatchLoadEvent):
18092 (WebCore::SVGImageLoader::sourceURI):
18093 * svg/SVGImageLoader.h:
18094
zecke@webkit.orgf3834492008-09-20 14:23:55 +0000180952008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
18096
zecke@webkit.org7a15a532008-09-20 14:24:27 +000018097 Build fix.
18098
zecke@webkit.orga832cca2008-09-20 14:24:45 +000018099 [qtwebkit] ScrollBar build fix after r36684.
18100 BackButtonPart was split into Start and End Part
18101 ForwardButtonPart was split into Start and End Part
18102
zecke@webkit.orga832cca2008-09-20 14:24:45 +000018103 * platform/qt/ScrollbarThemeQt.cpp:
18104 (WebCore::scPart):
18105 (WebCore::scrollbarPart):
18106 (WebCore::styleOptionSlider):
18107
181082008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
18109
18110 Build fix.
18111
zecke@webkit.org7a15a532008-09-20 14:24:27 +000018112 [qtwebkit] Make qt_instance.cpp compile.
18113 Revision of 36675 introduced getDOMStructure to give unique
18114 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
18115 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
18116
18117 * bridge/qt/qt_instance.cpp:
18118 (JSC::Bindings::QtInstance::getRuntimeObject):
18119
181202008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
18121
zecke@webkit.orgf3834492008-09-20 14:23:55 +000018122 Reviewed by Nikolas Zimmermann.
18123
zecke@webkit.org95ff1412008-09-20 14:24:10 +000018124 [svg] Change SVGLocatable to deal with a plain SVGElement
18125 There is no requirement in the code that we have to have a
18126 SVGStyledElement. Remove that artificial limitation and compile
18127 with SVGElement.
18128
18129 * svg/SVGLocatable.cpp:
18130 * svg/SVGLocatable.h:
18131
181322008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
18133
18134 Reviewed by Nikolas Zimmermann.
18135
zecke@webkit.orgf3834492008-09-20 14:23:55 +000018136 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
18137 management.
18138
18139 * dom/Document.cpp:
18140 (WebCore::Document::~Document):
18141 (WebCore::Document::svgExtensions):
18142 (WebCore::Document::accessSVGExtensions):
18143 * dom/Document.h:
18144
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +0000181452008-09-19 David Hyatt <hyatt@apple.com>
18146
hyatt@apple.com1fe09172008-09-20 05:09:44 +000018147 Fix for crash in updateTransitions. Make sure to test for a style
18148 being null when comparing two RenderStyles.
18149
18150 Reviewed by Oliver Hunt
18151
18152 * page/animation/AnimationBase.cpp:
18153 (WebCore::PropertyWrapperGetter::equals):
18154
181552008-09-19 David Hyatt <hyatt@apple.com>
18156
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000018157 https://bugs.webkit.org/show_bug.cgi?id=20954
18158
18159 Roll out r36628 since it has caused horrible regressions with
18160 animated GIF CPU usage.
18161
18162 * platform/graphics/BitmapImage.cpp:
18163 (WebCore::BitmapImage::cacheFrame):
18164 (WebCore::BitmapImage::startAnimation):
18165 * platform/graphics/BitmapImage.h:
18166 (WebCore::FrameData::FrameData):
18167 * platform/graphics/cairo/ImageCairo.cpp:
18168 (WebCore::FrameData::clear):
18169 * platform/graphics/cg/ImageCG.cpp:
18170 (WebCore::FrameData::clear):
18171 * platform/graphics/qt/ImageQt.cpp:
18172 (WebCore::FrameData::clear):
18173 * platform/graphics/wx/ImageWx.cpp:
18174 (WebCore::FrameData::clear):
18175
alp@webkit.orgd1e860e2008-09-20 03:43:42 +0000181762008-09-20 Alp Toker <alp@nuanti.com>
18177
18178 Reviewed by Timothy Hatcher.
18179
18180 https://bugs.webkit.org/show_bug.cgi?id=20913
18181 Avoid redudant includes
18182
18183 Document.h is included excessively such that a modification to Document.h (or
18184 any of the header it includes itself) triggers a rebuild of many files
18185 including the whole of SVG and a lot of the JS bindings.
18186
18187 Some of these includes can be avoided by only including Document.h where
18188 necessary.
18189
18190 * bindings/js/JSAttrCustom.cpp:
18191 * bindings/js/JSElementCustom.cpp:
18192 * bindings/js/JSEventTargetBase.cpp:
18193 * bindings/js/JSEventTargetBase.h:
18194 * bindings/js/JSEventTargetNode.cpp:
18195 * bindings/js/JSHTMLFrameElementCustom.cpp:
18196 * bindings/js/JSHTMLIFrameElementCustom.cpp:
18197 * bindings/scripts/CodeGeneratorJS.pm:
18198 * css/CSSCursorImageValue.cpp:
18199 * css/SVGCSSStyleSelector.cpp:
18200 * dom/make_names.pl:
18201 * svg/SVGAnimateElement.h:
18202 * svg/SVGAnimatedProperty.h:
18203 (WebCore::::baseValue):
18204 (WebCore::::setBaseValue):
18205 (WebCore::::startAnimation):
18206 (WebCore::::stopAnimation):
18207 * svg/SVGElement.cpp:
18208 (WebCore::SVGElement::accessDocumentSVGExtensions):
18209 * svg/SVGElement.h:
18210 * svg/SVGElementInstance.cpp:
18211 * svg/SVGFitToViewBox.cpp:
18212 * svg/SVGFontElement.cpp:
18213 * svg/SVGFontFaceElement.cpp:
18214 * svg/SVGLinearGradientElement.cpp:
18215 * svg/SVGMPathElement.cpp:
18216 * svg/SVGViewSpec.cpp:
18217
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +0000182182008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
18219
18220 Reviewed by Antti & Eric.
18221
18222 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
18223
18224 Finish HTMLScriptElement / SVGScriptElement unification.
18225 SVG <script> support is complete now, full SVGLoad event
18226 respecting the influence of the externalResourcesRequired attribute
18227 as well as SVGError event support. All other features shared with HTML.
18228
18229 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
18230 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
18231 svg/dom/SVGScriptElement/script-load-and-error-events.svg
18232 svg/dom/SVGScriptElement/script-reexecution.svg
18233 svg/dom/SVGScriptElement/script-set-href.svg
18234
18235 * dom/ScriptElement.cpp:
18236 (WebCore::ScriptElementData::ScriptElementData):
18237 (WebCore::ScriptElementData::requestScript):
18238 * dom/ScriptElement.h:
18239 (WebCore::ScriptElementData::haveFiredLoadEvent):
18240 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
18241 * dom/XMLTokenizer.cpp:
18242 (WebCore::XMLTokenizer::notifyFinished):
18243 * html/HTMLScriptElement.cpp:
18244 (WebCore::HTMLScriptElement::dispatchLoadEvent):
18245 * svg/SVGScriptElement.cpp:
18246 (WebCore::SVGScriptElement::setCreatedByParser):
18247 (WebCore::SVGScriptElement::parseMappedAttribute):
18248 (WebCore::SVGScriptElement::svgAttributeChanged):
18249 (WebCore::SVGScriptElement::insertedIntoDocument):
18250 (WebCore::SVGScriptElement::removedFromDocument):
18251 (WebCore::SVGScriptElement::childrenChanged):
18252 (WebCore::SVGScriptElement::isURLAttribute):
18253 (WebCore::SVGScriptElement::finishParsingChildren):
18254 (WebCore::SVGScriptElement::type):
18255 (WebCore::SVGScriptElement::setType):
18256 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
18257 (WebCore::SVGScriptElement::dispatchLoadEvent):
18258 (WebCore::SVGScriptElement::dispatchErrorEvent):
18259 * svg/SVGScriptElement.h:
18260
mitz@apple.comc7b24ea2008-09-20 03:23:22 +0000182612008-09-19 Dan Bernstein <mitz@apple.com>
18262
18263 Reviewed by John Sullivan.
18264
18265 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
18266 Typo in Position::getInlineBoxAndOffset()
18267 and add an assertion
18268
18269 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
18270
18271 * dom/Position.cpp:
18272 (WebCore::Position::getInlineBoxAndOffset):
18273 * rendering/InlineTextBox.cpp:
18274 (WebCore::InlineTextBox::positionForOffset):
18275
hyatt@apple.comd48dbf32008-09-20 03:21:14 +0000182762008-09-19 David Hyatt <hyatt@apple.com>
18277
18278 Add support for hit testing of all five possible scrollbar button placements.
18279
18280 Reviewed by Sam Weinig
18281
18282 * platform/ScrollbarThemeComposite.cpp:
18283 (WebCore::ScrollbarThemeComposite::paint):
18284 * platform/mac/ScrollbarThemeMac.mm:
18285 (WebCore::):
18286 (WebCore::ScrollbarThemeMac::backButtonRect):
18287 (WebCore::ScrollbarThemeMac::forwardButtonRect):
18288 (WebCore::ScrollbarThemeMac::trackRect):
18289 (WebCore::ScrollbarThemeMac::paintButton):
18290
darin@apple.com1c4cd8f2008-09-20 01:05:35 +0000182912008-09-19 Darin Adler <darin@apple.com>
18292
18293 - try to fix Qt build
18294
18295 * bridge/qt/qt_instance.cpp:
18296 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
18297 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
18298 * bridge/runtime_object.cpp:
18299 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
18300 * bridge/runtime_object.h: Ditto.
18301
dino@apple.com7c236592008-09-20 00:53:49 +0000183022008-09-19 Chris Marrin <cmarrin@apple.com>
18303
18304 Reviewed by Dave Hyatt.
18305
18306 Transition starts running when it shouldn't
18307 https://bugs.webkit.org/show_bug.cgi?id=20892
18308
18309 When there is a transition and an animation on the
18310 same element, make sure the animation wins.
18311
18312 The fix is to save the unanimated style when an animation is started.
18313 Then, when starting a transition, check to see if there is a current
18314 animation on the same prop. If so, use the unanimated style as the
18315 fromStyle rather than the current style.
18316
18317 Test: animations/transition-and-animation-1.html
18318
18319 * page/animation/CompositeAnimation.cpp:
18320 (WebCore::CompositeAnimation::updateTransitions):
18321 (WebCore::CompositeAnimation::updateKeyframeAnimations):
18322 (WebCore::CompositeAnimation::animate):
18323 (WebCore::CompositeAnimation::getAnimationForProperty):
18324 * page/animation/CompositeAnimation.h:
18325 * page/animation/ImplicitAnimation.cpp:
18326 (WebCore::ImplicitAnimation::reset):
18327 * page/animation/ImplicitAnimation.h:
18328 * page/animation/KeyframeAnimation.cpp:
18329 (WebCore::KeyframeAnimation::hasAnimationForProperty):
18330 * page/animation/KeyframeAnimation.h:
18331 (WebCore::KeyframeAnimation::KeyframeAnimation):
18332 (WebCore::KeyframeAnimation::unanimatedStyle):
18333
hyatt@apple.comea254e22008-09-20 00:42:36 +0000183342008-09-19 David Hyatt <hyatt@apple.com>
18335
18336 Add support for painting/hit testing of four possible scrollbar buttons.
18337 The Windows themes simply ignore the two parts that they will never
18338 show. The Mac theme also ignores the other two buttons for now.
18339
18340 The cross-platform base for all three themes, ScrollbarThemeComposite,
18341 has all the proper support though.
18342
18343 Reviewed by Sam Weinig
18344
18345 * platform/ScrollbarThemeComposite.cpp:
18346 (WebCore::ScrollbarThemeComposite::hitTest):
18347 (WebCore::ScrollbarThemeComposite::invalidatePart):
18348 * platform/ScrollbarThemeComposite.h:
18349 * platform/mac/ScrollbarThemeMac.h:
18350 * platform/mac/ScrollbarThemeMac.mm:
18351 (WebCore::ScrollbarThemeMac::backButtonRect):
18352 (WebCore::ScrollbarThemeMac::forwardButtonRect):
18353 (WebCore::ScrollbarThemeMac::paintButton):
18354 * platform/win/ScrollbarThemeSafari.cpp:
18355 (WebCore::ScrollbarThemeSafari::backButtonRect):
18356 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
18357 (WebCore::ScrollbarThemeSafari::paintButton):
18358 * platform/win/ScrollbarThemeSafari.h:
18359 * platform/win/ScrollbarThemeWin.cpp:
18360 (WebCore::ScrollbarThemeWin::backButtonRect):
18361 (WebCore::ScrollbarThemeWin::forwardButtonRect):
18362 (WebCore::ScrollbarThemeWin::paintButton):
18363 * platform/win/ScrollbarThemeWin.h:
18364
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +0000183652008-09-19 Matt Lilek <webkit@mattlilek.com>
18366
18367 Reviewed by Tim Hatcher.
18368
18369 Bug 17772: Inspector should support point-and-click to select a node to inspect
18370 https://bugs.webkit.org/show_bug.cgi?id=17772
18371 <rdar://problem/5792395>
18372
18373 * English.lproj/localizedStrings.js:
18374 * page/Chrome.cpp:
18375 (WebCore::Chrome::mouseDidMoveOverElement):
18376 * page/EventHandler.cpp:
18377 (WebCore::EventHandler::handleMousePressEvent):
18378 * page/InspectorController.cpp:
18379 (WebCore::toggleNodeSearch):
18380 (WebCore::searchingForNode):
18381 (WebCore::InspectorController::InspectorController):
18382 (WebCore::InspectorController::toggleSearchForNodeInPage):
18383 (WebCore::InspectorController::mouseDidMoveOverElement):
18384 (WebCore::InspectorController::handleMousePressOnNode):
18385 (WebCore::InspectorController::windowScriptObjectAvailable):
18386 * page/InspectorController.h:
18387 (WebCore::InspectorController::searchingForNodeInPage):
18388 * page/inspector/ElementsPanel.js:
18389 * page/inspector/Images/nodeSearchButtons.png: Added.
18390 * page/inspector/inspector.css:
18391
hyatt@apple.com57b2d522008-09-19 23:39:26 +0000183922008-09-19 David Hyatt <hyatt@apple.com>
18393
18394 Add new scrollbar parts to be able to represent back and forward buttons
18395 at either end of the scrollbar. The current scrollbar still just draws
18396 a single button at either end, but the parts now exist.
18397
18398 Reviewed by Sam Weinig
18399
18400 * platform/ScrollTypes.h:
18401 (WebCore::):
18402 * platform/Scrollbar.cpp:
18403 (WebCore::Scrollbar::autoscrollTimerFired):
18404 (WebCore::Scrollbar::pressedPartScrollDirection):
18405 (WebCore::Scrollbar::pressedPartScrollGranularity):
18406 (WebCore::Scrollbar::handleMouseMoveEvent):
18407 * platform/ScrollbarTheme.h:
18408 (WebCore::ScrollbarTheme::buttonsPlacement):
18409 (WebCore::ScrollbarTheme::invalidateParts):
18410 * platform/ScrollbarThemeComposite.cpp:
18411 (WebCore::ScrollbarThemeComposite::paint):
18412 (WebCore::ScrollbarThemeComposite::hitTest):
18413 (WebCore::ScrollbarThemeComposite::invalidatePart):
18414 * platform/ScrollbarThemeComposite.h:
18415
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +0000184162008-09-19 Beth Dakin <bdakin@apple.com>
18417
18418 Reviewed by Dave Hyatt.
18419
18420 Fix for <rdar://problem/6231308> crash in AutoTableLayout
18421
18422 The code assumes later on that a TableSection's grid's row vector
18423 will never be empty. So make 1 the minimum number of columns.
18424
18425 * rendering/RenderTableSection.cpp:
18426 (WebCore::RenderTableSection::ensureRows):
18427
hyatt@apple.comaf711ec2008-09-19 22:55:56 +0000184282008-09-19 David Hyatt <hyatt@apple.com>
18429
18430 Add a new ScrollbarButtonsPlacement type for specifying where
18431 the button arrows are in a scrollbar.
18432
18433 Read in the placement settings for Mac. Nothing is done with the
18434 setting yet.
18435
18436 Add a new buttonsPlacement() method to ScrollbarTheme composite
18437 so that the arrow settings can be obtained.
18438
18439 Reviewed by Sam Weinig
18440
18441 * platform/ScrollTypes.h:
18442 (WebCore::):
18443 * platform/ScrollbarThemeComposite.h:
18444 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
18445 * platform/mac/ScrollbarThemeMac.mm:
18446 (WebCore::updateArrowPlacement):
18447 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
18448
sfalken@apple.com64602042008-09-19 22:47:45 +0000184492008-09-19 Steve Falkenburg <sfalken@apple.com>
18450
18451 Roll out r36626. It is causing variance in SunSpider numbers on XP.
18452
18453 Rubber stamped by Mark Rowe.
18454
18455 * platform/win/SharedTimerWin.cpp:
18456 (WebCore::isRunningOnVistaOrLater):
18457 (WebCore::setSharedTimerFireTime):
18458
kmccullough@apple.comd203b242008-09-19 21:56:14 +0000184592008-09-19 Kevin McCullough <kmccullough@apple.com>
18460
18461 Reviewed by Tim.
18462
18463 https://bugs.webkit.org/show_bug.cgi?id=20942
18464 Bug 20942: Repeated messages in resources don't collapse
18465 - Now repeated messages in a resource's view are collapsed and a message
18466 says how many were repeated.
18467
18468 * English.lproj/localizedStrings.js:
18469 * manual-tests/inspector/multiple-console-messages.html:
18470 * page/inspector/Console.js: Send all the messages to the resource's
18471 view before possibly returning early if the message is a repeat.
18472 * page/inspector/SourceFrame.js: Add the text about the message being
18473 repeated, if it is, and increment it when necessary.
18474
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +0000184752008-09-19 Chris Fleizach <cfleizach@apple.com>
18476
18477 Removed unnecessary #if
18478
18479 * page/mac/AccessibilityObjectWrapper.mm:
18480
hyatt@apple.comc9967ce92008-09-19 21:20:59 +0000184812008-09-19 David Hyatt <hyatt@apple.com>
18482
hyatt@apple.comf658e502008-09-19 22:12:07 +000018483 Read in prefs for the scroll delay repeat values for buttons. Also
18484 honor the option-click pref for jumping to the thumb when clicking in
18485 the track.
18486
18487 Reviewed by Sam Weinig
18488
18489 * platform/mac/ScrollbarThemeMac.h:
18490 * platform/mac/ScrollbarThemeMac.mm:
18491 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
18492 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
18493 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
18494 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
18495
184962008-09-19 David Hyatt <hyatt@apple.com>
18497
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000018498 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
18499 Set the initial button repeat delay to 0.5 for Mac.
18500
18501 Reviewed by Sam Weinig
18502
18503 * WebCore.xcodeproj/project.pbxproj:
18504 * platform/mac/ScrollbarThemeMac.cpp: Removed.
18505 * platform/mac/ScrollbarThemeMac.h:
18506 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
18507 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
18508
darin@apple.com39a180f2008-09-19 21:15:14 +0000185092008-09-19 Darin Adler <darin@apple.com>
18510
18511 Reviewed by Sam Weinig.
18512
18513 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
18514 make each distinct C++ class get a distinct JSC::Structure
18515
18516 + Fixed all cases where we were using a shared structure for multiple
18517 C++ classes in WebCore. This still has to be done in JavaScriptCore.
18518
18519 + Got rid of cacheGlobalObject.
18520
18521 + Improved use of PassRefPtr in bindings code.
18522
18523 + Removed a couple cases where we were potentially allocating prototypes
18524 inside a JSObject's construction process -- this can lead to trouble if
18525 we do a garbage collection while an object is only partly constructed.
18526
18527 * bindings/js/JSAudioConstructor.cpp:
18528 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
18529 so we don't implicitly share the structure with other objects that use the object
18530 prototype.
18531
18532 * bindings/js/JSDOMBinding.cpp:
18533 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
18534 don't need cacheGlobalObject any more.
18535 (WebCore::cacheDOMConstructor): Ditto.
18536
18537 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
18538 Added functions and a function template for getting cached DOM constructors.
18539 Removed cacheGlobalObject function template.
18540
18541 * bindings/js/JSDOMWindowBase.cpp:
18542 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
18543 we're taking ownership.
18544 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
18545 we're taking ownership. Added constructor map.
18546 * bindings/js/JSDOMWindowCustom.cpp:
18547 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
18548
18549 * bindings/js/JSDOMWindowShell.cpp:
18550 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
18551 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
18552 this is now done in only that one place.
18553 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
18554 the passed-in DOMWindow. Code was moved here and changed to allocate unique
18555 structures for both the window prototype and the window.
18556 * bindings/js/JSDOMWindowShell.h: Ditto.
18557
18558 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
18559 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
18560 private/friend in JSEventTargetBase. Removed comments referring to defunct
18561 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
18562 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
18563 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
18564
18565 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
18566 for caching structures and prototypes.
18567 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
18568 (WebCore::JSEventTargetNode::createPrototype): Added.
18569 * bindings/js/JSEventTargetNode.h: Updated for above changes.
18570
18571 * bindings/js/JSHTMLAllCollection.h:
18572 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
18573 * bindings/js/JSHTMLCollectionCustom.cpp:
18574 (WebCore::getNamedItems): Pass ExecState instead of prototype.
18575 * bindings/js/JSHTMLFormElementCustom.cpp:
18576 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
18577 * bindings/js/JSHTMLInputElementBase.cpp:
18578 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
18579 * bindings/js/JSHTMLInputElementBase.h: Ditto.
18580 * bindings/js/JSHTMLOptionElementConstructor.cpp:
18581 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
18582 Create a unique structure instead of sharing.
18583 * bindings/js/JSImageConstructor.cpp:
18584 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
18585
18586 * bindings/js/JSInspectedObjectWrapper.cpp:
18587 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
18588 a prototype rather than a structure. Made the use of inheritorID() here
18589 explicit.
18590 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
18591 * bindings/js/JSInspectorCallbackWrapper.cpp:
18592 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
18593 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
18594
18595 * bindings/js/JSNamedNodesCollection.cpp:
18596 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
18597 take an ExecState argument instead of a prototype. Create a unique
18598 StructureID instead of sharing.
18599 * bindings/js/JSNamedNodesCollection.h: Ditto.
18600
18601 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
18602 constructor that takes a prototype instead of a structure.
18603 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
18604
18605 * bindings/js/JSRGBColor.cpp:
18606 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
18607 prototype; create a unique structure.
18608 (WebCore::getJSRGBColor): Ditto.
18609 * bindings/js/JSRGBColor.h: Ditto.
18610
18611 * bindings/js/JSSQLResultSetRowListCustom.cpp:
18612 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
18613 of explicit coding the idiom for making a new object.
18614
18615 * bindings/js/JSXMLHttpRequestConstructor.cpp:
18616 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
18617 Create a unique structure instead of the shared one.
18618 * bindings/js/JSXSLTProcessorConstructor.cpp:
18619 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
18620 Ditto.
18621
18622 * bindings/js/ScriptController.cpp:
18623 (WebCore::ScriptController::clearWindowShell): Let the window shell's
18624 setWindow function create the JSDOMWindow instead of doing it here.
18625
18626 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
18627 the structure and the wrapped object when creating wrappers.
18628 Simplified some of the special cases for DOMWindow so they are
18629 different only in ways the need to be. Eliminated the
18630 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
18631 functions. Moved responsibility for creating the structure and
18632 parent prototype out of the prototype constructor into the
18633 createPrototype function. Removed the unused "DoNotCache" flag for
18634 objects other than DOMWindow. Use getDOMConstructor instead of
18635 cacheGlobalObject for constructors. Make each constructor have
18636 a unique structure ID.
18637
18638 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
18639 name of the info member to s_info so we can use the standard DOM
18640 binding macros to handl the prototype.
18641 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
18642 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
18643 Create a unique structure using getDOMStructure.
18644
18645 * bridge/runtime_array.cpp: Fixed namespacing a bit.
18646 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
18647 getDOMStructure.
18648 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
18649 will work.
18650
18651 * bridge/runtime_object.cpp:
18652 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
18653 getDOMStructure.
18654 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
18655 will work.
18656
18657 * history/CachedPage.cpp:
18658 (WebCore::CachedPage::restore): Let the window shell's
18659 setWindow function create the JSDOMWindow instead of doing it here.
18660
18661 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
18662
mitz@apple.comd6b74252008-09-19 21:02:55 +0000186632008-09-19 Dan Bernstein <mitz@apple.com>
18664
18665 Reviewed by Dave Hyatt.
18666
18667 This optimization was suggested by Daniel Fenwick
18668
18669 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
18670
18671 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +000018672 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +000018673 of one, due to the leading space being reordered to the left.
18674
18675 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
18676 getCFStringAttributes() and changed m_CFStringAttributes from an array
18677 to a single value.
18678 * platform/graphics/mac/CoreTextController.cpp:
18679 (WebCore::CoreTextController::CoreTextController): Added a
18680 mayUseNaturalWritingDirection parameter.
18681 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
18682 to force the bidi embedding level whenever
18683 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
18684 case, made the typesetter options dictionaries static.
18685 * platform/graphics/mac/CoreTextController.h:
18686 * platform/graphics/mac/FontMacCoreText.cpp:
18687 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
18688 (WebCore::Font::floatWidthForComplexText): Changed to allow the
18689 CoreTextController to not set the writing direction.
18690 * platform/graphics/mac/SimpleFontDataMac.mm:
18691 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
18692 parameter and the paragraph style attribute.
18693
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +0000186942008-09-19 David Hyatt <hyatt@apple.com>
18695
18696 Reviewed by Sam Weinig
18697
18698 https://bugs.webkit.org/show_bug.cgi?id=20941
18699
18700 Incorrect height calculation for replaced element inside nested
18701 positioned elements (where the inner has a percentage height and
18702 the outer implicitly has a fixed height because of explicit top/bottom
18703 values).
18704
18705 Added fast/block/positioning/replaced-inside-top-bottom.html
18706
18707 * rendering/RenderBox.cpp:
18708 (WebCore::RenderBox::availableHeightUsing):
18709
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +0000187102008-09-19 Chris Fleizach <cfleizach@apple.com>
18711
18712 Fix Tiger bustage
18713
18714 * page/mac/AccessibilityObjectWrapper.mm:
18715
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +0000187162008-09-18 Chris Fleizach <cfleizach@apple.com>
18717
18718 Reviewed by Darin Adler.
18719
18720 <rdar://problem/6211041> Expose legend tag in accessibility
18721
18722 Exposes the legend tag as the titleUIElement of a fieldset
18723
18724 Test: accessibility/legend.html
18725
18726 * page/AccessibilityObject.h:
18727 (WebCore::AccessibilityObject::isFieldset):
18728 * page/AccessibilityRenderObject.cpp:
18729 (WebCore::AccessibilityRenderObject::isFieldset):
18730 (WebCore::AccessibilityRenderObject::titleUIElement):
18731 * page/AccessibilityRenderObject.h:
18732 * rendering/RenderFieldset.h:
18733
cfleizach@apple.comcff26212008-09-19 20:04:13 +0000187342008-09-19 Chris Fleizach <cfleizach@apple.com>
18735
18736 Reviewed by Darin Adler.
18737
18738 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
18739
18740 Implement a few AX API methods that will be called by AppKit, which will
18741 speed up access to accessibility objects
18742
18743 * page/mac/AccessibilityObjectWrapper.mm:
18744 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
18745 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
18746 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
18747
zecke@webkit.org7594eb62008-09-19 11:06:55 +0000187482008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
18749
18750 Reviewed by Simon Hausmann.
18751
zecke@webkit.org3df68032008-09-19 11:43:27 +000018752 [qtwebkit] Set the m_should* flags to their proper value on entry
18753 With plugins it was possible that we finished a job twice. This was
18754 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
18755 setting the flag to (m_loadMode == LoadDeferred) they will always have
18756 the right value and we will not send responses twice.
18757
18758 * platform/network/qt/QNetworkReplyHandler.cpp:
18759
187602008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
18761
18762 Reviewed by Simon Hausmann.
18763
zecke@webkit.org7594eb62008-09-19 11:06:55 +000018764 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
18765 Handle text decoding errors before instructing the parser to parse. We
18766 have converted the text to QString and all encoding errors are gone and
18767 the parser will not be able to detect them. So handle them before parsing.
18768
18769 * dom/XMLTokenizerQt.cpp:
18770 (WebCore::XMLTokenizer::doWrite):
18771
darin@apple.comc9aea832008-09-19 06:49:35 +0000187722008-09-18 Darin Adler <darin@apple.com>
18773
18774 Reviewed by Maciej Stachowiak.
18775
18776 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
18777 make each distinct C++ class get a distinct JSC::Structure
18778
18779 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
18780 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
18781 instead of DOMExceptionTranslator.
18782
18783 * bindings/js/JSDOMBinding.cpp:
18784 (WebCore::getCachedDOMObjectWrapper): Updated function name.
18785 (WebCore::cacheDOMObjectWrapper): Ditto.
18786 (WebCore::forgetDOMObject): Ditto.
18787 (WebCore::getCachedDOMNodeWrapper): Ditto.
18788 (WebCore::forgetDOMNode): Ditto.
18789 (WebCore::cacheDOMNodeWrapper): Ditto.
18790 (WebCore::forgetAllDOMNodesForDocument): Ditto.
18791 (WebCore::markDOMNodesForDocument): Ditto.
18792 (WebCore::updateDOMNodeDocument): Ditto.
18793 (WebCore::getCachedDOMStructure): Added.
18794 (WebCore::createDOMStructure): Ditto.
18795
18796 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
18797 class and replace the static member functions with non-member
18798 functions. Added many other functions for getting at structures,
18799 prototypes, wrappers, and creating them. Also moved the
18800 cacheGlobalObject function here from JavaScriptCore; eventually
18801 I'll remove that once I get rid of the remaining callers. Also
18802 removed the DOMExceptionTranslator class.
18803
18804 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
18805 and put one of those maps in each window.
18806
18807 * bindings/js/JSDOMWindowCustom.cpp:
18808 (WebCore::markDOMObjectWrapper): Updated for function name change.
18809 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
18810 in the structure map.
18811
18812 * bindings/js/JSEventTargetNode.cpp:
18813 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
18814 a structure instead of a prototype.
18815 * bindings/js/JSEventTargetNode.h: Ditto.
18816 * bindings/js/JSHTMLAllCollection.h:
18817 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
18818
18819 * bindings/js/JSHTMLInputElementBase.cpp:
18820 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
18821 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
18822 structure instead of a prototype.
18823 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
18824 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
18825 to take a structure instead of a prototype. Created a dummy prototype
18826 class that causes the HTMLInputElement prototype to have the
18827 HTMLElement prototype.
18828
18829 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
18830 structures instead of prototypes. Changed the prototype self function
18831 to use the getDOMPrototype function -- later we can eliminate it and
18832 have callers invoke getDOMPrototype directly instead. Updated other
18833 functions that have name changes. Added code to generate the
18834 createPrototype member function. Changed use of cacheGlobalObject to
18835 get it from the WebCore namespace instead of the JSC namespace.
18836 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
18837
18838 * dom/Document.cpp:
18839 (WebCore::Document::~Document): Updated for name change and also
18840 removed unnecessary JSLock use -- there's no need to lock around this.
18841 * dom/Node.cpp:
18842 (WebCore::Node::setDocument): Ditto.
18843
18844 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
18845 instead of calling new directly.
18846
18847 * bindings/js/JSCSSRuleCustom.cpp:
18848 (WebCore::toJS): Updated for function name changes and used the
18849 CREATE_DOM_OBJECT_WRAPPER macro.
18850 * bindings/js/JSCSSValueCustom.cpp:
18851 (WebCore::toJS): Ditto.
18852 * bindings/js/JSCanvasPixelArrayCustom.cpp:
18853 (WebCore::toJS): Ditto.
18854 * bindings/js/JSDocumentCustom.cpp:
18855 (WebCore::JSDocument::mark): Ditto.
18856 (WebCore::toJS): Ditto.
18857 * bindings/js/JSElementCustom.cpp:
18858 (WebCore::toJSNewlyCreated): Ditto.
18859 * bindings/js/JSEventCustom.cpp:
18860 (WebCore::toJS): Ditto.
18861 * bindings/js/JSEventTargetBase.cpp:
18862 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
18863 of DOMExceptionTranslator.
18864 (WebCore::toJS): Updated for function name changes and used the
18865 CREATE_DOM_OBJECT_WRAPPER macro.
18866 * bindings/js/JSHTMLCollectionCustom.cpp:
18867 (WebCore::toJS): Ditto.
18868 * bindings/js/JSNodeCustom.cpp:
18869 (WebCore::JSNode::mark): Ditto.
18870 (WebCore::createWrapper): Ditto.
18871 (WebCore::toJS): Ditto.
18872 * bindings/js/JSSVGPathSegCustom.cpp:
18873 (WebCore::toJS): Ditto.
18874 * bindings/js/JSStyleSheetCustom.cpp:
18875 (WebCore::toJS): Ditto.
18876 (WebCore::JSStyleSheet::mark): Ditto.
18877 * bindings/js/JSTextCustom.cpp:
18878 (WebCore::toJSNewlyCreated): Ditto.
18879 * bindings/js/JSXMLHttpRequestConstructor.cpp:
18880 (WebCore::constructXMLHttpRequest): Ditto.
18881 * bindings/js/JSXMLHttpRequestCustom.cpp:
18882 (WebCore::JSXMLHttpRequest::mark): Ditto.
18883 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
18884 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
18885 * bindings/js/JSXSLTProcessorConstructor.cpp:
18886 (WebCore::constructXSLTProcessor): Ditto.
18887 * bindings/js/ScriptController.cpp:
18888 (WebCore::ScriptController::finishedWithEvent): Ditto.
18889 * xml/XMLHttpRequest.cpp:
18890 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
18891 (WebCore::XMLHttpRequest::dropProtection): Ditto.
18892
hyatt@apple.com083539d2008-09-19 06:30:16 +0000188932008-09-18 David Hyatt <hyatt@apple.com>
18894
18895 This patch gets a viewless scrollbar working on Mac. It is turned off
18896 by default. Hit testing works. For now the scrollbar just paints ugly
18897 debug rects in the place of the buttons, track and thumb. It does match
18898 Aqua metrics though.
18899
18900 Reviewed by Sam Weinig
18901
18902 * WebCore.xcodeproj/project.pbxproj:
18903 * page/mac/EventHandlerMac.mm:
18904 (WebCore::EventHandler::passMousePressEventToScrollbar):
18905 * platform/ScrollbarThemeComposite.cpp:
18906 (WebCore::ScrollbarThemeComposite::paint):
18907 (WebCore::ScrollbarThemeComposite::trackPosition):
18908 * platform/ScrollbarThemeComposite.h:
18909 * platform/mac/ScrollViewMac.mm:
18910 (WebCore::ScrollView::addChild):
18911 * platform/mac/ScrollbarThemeMac.cpp:
18912 (WebCore::):
18913 (WebCore::ScrollbarThemeMac::hasButtons):
18914 (WebCore::ScrollbarThemeMac::hasThumb):
18915 (WebCore::buttonRepaintRect):
18916 (WebCore::ScrollbarThemeMac::backButtonRect):
18917 (WebCore::ScrollbarThemeMac::forwardButtonRect):
18918 (WebCore::trackRepaintRect):
18919 (WebCore::ScrollbarThemeMac::trackRect):
18920 (WebCore::ScrollbarThemeMac::minimumThumbLength):
18921 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
18922 (WebCore::ScrollbarThemeMac::paintTrack):
18923 (WebCore::ScrollbarThemeMac::paintButton):
18924 (WebCore::ScrollbarThemeMac::paintThumb):
18925 * platform/mac/ScrollbarThemeMac.h:
18926 (WebCore::ScrollbarThemeMac::supportsControlTints):
18927 * platform/qt/ScrollbarThemeQt.cpp:
18928 (WebCore::ScrollbarThemeQt::trackPosition):
18929
collinj@webkit.org51261aa2008-09-19 06:13:22 +0000189302008-09-18 Collin Jackson <collinj@webkit.org>
18931
18932 Build fix; added missing header file to GNUmakefile.am
18933
18934 * GNUmakefile.am:
18935
weinig@apple.com39aecbe2008-09-19 04:56:21 +0000189362008-09-18 Sam Weinig <sam@webkit.org>
18937
18938 Reviewed by David "the Hair" Hyatt.
18939
18940 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
18941
18942 * GNUmakefile.am:
18943 * WebCore.pro:
18944 * WebCore.vcproj/WebCore.vcproj:
18945 * WebCore.xcodeproj/project.pbxproj:
18946 * rendering/DataRef.h: Removed.
18947 * rendering/SVGRenderStyle.cpp: Removed.
18948 * rendering/SVGRenderStyle.h: Removed.
18949 * rendering/SVGRenderStyleDefs.cpp: Removed.
18950 * rendering/SVGRenderStyleDefs.h: Removed.
18951 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
18952 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
18953 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
18954 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
18955 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
18956
mrowe@apple.coma5206592008-09-19 04:47:58 +0000189572008-09-18 Mark Rowe <mrowe@apple.com>
18958
18959 Reviewed by Dan Bernstein.
18960
18961 Add a means of clearing a FrameTree's name.
18962
18963 * WebCore.base.exp:
18964 * page/FrameTree.cpp:
18965 (WebCore::FrameTree::clearName):
18966 * page/FrameTree.h:
18967
hyatt@apple.com6eeef382008-09-19 04:30:53 +0000189682008-09-18 David Hyatt <hyatt@apple.com>
18969
18970 Eliminate addToSuperview from Widget, since it was only called
18971 by ScrollViewMac's addChild method. Just shift the original body
18972 of addToSuperView into addChild.
18973
18974 Reviewed by Sam Weinig
18975
18976 * platform/Widget.h:
18977 * platform/mac/ScrollViewMac.mm:
18978 (WebCore::ScrollView::addChild):
18979 * platform/mac/WidgetMac.mm:
18980
collinj@webkit.org9c672f62008-09-19 04:15:14 +0000189812008-09-18 Collin Jackson <collinj@webkit.org>
18982
18983 Reviewed by Antti Koivisto and Mark Rowe.
18984
18985 Test: http/tests/misc/dns-prefetch-control.html
18986
18987 https://bugs.webkit.org/show_bug.cgi?id=20690
18988
18989 Invoke WebCore::prefetchDNS() on host names that appear in
18990 in the href of hyperlinks and <link rel="dns-prefetch">. This
18991 can be used to implement DNS prefetching.
18992
18993 * WebCore.vcproj/WebCore.vcproj:
18994 * WebCore.xcodeproj/project.pbxproj:
18995 * dom/Document.cpp:
18996 (WebCore::Document::Document):
18997 (WebCore::Document::processHttpEquiv):
18998 (WebCore::Document::setSecurityOrigin):
18999 (WebCore::Document::initDNSPrefetch):
19000 (WebCore::Document::parseDNSPrefetchControlHeader):
19001 * dom/Document.h:
19002 (WebCore::Document::isDNSPrefetchEnabled):
19003 * html/HTMLAnchorElement.cpp:
19004 (WebCore::HTMLAnchorElement::parseMappedAttribute):
19005 * html/HTMLLinkElement.cpp:
19006 (WebCore::HTMLLinkElement::HTMLLinkElement):
19007 (WebCore::HTMLLinkElement::parseMappedAttribute):
19008 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
19009 (WebCore::HTMLLinkElement::process):
19010 * html/HTMLLinkElement.h:
19011 * html/PreloadScanner.cpp:
19012 (WebCore::PreloadScanner::processAttribute):
19013 * loader/FrameLoader.cpp:
19014 (WebCore::FrameLoader::begin):
19015 * platform/gtk/TemporaryLinkStubs.cpp:
19016 (WebCore::prefetchDNS):
19017 * platform/network/DNS.h: Added.
19018 * platform/network/cf/DNSCFNet.cpp: Added.
19019 (WebCore::prefetchDNS):
19020 * platform/qt/TemporaryLinkStubs.cpp:
19021 (WebCore::prefetchDNS):
19022 * platform/wx/TemporaryLinkStubs.cpp:
19023 (WebCore::prefetchDNS):
19024
hyatt@apple.comc5b931a2008-09-19 00:39:51 +0000190252008-09-18 David Hyatt <hyatt@apple.com>
19026
hyatt@apple.comcf31c162008-09-19 04:01:56 +000019027 Eliminate the convertToScreenCoordinate method on Widget, since
19028 ScrollView has redundant methods that already do the same thing.
19029
19030 Reviewed by Sam Weinig
19031
19032 * editing/mac/SelectionControllerMac.mm:
19033 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
19034 * platform/Widget.h:
19035 * platform/mac/WidgetMac.mm:
19036 (WebCore::Widget::containingWindow):
19037
190382008-09-18 David Hyatt <hyatt@apple.com>
19039
hyatt@apple.com179629b3c2008-09-19 03:16:26 +000019040 Move to only one constructor for Widgets. Rename data to m_data and make
19041 it have an #ifdef only for platforms that have platform-specific data (Mac
19042 and Gtk).
19043
19044 Reviewed by Sam Weinig
19045
19046 * WebCore.base.exp:
19047 * platform/Widget.cpp:
19048 (WebCore::Widget::init):
19049 * platform/Widget.h:
19050 * platform/gtk/WidgetGtk.cpp:
19051 (WebCore::Widget::Widget):
19052 (WebCore::Widget::~Widget):
19053 (WebCore::Widget::cursor):
19054 (WebCore::Widget::setCursor):
19055 * platform/mac/WidgetMac.mm:
19056 (WebCore::Widget::Widget):
19057 (WebCore::Widget::~Widget):
19058 (WebCore::Widget::addToSuperview):
19059 (WebCore::Widget::removeFromSuperview):
19060 (WebCore::Widget::beforeMouseDown):
19061 (WebCore::Widget::afterMouseDown):
19062 * platform/qt/WidgetQt.cpp:
19063 (WebCore::Widget::Widget):
19064 * platform/win/WidgetWin.cpp:
19065 (WebCore::Widget::Widget):
19066 * platform/wx/WidgetWx.cpp:
19067 (WebCore::Widget::Widget):
19068
190692008-09-18 David Hyatt <hyatt@apple.com>
19070
hyatt@apple.com470d7e72008-09-19 03:01:08 +000019071 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
19072 was no reason for it to be on Widget. This change eliminates Qt ifdefs
19073 from Widget.
19074
19075 Reviewed by Sam Weinig
19076
19077 * bindings/js/ScriptControllerQt.cpp:
19078 (WebCore::ScriptController::createScriptInstanceForWidget):
19079 * platform/qt/WidgetQt.cpp:
19080 (WebCore::WidgetPrivate::WidgetPrivate):
19081 (WebCore::WidgetPrivate::~WidgetPrivate):
19082 (WebCore::Widget::Widget):
19083 (WebCore::Widget::~Widget):
19084 * plugins/PluginView.cpp:
19085 (WebCore::PluginView::PluginView):
19086 * plugins/PluginView.h:
19087 (WebCore::PluginView::isNPAPIPlugin):
19088 (WebCore::PluginView::setIsNPAPIPlugin):
19089
190902008-09-18 David Hyatt <hyatt@apple.com>
19091
hyatt@apple.com557408b2008-09-19 02:36:08 +000019092 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
19093 ifdefs are now gone from Widget!
19094
19095 Reviewed by Sam Weinig
19096
19097 * platform/Widget.h:
19098 (WebCore::Widget::geometryChanged):
19099 * platform/gtk/WidgetGtk.cpp:
19100 * platform/qt/WidgetQt.cpp:
19101
191022008-09-18 David Hyatt <hyatt@apple.com>
19103
hyatt@apple.com17e57432008-09-19 02:29:27 +000019104 Consolidate convertTo/FromContainingWindow methods so that all platforms
19105 but Mac share the same code.
19106
19107 Move convertSelfToChild and convertChildToSelf to ScrollView, since
19108 Widget should know nothing about children. Make the methods cross-platform
19109 on ScrollView.
19110
19111 Reviewed by Sam Weinig
19112
19113 * platform/ScrollView.h:
19114 (WebCore::ScrollView::convertChildToSelf):
19115 (WebCore::ScrollView::convertSelfToChild):
19116 * platform/Widget.cpp:
19117 (WebCore::Widget::convertToContainingWindow):
19118 (WebCore::Widget::convertFromContainingWindow):
19119 * platform/Widget.h:
19120 (WebCore::Widget::geometryChanged):
19121 * platform/gtk/ScrollViewGtk.cpp:
19122 (WebCore::ScrollView::isScrollViewScrollbar):
19123 * platform/gtk/WidgetGtk.cpp:
19124 * platform/mac/ScrollViewMac.mm:
19125 (WebCore::ScrollView::isScrollViewScrollbar):
19126 * platform/mac/WidgetMac.mm:
19127 * platform/qt/ScrollViewQt.cpp:
19128 (WebCore::ScrollView::isScrollViewScrollbar):
19129 * platform/qt/WidgetQt.cpp:
19130 * platform/win/ScrollViewWin.cpp:
19131 (WebCore::ScrollView::isScrollViewScrollbar):
19132 * platform/win/WidgetWin.cpp:
19133
191342008-09-18 David Hyatt <hyatt@apple.com>
19135
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000019136 Make the conversion methods that go to and from some containingWindow
19137 cross-platform. Implement them on Mac.
19138
19139 Reviewed by Sam Weinig
19140
19141 * platform/Widget.h:
19142 (WebCore::Widget::setContainingWindow):
19143 * platform/mac/WidgetMac.mm:
19144 (WebCore::Widget::convertFromContainingWindow):
19145 (WebCore::Widget::convertToContainingWindow):
19146
weinig@apple.comd1ea02d2008-09-19 00:28:05 +0000191472008-09-18 Sam Weinig <sam@webkit.org>
19148
19149 Rubber-stamped by David "Yeah-yeah" Hyatt.
19150
19151 Cleanup RenderStyle.
19152
19153 * WebCore.xcodeproj/project.pbxproj:
19154 * rendering/style/CounterContent.h:
19155 * rendering/style/RenderStyle.cpp:
19156 * rendering/style/RenderStyle.h:
19157
dino@apple.comef93f532008-09-19 00:01:07 +0000191582008-09-18 Chris Marrin <cmarrin@apple.com>
19159
19160 Reviewed by Sam Weinig
19161
19162 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
19163 Now TransformOperations and AnimationList no longer
19164 inherit from Vector<> but rather have API to access.
19165
19166 * css/CSSComputedStyleDeclaration.cpp:
19167 (WebCore::computedTransform):
19168 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
19169 * css/CSSStyleSelector.cpp:
19170 (WebCore::CSSStyleSelector::createTransformOperations):
19171 * page/animation/AnimationBase.cpp:
19172 (WebCore::blendFunc):
19173 * page/animation/CompositeAnimation.cpp:
19174 (WebCore::CompositeAnimation::updateTransitions):
19175 (WebCore::CompositeAnimation::updateKeyframeAnimations):
19176 (WebCore::CompositeAnimation::animate):
19177 * page/animation/ImplicitAnimation.cpp:
19178 (WebCore::ImplicitAnimation::validateTransformFunctionList):
19179 * page/animation/KeyframeAnimation.cpp:
19180 (WebCore::KeyframeAnimation::validateTransformFunctionList):
19181 * rendering/RenderLayer.cpp:
19182 (WebCore::RenderLayer::updateReflectionStyle):
19183 * rendering/style/AnimationList.cpp:
19184 (WebCore::AnimationList::operator==):
19185 * rendering/style/AnimationList.h:
19186 (WebCore::AnimationList::operator!=):
19187 (WebCore::AnimationList::size):
19188 (WebCore::AnimationList::isEmpty):
19189 (WebCore::AnimationList::resize):
19190 (WebCore::AnimationList::remove):
19191 (WebCore::AnimationList::append):
19192 (WebCore::AnimationList::animation):
19193 * rendering/style/RenderStyle.cpp:
19194 (WebCore::StyleRareNonInheritedData::updateKeyframes):
19195 (WebCore::RenderStyle::applyTransform):
19196 (WebCore::RenderStyle::adjustAnimations):
19197 (WebCore::RenderStyle::adjustTransitions):
19198 (WebCore::RenderStyle::transitionForProperty):
19199 * rendering/style/RenderStyle.h:
19200 (WebCore::RenderStyle::hasTransform):
19201 * rendering/style/TransformOperations.cpp:
19202 (WebCore::TransformOperations::TransformOperations):
19203 (WebCore::TransformOperations::operator==):
19204 * rendering/style/TransformOperations.h:
19205 (WebCore::TransformOperations::apply):
19206 (WebCore::TransformOperations::operations):
19207
zecke@webkit.org20690ef2008-09-18 23:28:34 +0000192082008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
19209
zecke@webkit.org30db7422008-09-19 01:00:18 +000019210 Build fix.
19211
19212 [qt] Build fixes after the Widget/ScrollView cleanup
19213 topLevel() is now root()
19214
19215
19216 * platform/qt/ScrollViewQt.cpp:
19217 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
19218 (WebCore::ScrollView::addChild):
19219 (WebCore::ScrollView::removeChild):
19220
192212008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
19222
zecke@webkit.org20690ef2008-09-18 23:28:34 +000019223 Reviewed by Mark Rowe.
19224
19225 https://bugs.webkit.org/show_bug.cgi?id=20437
19226
19227 XMLTokenizer.cpp used to contain two different implementations. One was using
19228 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
19229 separating the two implementations from each other.
19230 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
19231 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
19232 XMLTokenizerLibxml2.cpp. There should be no functional changes.
19233
19234 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
19235 to work.
19236
19237 * GNUmakefile.am:
19238 * WebCore.pro:
19239 * WebCore.vcproj/WebCore.vcproj:
19240 * WebCore.xcodeproj/project.pbxproj:
19241 * WebCoreSources.bkl:
19242 * dom/XMLTokenizer.cpp:
19243 (WebCore::isScriptElement):
19244 (WebCore::castToScriptElement):
19245 (WebCore::XMLTokenizer::setCurrentNode):
19246 (WebCore::XMLTokenizer::write):
19247 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
19248 (WebCore::XMLTokenizer::enterText):
19249 (WebCore::toString):
19250 (WebCore::XMLTokenizer::exitText):
19251 (WebCore::XMLTokenizer::end):
19252 (WebCore::XMLTokenizer::insertErrorMessageBlock):
19253 * dom/XMLTokenizer.h:
19254 (WebCore::XMLTokenizer::wellFormed):
19255 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
19256 (WebCore::createMemoryParser):
19257 (WebCore::XMLTokenizer::XMLTokenizer):
19258 (WebCore::XMLTokenizer::~XMLTokenizer):
19259 (WebCore::XMLTokenizer::doWrite):
19260 (WebCore::ignorableWhitespaceHandler):
19261 (WebCore::XMLTokenizer::initializeParserContext):
19262 (WebCore::XMLTokenizer::doEnd):
19263 (WebCore::XMLTokenizer::lineNumber):
19264 (WebCore::XMLTokenizer::columnNumber):
19265 (WebCore::XMLTokenizer::stopParsing):
19266 (WebCore::XMLTokenizer::resumeParsing):
19267 (WebCore::parseXMLDocumentFragment):
19268 (WebCore::attributesStartElementNsHandler):
19269 (WebCore::parseAttributes):
19270 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
19271 (WebCore::EntityResolver::resolveUndeclaredEntity):
19272 (WebCore::XMLTokenizer::XMLTokenizer):
19273 (WebCore::XMLTokenizer::~XMLTokenizer):
19274 (WebCore::XMLTokenizer::doWrite):
19275 (WebCore::XMLTokenizer::initializeParserContext):
19276 (WebCore::XMLTokenizer::doEnd):
19277 (WebCore::XMLTokenizer::lineNumber):
19278 (WebCore::XMLTokenizer::columnNumber):
19279 (WebCore::XMLTokenizer::stopParsing):
19280 (WebCore::XMLTokenizer::resumeParsing):
19281 (WebCore::parseXMLDocumentFragment):
19282 (WebCore::attributesStartElementNsHandler):
19283 (WebCore::parseAttributes):
19284 (WebCore::):
19285
bdakin@apple.com4c244902008-09-18 23:08:35 +0000192862008-09-18 Beth Dakin <bdakin@apple.com>
19287
19288 Reviewed by Geoff Garen.
19289
19290 Build fix for non-Mac builds.
19291
19292 * css/CSSPrimitiveValue.cpp:
19293 (WebCore::CSSPrimitiveValue::cssText):
19294
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000192952008-09-18 Peter Kasting <pkasting@google.com>
19296
19297 Reviewed by hyatt. Landed by eseidel.
19298
19299 https://bugs.webkit.org/show_bug.cgi?id=20745
19300 Animated GIFs do not animate properly with (at least) CG.
19301
19302 * WebCore\platform\graphics\BitmapImage.cpp:
19303 * WebCore\platform\graphics\BitmapImage.h:
19304 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
19305 * WebCore\platform\graphics\cg\ImageCG.cpp:
19306 * WebCore\platform\graphics\qt\ImageQt.cpp:
19307 * WebCore\platform\graphics\wx\ImageWx.cpp:
19308
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +0000193092008-09-18 Chris Fleizach <cfleizach@apple.com>
19310
19311 Reviewed by Beth Dakin
19312
19313 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
19314 role specifies otherwise
19315
19316 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
19317
19318 Test: accessibility/table-with-aria-role.html
19319
19320 * page/AccessibilityTable.cpp:
19321 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
19322 (WebCore::AccessibilityTable::addChildren):
19323 (WebCore::AccessibilityTable::roleValue):
19324 (WebCore::AccessibilityTable::accessibilityIsIgnored):
19325 (WebCore::AccessibilityTable::title):
19326 * page/AccessibilityTableCell.cpp:
19327 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
19328 (WebCore::AccessibilityTableCell::isTableCell):
19329 (WebCore::AccessibilityTableCell::roleValue):
19330 * page/AccessibilityTableCell.h:
19331 * page/AccessibilityTableRow.cpp:
19332 (WebCore::AccessibilityTableRow::roleValue):
19333 (WebCore::AccessibilityTableRow::isTableRow):
19334 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
19335 * page/AccessibilityTableRow.h:
19336
sfalken@apple.coma96c5d32008-09-18 22:29:34 +0000193372008-09-18 Steve Falkenburg <sfalken@apple.com>
19338
19339 Use higher-resolution timers on all variants of Windows.
19340
19341 Reviewed by Darin Adler.
19342
19343 * platform/win/SharedTimerWin.cpp:
19344 (WebCore::setSharedTimerFireTime):
19345
19346
hyatt@apple.comb7d49b62008-09-18 22:21:25 +0000193472008-09-18 David Hyatt <hyatt@apple.com>
19348
19349 Make containingWindow() and setContainingWindow() cross-platform.
19350 Add a root() function cross-platform so Qt doesn't have to
19351 define its own.
19352
19353 Reviewed by Darin Adler
19354
19355 * platform/Widget.cpp:
19356 (WebCore::Widget::root):
19357 * platform/Widget.h:
19358 (WebCore::Widget::setContainingWindow):
19359 * platform/gtk/WidgetGtk.cpp:
19360 (WebCore::Widget::Widget):
19361 (WebCore::Widget::containingWindow):
19362 * platform/mac/ScrollViewMac.mm:
19363 (WebCore::ScrollView::addChild):
19364 (WebCore::ScrollView::removeChild):
19365 * platform/mac/WidgetMac.mm:
19366 (WebCore::Widget::containingWindow):
19367 * platform/qt/WidgetQt.cpp:
19368 (WebCore::Widget::invalidateRect):
19369 (WebCore::Widget::containingWindow):
19370 * platform/win/WidgetWin.cpp:
19371 (WebCore::Widget::Widget):
19372 (WebCore::Widget::~Widget):
19373 (WebCore::Widget::containingWindow):
19374
bdakin@apple.comfa1ce162008-09-18 22:18:01 +0000193752008-09-18 Beth Dakin <bdakin@apple.com>
19376
19377 Reviewed by Dave Hyatt.
19378
19379 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
19380 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
19381 dashboard-region=
19382 and corresponding: <rdar://problem/6174100>
19383
19384 This patch makes CSSParserValue::createCSSValue handle unknown
19385 identifiers.
19386
19387 * css/CSSParserValues.cpp:
19388 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
19389 with no id (an unknown identifier) create a CSSPrimitiveValue of
19390 type CSS_PARSER_IDENTIFIER
19391 * css/CSSPrimitiveValue.cpp:
19392 (WebCore::CSSPrimitiveValue::cssText):
19393 (WebCore::CSSPrimitiveValue::parserValue):
19394 * css/CSSPrimitiveValue.h:
19395 (WebCore::CSSPrimitiveValue::):
19396
weinig@apple.comfce49be2008-09-18 21:46:14 +0000193972008-09-18 Sam Weinig <sam@webkit.org>
19398
19399 Rubber-stamped by David "I'd prefer not" Hyatt.
19400
19401 More the remaining class out of RenderStyle.h/cpp
19402
19403 * GNUmakefile.am:
19404 * WebCore.pro:
19405 * WebCore.vcproj/WebCore.vcproj:
19406 * WebCore.xcodeproj/project.pbxproj:
19407 * WebCoreSources.bkl:
19408 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
19409 (WebCore::CursorData::CursorData):
19410 (WebCore::CursorData::operator==):
19411 (WebCore::CursorData::operator!=):
19412 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
19413 (WebCore::CursorList::operator[]):
19414 (WebCore::CursorList::CursorList):
19415 * rendering/style/RenderStyle.cpp:
19416 * rendering/style/RenderStyle.h:
19417 (WebCore::RenderStyle::deref):
19418 (WebCore::RenderStyle::hasOneRef):
19419 (WebCore::RenderStyle::InheritedFlags::operator!=):
19420 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
19421 (WebCore::RenderStyle::hasBackground):
19422 (WebCore::RenderStyle::outlineWidth):
19423 (WebCore::RenderStyle::autoWrap):
19424 (WebCore::RenderStyle::preserveNewline):
19425 (WebCore::RenderStyle::collapseWhiteSpace):
19426 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
19427 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
19428 (WebCore::RenderStyle::breakWords):
19429 (WebCore::RenderStyle::outlineOffset):
19430 (WebCore::RenderStyle::setLeft):
19431 (WebCore::RenderStyle::setRight):
19432 (WebCore::RenderStyle::setTop):
19433 (WebCore::RenderStyle::setBottom):
19434 (WebCore::RenderStyle::setDashboardRegion):
19435 (WebCore::RenderStyle::setBackgroundColor):
19436 (WebCore::RenderStyle::setBorderImage):
19437 (WebCore::RenderStyle::setBorderRadius):
19438 (WebCore::RenderStyle::setFontDescription):
19439 (WebCore::RenderStyle::adjustBackgroundLayers):
19440 (WebCore::RenderStyle::adjustMaskLayers):
19441 (WebCore::RenderStyle::deleteBindingURIs):
19442 (WebCore::RenderStyle::inheritBindingURIs):
19443 (WebCore::RenderStyle::isDisplayReplacedType):
19444 (WebCore::RenderStyle::isDisplayInlineType):
19445 (WebCore::RenderStyle::isOriginalDisplayInlineType):
19446 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
19447 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
19448 (WebCore::StyleInheritedData::operator!=):
19449 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
19450 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
19451 (WebCore::StyleRareInheritedData::operator!=):
19452 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
19453 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
19454 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
19455
hyatt@apple.com643534d2008-09-18 20:09:41 +0000194562008-09-18 David Hyatt <hyatt@apple.com>
19457
hyatt@apple.comd23089a2008-09-18 20:24:16 +000019458 Move the concept of suppression invalidation on Widgets to Scrollbar
19459 instead. Since this is only used by Scrollbars, there is no need for
19460 it to be on Widget.
19461
19462 Reviewed by Sam Weinig
19463
19464 * platform/Scrollbar.cpp:
19465 (WebCore::Scrollbar::Scrollbar):
19466 (WebCore::Scrollbar::invalidateRect):
19467 * platform/Scrollbar.h:
19468 (WebCore::Scrollbar::suppressInvalidation):
19469 (WebCore::Scrollbar::setSuppressInvalidation):
19470 * platform/Widget.h:
19471 * platform/gtk/WidgetGtk.cpp:
19472 (WebCore::Widget::Widget):
19473 (WebCore::Widget::invalidateRect):
19474 * platform/qt/WidgetQt.cpp:
19475 (WebCore::WidgetPrivate::WidgetPrivate):
19476 (WebCore::Widget::invalidateRect):
19477 * platform/win/WidgetWin.cpp:
19478 (WebCore::Widget::Widget):
19479 (WebCore::Widget::invalidateRect):
19480
194812008-09-18 David Hyatt <hyatt@apple.com>
19482
hyatt@apple.com643534d2008-09-18 20:09:41 +000019483 Make invalidate() on Widget non-virtual and make it just call
19484 invalidateRect() on the boundsGeometry() of the Widget.
19485
19486 Reviewed by Dan Bernstein
19487
19488 * platform/Widget.h:
19489 (WebCore::Widget::boundsGeometry):
19490 (WebCore::Widget::invalidate):
19491 * platform/gtk/WidgetGtk.cpp:
19492 * platform/mac/WidgetMac.mm:
19493 * platform/qt/WidgetQt.cpp:
19494 * platform/win/WidgetWin.cpp:
19495 * platform/wx/WidgetWx.cpp:
19496
weinig@apple.comcaf2df42008-09-18 19:40:24 +0000194972008-09-18 Sam Weinig <sam@webkit.org>
19498
19499 Rubber-stamped in exile by David Hyatt.
19500
19501 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
19502 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
19503 RenderStyle.h/cpp
19504
19505 * GNUmakefile.am:
19506 * WebCore.pro:
19507 * WebCore.vcproj/WebCore.vcproj:
19508 * WebCore.xcodeproj/project.pbxproj:
19509 * WebCoreSources.bkl:
19510 * css/CSSStyleSelector.cpp:
19511 * css/CSSStyleSelector.h:
19512 * page/animation/CompositeAnimation.cpp:
19513 * page/animation/KeyframeAnimation.cpp:
19514 * page/animation/KeyframeAnimation.h:
19515 * rendering/RenderCounter.h:
19516 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
19517 (WebCore::Animation::~Animation):
19518 (WebCore::Animation::animationsMatch):
19519 (WebCore::Animation::keyframeList):
19520 (WebCore::Animation::setAnimationKeyframe):
19521 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
19522 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
19523 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
19524 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
19525 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
19526 (WebCore::BindingURI::operator!=):
19527 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
19528 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
19529 (WebCore::ContentData::ContentData):
19530 (WebCore::ContentData::~ContentData):
19531 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
19532 (WebCore::CounterContent::CounterContent):
19533 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
19534 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
19535 (WebCore::CounterDirectives::CounterDirectives):
19536 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
19537 (WebCore::KeyframeList::insert):
19538 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
19539 (WebCore::KeyframeValue::KeyframeValue):
19540 (WebCore::KeyframeList::create):
19541 (WebCore::KeyframeList::KeyframeList):
19542 * rendering/style/RenderStyle.cpp:
19543 * rendering/style/RenderStyle.h:
19544 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
19545 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
19546 (WebCore::ShadowData::ShadowData):
19547 (WebCore::ShadowData::~ShadowData):
19548 (WebCore::ShadowData::operator!=):
19549 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
19550 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
19551 (WebCore::StyleFlexibleBoxData::operator!=):
19552 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
19553 (WebCore::TimingFunction::TimingFunction):
19554 (WebCore::TimingFunction::operator==):
19555
adele@apple.com5b2b5da2008-09-18 18:49:44 +0000195562008-09-18 Adele Peterson <adele@apple.com>
19557
19558 Reviewed by Dan Bernstein.
19559
19560 Fix RenderStyle leaks.
19561
19562 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
19563
kmccullough@apple.comd4089752008-09-18 17:21:49 +0000195642008-09-18 Kevin McCullough <kmccullough@apple.com>
19565
kmccullough@apple.com76c708f2008-09-18 18:03:23 +000019566 Accidentally checked in code.
19567
19568 * html/HTMLElementFactory.cpp:
19569 (WebCore::frameConstructor):
19570 (WebCore::iframeConstructor):
19571
195722008-09-18 Kevin McCullough <kmccullough@apple.com>
19573
kmccullough@apple.comd4089752008-09-18 17:21:49 +000019574 Reviewed by Tim.
19575
19576 <rdar://problem/5722310> gracefully handle too many console messages
19577 (20904)
19578 - Keep track of the most previous message and then compare it to the
19579 subsequent messages as they come in. If there are multiple of the same
19580 message create a count that indicates the current number.
19581
19582 * manual-tests/inspector/multiple-console-messages.html: Added.
19583 * page/inspector/Console.js:
19584 * page/inspector/inspector.css:
19585
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000195862008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
19587
19588 Reviewed by Alp Toker
19589
19590 https://bugs.webkit.org/show_bug.cgi?id=20830
19591 [GTK] Don't use deprecated pango API
19592
19593 Replace deprecated pango functions with non-deprecated ones for newer
19594 versions of pango
19595
19596 * platform/graphics/gtk/FontGtk.cpp:
19597 (WebCore::getDefaultPangoLayout):
19598 * platform/graphics/gtk/FontPlatformDataPango.cpp:
19599 (WebCore::FontPlatformData::FontPlatformData):
19600
alp@webkit.org2154ef22008-09-18 08:10:49 +0000196012008-09-18 Alp Toker <alp@nuanti.com>
19602
19603 Build fix for r36587. Add new sources (and sort the lists).
19604
19605 * GNUmakefile.am:
19606
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000196072008-09-17 Sam Weinig <sam@webkit.org>
19608
19609 Fix Windows build.
19610
19611 * WebCore.vcproj/WebCore.vcproj:
19612
hyatt@apple.comb3699722008-09-18 05:10:03 +0000196132008-09-17 David Hyatt <hyatt@apple.com>
19614
19615 Switch back to having frameGeometry be virtual in order to keep Mac
19616 the way it used to be.
19617
19618 Reviewed by Sam Weinig
19619
19620 * WebCore.base.exp:
19621 * platform/Widget.cpp:
19622 (WebCore::Widget::setParent):
19623 * platform/Widget.h:
19624 * platform/gtk/WidgetGtk.cpp:
19625 (WebCore::Widget::frameGeometry):
19626 (WebCore::Widget::setFrameGeometry):
19627 * platform/mac/WidgetMac.mm:
19628 (WebCore::Widget::frameGeometry):
19629 (WebCore::Widget::setFrameGeometry):
19630 * platform/qt/WidgetQt.cpp:
19631 (WebCore::Widget::frameGeometry):
19632 (WebCore::Widget::setFrameGeometry):
19633 * platform/win/WidgetWin.cpp:
19634 (WebCore::Widget::frameGeometry):
19635 (WebCore::Widget::setFrameGeometry):
19636 * platform/wx/WidgetWx.cpp:
19637 (WebCore::Widget::frameGeometry):
19638 (WebCore::Widget::setFrameGeometry):
19639 * plugins/PluginView.cpp:
19640 (WebCore::PluginView::setFrameGeometry):
19641 (WebCore::PluginView::geometryChanged):
19642 * plugins/PluginView.h:
19643 * plugins/gtk/PluginViewGtk.cpp:
19644 (WebCore::PluginView::updatePluginWidget):
19645 * plugins/qt/PluginViewQt.cpp:
19646 (WebCore::PluginView::updatePluginWidget):
19647 * plugins/win/PluginViewWin.cpp:
19648 (WebCore::PluginView::updatePluginWidget):
19649
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000196502008-09-17 Sam Weinig <sam@webkit.org>
19651
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000019652 Reviewed by Mark Rowe.
19653
19654 Fix assertion in DOMWindow::adjustWindowRect where we were passing
19655 in garbage values and were getting lucky that they were a not Nan.
19656
19657 * bindings/js/JSDOMWindowBase.cpp:
19658 (WebCore::windowProtoFuncOpen):
19659
196602008-09-17 Sam Weinig <sam@webkit.org>
19661
weinig@apple.com95b14762008-09-18 04:28:40 +000019662 Fix gtk build.
19663
19664 * rendering/style/MatrixTransformOperation.cpp:
19665
196662008-09-17 Sam Weinig <sam@webkit.org>
19667
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000019668 Rubber-stamped with love by David Hyatt.
19669
19670 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
19671 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
19672 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
19673
19674 * GNUmakefile.am:
19675 * WebCore.pro:
19676 * WebCore.vcproj/WebCore.vcproj:
19677 * WebCore.xcodeproj/project.pbxproj:
19678 * WebCoreSources.bkl:
19679 * css/CSSStyleSelector.cpp:
19680 * page/animation/AnimationBase.cpp:
19681 (WebCore::solveEpsilon):
19682 * rendering/RenderLayer.cpp:
19683 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19684 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19685 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19686 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
19687 * rendering/style/RenderStyle.cpp:
19688 * rendering/style/RenderStyle.h:
19689 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19690 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19691 (WebCore::RotateTransformOperation::RotateTransformOperation):
19692 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19693 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19694 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
19695 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19696 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19697 (WebCore::SkewTransformOperation::SkewTransformOperation):
19698 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
19699 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
19700 (WebCore::StyleTransformData::operator!=):
19701 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
19702 (WebCore::TransformOperation::):
19703 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
19704 (WebCore::TransformOperations::TransformOperations):
19705 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
19706 (WebCore::TransformOperations::operator!=):
19707 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19708 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19709 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
19710
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000197112008-09-17 Mark Rowe <mrowe@apple.com>
19712
19713 Build fix.
19714
19715 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
19716
hyatt@apple.com76057b42008-09-18 02:48:46 +0000197172008-09-17 David Hyatt <hyatt@apple.com>
19718
19719 (1) Inline a bunch of methods for accessing frame geometry.
19720 (2) Make sure frameGeometry() works even when you have no underlying
19721 native widget.
19722 (3) Cache a frame geometry rect cross-platform (even for widgets that
19723 have underlying native widgets.
19724 (4) PluginView's updateWindow call is now a virtual function on Widget.
19725
19726 Reviewed by Sam Weinig
19727
19728 * ChangeLog:
19729 * WebCore.base.exp:
19730 * platform/Widget.cpp:
19731 (WebCore::Widget::setFrameGeometry):
19732 * platform/Widget.h:
19733 (WebCore::Widget::x):
19734 (WebCore::Widget::y):
19735 (WebCore::Widget::width):
19736 (WebCore::Widget::height):
19737 (WebCore::Widget::size):
19738 (WebCore::Widget::pos):
19739 (WebCore::Widget::frameGeometry):
19740 (WebCore::Widget::resize):
19741 (WebCore::Widget::move):
19742 (WebCore::Widget::isFrameView):
19743 (WebCore::Widget::windowClipRect):
19744 * platform/mac/WidgetMac.mm:
19745 (WebCore::Widget::~Widget):
19746 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
19747 * platform/win/WidgetWin.cpp:
19748 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
19749 * plugins/PluginView.cpp:
19750 (WebCore::PluginView::setFrameGeometry):
19751 (WebCore::PluginView::geometryChanged):
19752 * plugins/PluginView.h:
19753 * plugins/gtk/PluginViewGtk.cpp:
19754 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
19755 * plugins/qt/PluginViewQt.cpp:
19756 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
19757 * plugins/win/PluginViewWin.cpp:
19758 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
19759 * plugins/wx/PluginViewWx.cpp:
19760
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000197612008-09-17 Sam Weinig <sam@webkit.org>
19762
weinig@apple.comb4b66742008-09-18 02:47:55 +000019763 Reviewed by David "Waterman" Hyatt.
19764
19765 Fix a leak of NSViews in WidgetMac.mm.
19766
19767 * platform/mac/WidgetMac.mm:
19768 (WebCore::Widget::~Widget):
19769
197702008-09-17 Sam Weinig <sam@webkit.org>
19771
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000019772 Rubber-stamped by David Waterman Hyatt.
19773
19774 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
19775 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
19776
19777 * GNUmakefile.am:
19778 * WebCore.pro:
19779 * WebCore.vcproj/WebCore.vcproj:
19780 * WebCore.xcodeproj/project.pbxproj:
19781 * WebCoreSources.bkl:
19782 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
19783 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
19784 (WebCore::FillLayer::operator!=):
19785 (WebCore::FillLayer::hasImage):
19786 (WebCore::FillLayer::hasFixedImage):
19787 * rendering/style/RenderStyle.cpp:
19788 * rendering/style/RenderStyle.h:
19789 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
19790 (WebCore::StyleBackgroundData::StyleBackgroundData):
19791 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
19792 (WebCore::StyleBackgroundData::~StyleBackgroundData):
19793 (WebCore::StyleBackgroundData::operator!=):
19794 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
19795 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
19796 (WebCore::StyleBoxData::operator!=):
19797 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
19798 (WebCore::StyleDashboardRegion::operator!=):
19799 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
19800 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
19801 (WebCore::StyleMarqueeData::operator!=):
19802 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
19803 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
19804 (WebCore::StyleMultiColData::operator!=):
19805 (WebCore::StyleMultiColData::ruleWidth):
19806 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
19807 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
19808 (WebCore::StyleVisualData::operator==):
19809
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000198102008-09-17 David Hyatt <hyatt@apple.com>
19811
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000019812 Remove WidgetClient from Widget.
19813
19814 Reviewed by Sam Weinig
19815
19816 * WebCore.xcodeproj/project.pbxproj:
19817 * platform/Widget.h:
19818 (WebCore::Widget::setClient):
19819 (WebCore::Widget::client):
19820 * platform/WidgetClient.h: Removed.
19821 * platform/gtk/WidgetGtk.cpp:
19822 * platform/mac/WidgetMac.mm:
19823 (WebCore::Widget::Widget):
19824 (WebCore::Widget::show):
19825 (WebCore::Widget::hide):
19826 * platform/qt/WidgetQt.cpp:
19827 (WebCore::WidgetPrivate::WidgetPrivate):
19828 * platform/win/WidgetWin.cpp:
19829 (WebCore::Widget::Widget):
19830 * platform/wx/WidgetWx.cpp:
19831 (WebCore::Widget::Widget):
19832
198332008-09-17 David Hyatt <hyatt@apple.com>
19834
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000019835 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
19836 only applies to Scrollbars so the method has been moved there and made
19837 cross-platform. Scrollbar subclasses that have a corresponding native
19838 widget can subclass setEnabled to change the enabled state of the native
19839 widget.
19840
19841 Reviewed by Sam Weinig & Darin Adler
19842
19843 * WebCore.base.exp:
19844 * platform/Scrollbar.cpp:
19845 (WebCore::Scrollbar::Scrollbar):
19846 * platform/Scrollbar.h:
19847 (WebCore::Scrollbar::enabled):
19848 (WebCore::Scrollbar::setEnabled):
19849 * platform/Widget.h:
19850 * platform/gtk/ScrollbarGtk.cpp:
19851 (ScrollbarGtk::setEnabled):
19852 * platform/gtk/ScrollbarGtk.h:
19853 * platform/gtk/WidgetGtk.cpp:
19854 * platform/mac/ScrollbarMac.h:
19855 * platform/mac/ScrollbarMac.mm:
19856 (WebCore::ScrollbarMac::scrollbarHit):
19857 (WebCore::ScrollbarMac::setEnabled):
19858 * platform/mac/WidgetMac.mm:
19859 * platform/qt/WidgetQt.cpp:
19860 (WebCore::WidgetPrivate::WidgetPrivate):
19861 * platform/win/WidgetWin.cpp:
19862 (WebCore::Widget::Widget):
19863 * platform/wx/WidgetWx.cpp:
19864
weinig@apple.com1ea40602008-09-17 23:56:27 +0000198652008-09-17 Sam Weinig <sam@webkit.org>
19866
19867 Rubber-stamped by David Hyatt.
19868
19869 Split all RenderStyle enums into their own file.
19870
19871 * GNUmakefile.am:
19872 * WebCore.vcproj/WebCore.vcproj:
19873 * WebCore.xcodeproj/project.pbxproj:
19874 * rendering/style/BorderValue.h:
19875 * rendering/style/CollapsedBorderValue.h:
19876 * rendering/style/RenderStyle.h:
19877 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
19878 (WebCore::):
19879 * rendering/style/StyleCachedImage.h:
19880 * rendering/style/StyleGeneratedImage.h:
19881 * rendering/style/StyleImage.h:
19882
sfalken@apple.combf270912008-09-17 23:53:17 +0000198832008-09-17 Steve Falkenburg <sfalken@apple.com>
19884
19885 Add back isFrameView check to fix failed assertion during scroll bar teardown.
19886
19887 Reviewed by Dave Hyatt.
19888
19889 * platform/Scrollbar.cpp:
19890 (WebCore::Scrollbar::setParent):
19891
beidson@apple.com4398e482008-09-17 23:30:00 +0000198922008-09-17 Brady Eidson <beidson@apple.com>
19893
19894 Reviewed by Mac build fix
19895
19896 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
19897
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000198982008-09-17 Steve Falkenburg <sfalken@apple.com>
19899
19900 Fix build.
19901
19902 * platform/win/ScrollViewWin.cpp:
19903 (WebCore::ScrollView::setParentVisible):
19904 * plugins/win/PluginViewWin.cpp:
19905 (WebCore::PluginView::init):
19906
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000199072008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
19908
19909 Reviewed by Simon.
19910
19911 [QtWebKit] Implement error handling in TextCodecQt::decode
19912 Use the QTextCodec parsing state to set the sawError out variable. This
19913 is needed to pass Test 70 of acid3. The test case for this bug is
19914 fast/encoding/invalid-xml.html that is now partially passed. To pass
19915 it completely the Qt text codecs need to be adjusted to have proper
19916 error handling.
19917
19918 * platform/text/qt/TextCodecQt.cpp:
19919 (WebCore::TextCodecQt::decode):
19920
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000199212008-09-17 Sam Weinig <sam@webkit.org>
19922
19923 Rubber-stamped by Dave Hyatt.
19924
19925 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
19926 out of RenderStyle.h/cpp
19927
19928 * GNUmakefile.am:
19929 * WebCore.pro:
19930 * WebCore.vcproj/WebCore.vcproj:
19931 * WebCore.xcodeproj/project.pbxproj:
19932 * WebCoreSources.bkl:
19933 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
19934 (WebCore::BorderData::hasBorderRadius):
19935 (WebCore::BorderData::borderLeftWidth):
19936 (WebCore::BorderData::borderRightWidth):
19937 (WebCore::BorderData::borderTopWidth):
19938 (WebCore::BorderData::borderBottomWidth):
19939 (WebCore::BorderData::operator!=):
19940 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
19941 (WebCore::):
19942 (WebCore::BorderValue::BorderValue):
19943 (WebCore::BorderValue::nonZero):
19944 (WebCore::BorderValue::isTransparent):
19945 (WebCore::BorderValue::isVisible):
19946 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
19947 (WebCore::):
19948 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
19949 (WebCore::CollapsedBorderValue::operator==):
19950 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
19951 (WebCore::OutlineValue::OutlineValue):
19952 * rendering/style/RenderStyle.cpp:
19953 * rendering/style/RenderStyle.h:
19954 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
19955 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
19956 (WebCore::StyleSurroundData::operator!=):
19957
bdakin@apple.com06b97182008-09-17 23:00:29 +0000199582008-09-17 Beth Dakin <bdakin@apple.com>
19959
19960 Reviewed by Darin Adler.
19961
19962 This is a better fix for: Invalid CSS code crashes Safari
19963 https://bugs.webkit.org/show_bug.cgi?id=20512
19964
19965 The spec indicates that the only valid input for a counter is a
19966 number or an identifier. So that is exactly what we allow.
19967
19968 * css/CSSParser.cpp:
19969 (WebCore::CSSParser::parseCounterContent):
19970
alp@webkit.org97ba9222008-09-17 22:16:26 +0000199712008-09-17 Alp Toker <alp@nuanti.com>
19972
19973 GTK+ build fix. Adapt to use PlatformWidget functions.
19974
19975 * platform/gtk/ScrollViewGtk.cpp:
19976 (WebCore::ScrollViewScrollbar::geometryChanged):
19977 (WebCore::ScrollView::addChild):
19978 (WebCore::ScrollView::removeChild):
19979 * platform/gtk/ScrollbarGtk.cpp:
19980 (ScrollbarGtk::ScrollbarGtk):
19981 (ScrollbarGtk::~ScrollbarGtk):
19982 (ScrollbarGtk::geometryChanged):
19983
weinig@apple.com930ed392008-09-17 22:00:45 +0000199842008-09-17 Sam Weinig <sam@webkit.org>
19985
19986 Reviewed by Adele Peterson.
19987
19988 Patch for <rdar://problem/6133884>
19989 Calling window.resizeTo() on a subframe shouldn't change the window size
19990
19991 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
19992
19993 * page/DOMWindow.cpp:
19994 (WebCore::DOMWindow::moveBy):
19995 (WebCore::DOMWindow::moveTo):
19996 (WebCore::DOMWindow::resizeBy):
19997 (WebCore::DOMWindow::resizeTo):
19998
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000199992008-09-17 Beth Dakin <bdakin@apple.com>
20000
20001 Reviewed by Adam Roben.
20002
20003 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
20004 code crashes Safari
20005 and corresponding: <rdar://problem/6173832>
20006
20007 Reading through the spec, it seems like a function is not valid
20008 input for a counter. So this patch checks for that and bails in the
20009 case of invalid input.
20010
20011 * css/CSSParser.cpp:
20012 (WebCore::CSSParser::parseCounterContent):
20013
antti@apple.comb37d4052008-09-17 21:14:13 +0000200142008-09-17 Greg Bolsinga <bolsinga@apple.com>
20015
20016 Reviewed by Antti Koivisto.
20017
20018 Fix <rdar://problem/6227089>
20019 Crash in WebCore::Frame::setNeedsReapplyStyles()
20020
20021 View is null checked elsewhere too.
20022
20023 * page/Frame.cpp:
20024 (WebCore::Frame::setNeedsReapplyStyles):
20025
hyatt@apple.com8e340252008-09-17 20:59:45 +0000200262008-09-17 David Hyatt <hyatt@apple.com>
20027
20028 Make the notion of having a native widget backing a Widget cross-platform.
20029 The PlatformWidget abstraction (which already existed) is used for this.
20030 Windows = HWND
20031 Qt = QWidget
20032 Mac = NSView
20033 wx = wxWindow
20034 Gtk = GtkWidget
20035
20036 There are new cross-platform methods that replace all of the unique
20037 platform-specific methods.
20038 platformWidget()
20039 setPlatformWidget()
20040
20041 For plugins, on every platform except Qt on Windows, the plugin's native
20042 widget is now stored in the Widget base class. Since Qt on Windows uses
20043 HWNDs for plugins instead of QWidget, it is the only platform to keep the
20044 m_window variable in PluginView.
20045
20046 Reviewed by Sam Weinig
20047
20048 * WebCore.base.exp:
20049 * bindings/js/ScriptControllerMac.mm:
20050 (WebCore::ScriptController::createScriptInstanceForWidget):
20051 * page/mac/AccessibilityObjectWrapper.mm:
20052 (-[AccessibilityObjectWrapper attachmentView]):
20053 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
20054 * page/mac/EventHandlerMac.mm:
20055 (WebCore::EventHandler::passMouseDownEventToWidget):
20056 (WebCore::EventHandler::mouseDownViewIfStillGood):
20057 (WebCore::EventHandler::passWheelEventToWidget):
20058 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
20059 * platform/Widget.cpp:
20060 (WebCore::Widget::init):
20061 (WebCore::Widget::setParent):
20062 (WebCore::Widget::releasePlatformWidget):
20063 (WebCore::Widget::retainPlatformWidget):
20064 * platform/Widget.h:
20065 (WebCore::Widget::platformWidget):
20066 (WebCore::Widget::setPlatformWidget):
20067 * platform/gtk/WidgetGtk.cpp:
20068 (WebCore::Widget::Widget):
20069 (WebCore::Widget::setFocus):
20070 (WebCore::gdkDrawable):
20071 (WebCore::Widget::setCursor):
20072 (WebCore::Widget::show):
20073 (WebCore::Widget::hide):
20074 (WebCore::Widget::setEnabled):
20075 (WebCore::Widget::isEnabled):
20076 (WebCore::Widget::paint):
20077 * platform/mac/PlatformScreenMac.mm:
20078 (WebCore::screenRect):
20079 (WebCore::screenAvailableRect):
20080 * platform/mac/ScrollViewMac.mm:
20081 (WebCore::ScrollView::scrollView):
20082 (WebCore::ScrollView::update):
20083 (WebCore::ScrollView::inWindow):
20084 * platform/mac/ScrollbarMac.mm:
20085 (WebCore::ScrollbarMac::ScrollbarMac):
20086 (WebCore::ScrollbarMac::~ScrollbarMac):
20087 (WebCore::ScrollbarMac::updateThumbPosition):
20088 (WebCore::ScrollbarMac::updateThumbProportion):
20089 (WebCore::ScrollbarMac::scrollbarHit):
20090 * platform/mac/WidgetMac.mm:
20091 (WebCore::Widget::Widget):
20092 (WebCore::Widget::setEnabled):
20093 (WebCore::Widget::isEnabled):
20094 (WebCore::Widget::setFocus):
20095 (WebCore::Widget::getOuterView):
20096 (WebCore::Widget::paint):
20097 (WebCore::Widget::invalidate):
20098 (WebCore::Widget::invalidateRect):
20099 (WebCore::Widget::setIsSelected):
20100 (WebCore::Widget::releasePlatformWidget):
20101 (WebCore::Widget::retainPlatformWidget):
20102 * platform/qt/WidgetQt.cpp:
20103 (WebCore::WidgetPrivate::WidgetPrivate):
20104 (WebCore::Widget::Widget):
20105 (WebCore::Widget::setFrameGeometry):
20106 (WebCore::Widget::show):
20107 (WebCore::Widget::hide):
20108 (WebCore::Widget::isEnabled):
20109 (WebCore::Widget::setEnabled):
20110 (WebCore::Widget::invalidateRect):
20111 (WebCore::Widget::containingWindow):
20112 * platform/win/WidgetWin.cpp:
20113 (WebCore::Widget::Widget):
20114 * platform/wx/WidgetWx.cpp:
20115 (WebCore::Widget::Widget):
20116 (WebCore::Widget::frameGeometry):
20117 (WebCore::Widget::setFocus):
20118 (WebCore::Widget::setCursor):
20119 (WebCore::Widget::show):
20120 (WebCore::Widget::hide):
20121 (WebCore::Widget::setFrameGeometry):
20122 (WebCore::Widget::setEnabled):
20123 (WebCore::Widget::isEnabled):
20124 (WebCore::Widget::invalidate):
20125 (WebCore::Widget::invalidateRect):
20126 (WebCore::Widget::paint):
20127 * plugins/PluginView.cpp:
20128 (WebCore::PluginView::PluginView):
20129 * plugins/PluginView.h:
20130 (WebCore::PluginView::platformPluginWidget):
20131 * plugins/gtk/PluginViewGtk.cpp:
20132 (WebCore::PluginView::updateWindow):
20133 (WebCore::PluginView::setFocus):
20134 (WebCore::PluginView::show):
20135 (WebCore::PluginView::hide):
20136 (WebCore::PluginView::setParent):
20137 (WebCore::PluginView::setNPWindowRect):
20138 (WebCore::PluginView::setParentVisible):
20139 (WebCore::PluginView::getValue):
20140 (WebCore::PluginView::forceRedraw):
20141 (WebCore::PluginView::init):
20142 * plugins/qt/PluginViewQt.cpp:
20143 (WebCore::PluginView::updateWindow):
20144 (WebCore::PluginView::setFocus):
20145 (WebCore::PluginView::show):
20146 (WebCore::PluginView::hide):
20147 (WebCore::PluginView::setParent):
20148 (WebCore::PluginView::setNPWindowRect):
20149 (WebCore::PluginView::setParentVisible):
20150 (WebCore::PluginView::getValue):
20151 (WebCore::PluginView::~PluginView):
20152 (WebCore::PluginView::init):
20153 * plugins/win/PluginViewWin.cpp:
20154 (WebCore::PluginView::updateWindow):
20155 (WebCore::PluginView::setFocus):
20156 (WebCore::PluginView::show):
20157 (WebCore::PluginView::hide):
20158 (WebCore::PluginView::paint):
20159 (WebCore::PluginView::setParent):
20160 (WebCore::PluginView::setParentVisible):
20161 (WebCore::PluginView::setNPWindowRect):
20162 (WebCore::PluginView::stop):
20163 (WebCore::PluginView::invalidateRect):
20164 (WebCore::PluginView::forceRedraw):
20165 (WebCore::PluginView::~PluginView):
20166 (WebCore::PluginView::init):
20167
weinig@apple.comf713d132008-09-17 20:16:48 +0000201682008-09-17 Sam Weinig <sam@webkit.org>
20169
20170 Fix assert.
20171
20172 * platform/Widget.cpp:
20173 (WebCore::Widget::setParent):
20174
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000201752008-09-17 David Hyatt <hyatt@apple.com>
20176
20177 Beginnings of Widget refactoring (in order to make the mixing of
20178 widgets with and without corresponding native widgets more cross-platform).
20179
20180 This first patch makes the concept of a parent ScrollView cross-platform.
20181
20182 Note the similarity of the show/hide methods on the three PluginViews. This
20183 will be refactored better in a later patch so that they can all share
20184 a base class Widget show/hide method. For now the changes were made
20185 simply to be able to bring WidgetWin's setParent method up into Widget.
20186
20187 Reviewed by Sam Weinig
20188
20189 * WebCore.base.exp:
20190 * platform/ScrollView.h:
20191 * platform/Widget.cpp:
20192 (WebCore::Widget::init):
20193 (WebCore::Widget::setParent):
20194 * platform/Widget.h:
20195 (WebCore::Widget::isSelfVisible):
20196 (WebCore::Widget::isParentVisible):
20197 (WebCore::Widget::isVisible):
20198 (WebCore::Widget::setParentVisible):
20199 (WebCore::Widget::isPluginView):
20200 (WebCore::Widget::parent):
20201 (WebCore::Widget::handleEvent):
20202 (WebCore::Widget::geometryChanged):
20203 * platform/gtk/WidgetGtk.cpp:
20204 (WebCore::Widget::Widget):
20205 * platform/mac/ScrollViewMac.mm:
20206 (WebCore::ScrollView::addChild):
20207 (WebCore::ScrollView::removeChild):
20208 * platform/mac/ScrollbarMac.mm:
20209 (WebCore::ScrollbarMac::~ScrollbarMac):
20210 * platform/mac/WidgetMac.mm:
20211 (WebCore::Widget::Widget):
20212 (WebCore::Widget::~Widget):
20213 * platform/qt/WidgetQt.cpp:
20214 (WebCore::WidgetPrivate::WidgetPrivate):
20215 (WebCore::Widget::Widget):
20216 (WebCore::Widget::topLevel):
20217 * platform/win/ScrollViewWin.cpp:
20218 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
20219 (WebCore::ScrollView::setAncestorVisible):
20220 (WebCore::ScrollView::show):
20221 (WebCore::ScrollView::hide):
20222 * platform/win/WidgetWin.cpp:
20223 (WebCore::Widget::Widget):
20224 (WebCore::Widget::setParent):
20225 * platform/wx/WidgetWx.cpp:
20226 (WebCore::Widget::Widget):
20227 * plugins/PluginView.cpp:
20228 (WebCore::PluginView::PluginView):
20229 * plugins/PluginView.h:
20230 * plugins/gtk/PluginViewGtk.cpp:
20231 (WebCore::PluginView::show):
20232 (WebCore::PluginView::hide):
20233 (WebCore::PluginView::setParentVisible):
20234 * plugins/qt/PluginViewQt.cpp:
20235 (WebCore::PluginView::show):
20236 (WebCore::PluginView::hide):
20237 (WebCore::PluginView::setParentVisible):
20238 * plugins/win/PluginViewWin.cpp:
20239 (WebCore::PluginView::show):
20240 (WebCore::PluginView::hide):
20241 (WebCore::PluginView::setParentVisible):
20242
ap@webkit.org18da1a32008-09-17 16:50:22 +0000202432008-09-17 Alexey Proskuryakov <ap@webkit.org>
20244
20245 Reviewed by Adam Roben.
20246
20247 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
20248
20249 * platform/text/TextCodecICU.cpp:
20250 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
20251
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000202522008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
20253
20254 Fix the QtWebKit/Mac build
20255
20256 * platform/qt/ScrollViewQt.cpp: add include
20257
ap@webkit.org18da1a32008-09-17 16:50:22 +0000202582008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000020259
20260 Add a #define to control whether or not to use an NSScroller on Mac.
20261 This ifdef will allow the new NSView-less NSScroller on Mac to be
20262 developed side by side with the current one.
20263
20264 The new scroller paints a debug red if turned on (although due to
20265 Widget issues you won't see anything paint yet).
20266
20267 Reviewed by olliej
20268
20269 * platform/Scrollbar.cpp:
20270 * platform/Scrollbar.h:
20271 * platform/mac/ScrollbarMac.h:
20272 * platform/mac/ScrollbarMac.mm:
20273 * platform/mac/ScrollbarThemeMac.cpp:
20274 (WebCore::ScrollbarThemeMac::paint):
20275 * platform/mac/ScrollbarThemeMac.h:
20276
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000202772008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
20278
20279 Reviewed by Alp Toker.
20280
20281 http://bugs.webkit.org/show_bug.cgi?id=20854
20282 [GTK] Windows can be not realized in ScrollView::update
20283
20284 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
20285
20286 * platform/gtk/ScrollViewGtk.cpp:
20287 (WebCore::ScrollView::update):
20288
alp@webkit.org226f72a2008-09-17 04:22:02 +0000202892008-09-16 Alp Toker <alp@nuanti.com>
20290
20291 Suggested by Dave Hyatt.
20292
20293 Build fix and cleanup. Rename ScrollBar to Scrollbar.
20294
20295 * GNUmakefile.am:
20296 * WebCore.pro:
20297 * WebCore.vcproj/WebCore.vcproj:
20298 * WebCore.xcodeproj/project.pbxproj:
20299 * WebCoreSources.bkl:
20300 * editing/EditorCommand.cpp:
20301 * page/EventHandler.cpp:
20302 * page/gtk/EventHandlerGtk.cpp:
20303 * page/mac/EventHandlerMac.mm:
20304 * page/mac/FrameMac.mm:
20305 * page/qt/EventHandlerQt.cpp:
20306 * page/wx/EventHandlerWx.cpp:
20307 * platform/PopupMenu.h:
20308 * platform/ScrollBar.cpp: Removed.
20309 * platform/ScrollBar.h: Removed.
20310 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
20311 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
20312 * platform/gtk/ScrollbarGtk.cpp:
20313 (ScrollbarGtk::ScrollbarGtk):
20314 * platform/gtk/ScrollbarGtk.h:
20315 * platform/mac/ScrollbarMac.h:
20316 * platform/qt/ScrollViewQt.cpp:
20317 * platform/qt/ScrollbarQt.cpp:
20318 * platform/qt/ScrollbarThemeQt.cpp:
20319 * platform/win/PlatformScrollBar.h:
20320 * platform/win/PopupMenuWin.cpp:
20321 * platform/win/ScrollViewWin.cpp:
20322 * platform/win/ScrollbarThemeWin.cpp:
20323 * platform/wx/ScrollViewWx.cpp:
20324 * platform/wx/TemporaryLinkStubs.cpp:
20325 * rendering/HitTestResult.cpp:
20326 * rendering/RenderLayer.cpp:
20327 * rendering/RenderTextControl.cpp:
20328
hyatt@apple.com7597c172008-09-17 02:15:08 +0000203292008-09-16 David Hyatt <hyatt@apple.com>
20330
hyatt@apple.comfde412d2008-09-17 03:49:48 +000020331 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
20332 it can be called from ScrollbarQt.
20333
20334 * platform/ScrollBar.cpp:
20335 (WebCore::Scrollbar::moveThumb):
20336 (WebCore::Scrollbar::handleMouseMoveEvent):
20337 (WebCore::Scrollbar::handleMousePressEvent):
20338 * platform/ScrollBar.h:
20339 * platform/qt/ScrollViewQt.cpp:
20340 * platform/qt/ScrollbarQt.cpp:
20341 (WebCore::Scrollbar::handleContextMenuEvent):
20342
203432008-09-16 David Hyatt <hyatt@apple.com>
20344
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000020345 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
20346 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
20347 now just use Scrollbar.
20348
20349 Reviewed by Sam Weinig
20350
20351 * GNUmakefile.am:
20352 * WebCore.pro:
20353 * WebCore.vcproj/WebCore.vcproj:
20354 * WebCore.xcodeproj/project.pbxproj:
20355 * page/mac/FrameMac.mm:
20356 * platform/PopupMenu.h:
20357 (WebCore::PopupMenu::scrollbar):
20358 * platform/ScrollBar.cpp:
20359 (WebCore::createNativeScrollbar):
20360 * platform/ScrollBar.h:
20361 * platform/gtk/PlatformScrollBar.h: Removed.
20362 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
20363 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
20364 (gtkScrollEventCallback):
20365 (ScrollbarGtk::ScrollbarGtk):
20366 (ScrollbarGtk::~ScrollbarGtk):
20367 (ScrollbarGtk::updateThumbPosition):
20368 (ScrollbarGtk::updateThumbProportion):
20369 (ScrollbarGtk::setFrameGeometry):
20370 (ScrollbarGtk::geometryChanged):
20371 (ScrollbarGtk::gtkValueChanged):
20372 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
20373 * platform/mac/PlatformScrollBar.h: Removed.
20374 * platform/mac/PlatformScrollBarMac.mm: Removed.
20375 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
20376 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
20377 (-[WebCoreScrollBar initWithScrollbarMac:]):
20378 (-[WebCoreScrollBar detachScrollbarMac]):
20379 (WebCore::Scrollbar::createNativeScrollbar):
20380 (WebCore::ScrollbarMac::ScrollbarMac):
20381 (WebCore::ScrollbarMac::~ScrollbarMac):
20382 (WebCore::ScrollbarMac::updateThumbPosition):
20383 (WebCore::ScrollbarMac::updateThumbProportion):
20384 (WebCore::ScrollbarMac::scrollbarHit):
20385 * platform/qt/PlatformScrollBar.h: Removed.
20386 * platform/qt/PlatformScrollBarQt.cpp: Removed.
20387 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
20388 (WebCore::Scrollbar::handleContextMenuEvent):
20389 * rendering/HitTestResult.cpp:
20390 * rendering/RenderLayer.cpp:
20391 (WebCore::RenderLayer::createScrollbar):
20392 (WebCore::RenderLayer::destroyScrollbar):
20393 * rendering/RenderLayer.h:
20394 * rendering/RenderListBox.cpp:
20395 (WebCore::RenderListBox::~RenderListBox):
20396 (WebCore::RenderListBox::updateFromElement):
20397 (WebCore::RenderListBox::isPointInOverflowControl):
20398 * rendering/RenderObject.h:
20399 * rendering/RenderTextControl.cpp:
20400
204012008-09-16 David Hyatt <hyatt@apple.com>
20402
hyatt@apple.com7597c172008-09-17 02:15:08 +000020403 Make the scrollbar resizer-dodging logic cross-platform in the
20404 Scrollbar class.
20405
20406 Reviewed by Sam Weinig
20407
20408 * platform/ScrollBar.cpp:
20409 (WebCore::Scrollbar::setFrameGeometry):
20410 (WebCore::Scrollbar::setParent):
20411 (WebCore::Scrollbar::windowClipRect):
20412 * platform/ScrollBar.h:
20413 * platform/ScrollView.h:
20414 (WebCore::ScrollView::windowResizerRect):
20415 (WebCore::ScrollView::resizerOverlapsContent):
20416 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
20417 * platform/Widget.h:
20418 (WebCore::Widget::setParent):
20419 * platform/mac/WidgetMac.mm:
20420 (WebCore::Widget::convertToContainingWindow):
20421 * platform/win/PlatformScrollBar.h:
20422 * platform/win/PlatformScrollBarWin.cpp:
20423
mitz@apple.com6d925202008-09-16 17:34:10 +0000204242008-09-16 Dan Bernstein <mitz@apple.com>
20425
mitz@apple.comd9462a52008-09-16 17:40:20 +000020426 Reviewed by Darin Adler.
20427
20428 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
20429 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
20430
20431 Covered by fast/repaint/4776765.html
20432
20433 * rendering/RenderBlock.cpp:
20434 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
20435 did not have layout in the beginning.
20436 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
20437 layout in the beginning, repaint it in its new position, to compensate
20438 for the above (regardless of whether it "moved").
20439 * rendering/RenderObject.cpp:
20440 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
20441 about generalizing this fix in the future.
20442
204432008-09-16 Dan Bernstein <mitz@apple.com>
20444
mitz@apple.com6d925202008-09-16 17:34:10 +000020445 Reviewed by Dave Hyatt.
20446
20447 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
20448 Div does not notice when grandparent changes height
20449
20450 Test: fast/block/basic/quirk-percent-height-grandchild.html
20451
20452 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
20453 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
20454
20455 Test: fast/replaced/percent-height-in-anonymous-block.html
20456
20457 Added a two-way mapping between boxes with percentage heights and
20458 their non-parent ancestors up to the one the height is computed relative
20459 to. In quirks mode (the first bug), this can be any number of containing
20460 block with auto height. In strict mode (the second bug) this can be
20461 the containing block of an anonymous block containing a replaced
20462 element.
20463
20464 * rendering/RenderBlock.cpp:
20465 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
20466 mapping to/from this block to percentage-height descendants.
20467 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
20468 percentage-height descendants (and their containing block ancestry chain
20469 up to this block) for layout. This ensures that those descendants whose
20470 height depends on the height of this block (or an ancestor) are updated.
20471 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
20472 a two-way mapping between this block and the given box.
20473 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
20474 all the mapping to/from this box.
20475 * rendering/RenderBlock.h:
20476 * rendering/RenderBox.cpp:
20477 (WebCore::RenderBox::setStyle): Added calls to
20478 removePercentHeightDescendant() when style changes and the box
20479 previously had a percentage height. An exception is when the style
20480 change does not require layout, in which case the box still has
20481 a percentage height and the mappings are valid. In all other cases,
20482 any required mappings will be (re-)established during layout.
20483 (WebCore::RenderBox::destroy): Added a call to
20484 removePercentHeightDescendant.
20485 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
20486 mode, if a higher-than-parent containing block is affecting the box's
20487 height, creates a mapping between the box and that block.
20488 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
20489 anonymous containing blocks, if any, and when that happens, use
20490 addPercentHeightDescendant() to ensure that the non-anonymous block
20491 is aware of the dependent percent-height box.
20492
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000204932008-09-16 Dirk Schulze <vbs85@gmx.de>
20494
20495 Reviewed by Oliver Hunt and Alp Toker.
20496
20497 Implemented toDataURL in Cairo. Only PNG support
20498 at the moment.
20499
20500 Qt, Cairo and wx require toDataURL implementations
20501 https://bugs.webkit.org/show_bug.cgi?id=17719
20502
20503 * platform/MIMETypeRegistry.cpp:
20504 (WebCore::initializeSupportedImageMIMETypesForEncoding):
20505 * platform/graphics/cairo/ImageBufferCairo.cpp:
20506 (WebCore::ImageBuffer::ImageBuffer):
20507 (WebCore::writeFunction):
20508 (WebCore::ImageBuffer::toDataURL):
20509
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000205102008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
20511
20512 Reviewed by Simon.
20513
20514 Hide unused media element controls in the QtWebKit port
20515
20516 * platform/qt/html4-adjustments-qt.css
20517
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000205182008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
20519
20520 Reviewed by Simon.
20521
20522 Fix compilation of the Qt scrollbar code.
20523
20524 * platform/qt/PlatformScrollBarQt.cpp:
20525 (WebCore::scPart):
20526 (WebCore::styleOptionSlider):
20527 (WebCore::thumbLength):
20528 (WebCore::pixelPosToRangeValue):
20529 (WebCore::PlatformScrollbar::handleContextMenuEvent):
20530
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000205312008-09-16 Adam Treat <treat@kde.org>
20532
20533 Reviewed by Anders Carlsson.
20534
20535 Prevent accesses off of the end of the buffer introduced in r36450
20536 and when checking for descriptions of mime. Also, coding style fix.
20537
20538 * plugins/qt/PluginPackageQt.cpp:
20539 (WebCore::PluginPackage::fetchInfo):
20540
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000205412008-09-15 Rob Buis <buis@kde.org>
20542
20543 Reviewed by Eric.
20544
20545 https://bugs.webkit.org/show_bug.cgi?id=20634
20546 SVG transform attribute is ignored by <use> in <clipPath>
20547
20548 Transform the paths with the local transform when part
20549 of a clip path.
20550
20551 Test: svg/custom/use-clipped-transform.svg
20552
20553 * svg/SVGClipPathElement.cpp:
20554 (WebCore::SVGClipPathElement::canvasResource):
20555 * svg/SVGStyledTransformableElement.cpp:
20556 (WebCore::SVGStyledTransformableElement::toClipPath):
20557 * svg/SVGStyledTransformableElement.h:
20558
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000205592008-09-15 Dave Hyatt <hyatt@apple.com>
20560
20561 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
20562 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
20563
20564 Reviewed by Sam Weinig
20565
20566 * platform/ScrollBar.cpp:
20567 (WebCore::thumbUnderMouse):
20568 (WebCore::Scrollbar::autoscrollPressedPart):
20569 (WebCore::Scrollbar::startTimerIfNeeded):
20570 (WebCore::moveThumb):
20571 (WebCore::Scrollbar::handleMouseMoveEvent):
20572 (WebCore::Scrollbar::handleMousePressEvent):
20573 * platform/ScrollBar.h:
20574 (WebCore::Scrollbar::pressedPos):
20575 (WebCore::Scrollbar::pixelStep):
20576 (WebCore::Scrollbar::setPressedPos):
20577 * platform/ScrollbarTheme.h:
20578 (WebCore::ScrollbarTheme::thumbPosition):
20579 (WebCore::ScrollbarTheme::thumbLength):
20580 (WebCore::ScrollbarTheme::trackPosition):
20581 (WebCore::ScrollbarTheme::trackLength):
20582 * platform/ScrollbarThemeComposite.cpp:
20583 (WebCore::ScrollbarThemeComposite::trackPosition):
20584 * platform/ScrollbarThemeComposite.h:
20585 * platform/qt/PlatformScrollBarQt.cpp:
20586 (WebCore::PlatformScrollbar::PlatformScrollbar):
20587 (WebCore::):
20588 * platform/qt/ScrollbarThemeQt.cpp:
20589 (WebCore::styleOptionSlider):
20590 (WebCore::ScrollbarThemeQt::hitTest):
20591 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
20592 (WebCore::ScrollbarThemeQt::invalidatePart):
20593 (WebCore::ScrollbarThemeQt::thumbPosition):
20594 (WebCore::):
20595 * platform/qt/ScrollbarThemeQt.h:
20596 * platform/win/ScrollbarThemeSafari.cpp:
20597 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
20598 * platform/win/ScrollbarThemeSafari.h:
20599 * platform/win/ScrollbarThemeWin.cpp:
20600 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
20601 * platform/win/ScrollbarThemeWin.h:
20602
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000206032008-09-15 David Smith <catfish.man@gmail.com>
20604
20605 Reviewed by Sam Weinig.
20606
20607 https://bugs.webkit.org/show_bug.cgi?id=20180
20608
20609 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
20610
20611 * GNUmakefile.am: Add CSSNthSelector
20612 * WebCore.pro: Add CSSNthSelector
20613 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
20614 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
20615 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
20616 * css/CSSNthSelector.cpp: Added.
20617 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
20618 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
20619 * css/CSSNthSelector.h: Added.
20620 (WebCore::CSSNthSelector::CSSNthSelector):
20621 (WebCore::CSSNthSelector::~CSSNthSelector):
20622 * css/CSSParser.cpp:
20623 (WebCore::CSSParser::createFloatingNthSelector):
20624 * css/CSSParser.h:
20625 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
20626 (WebCore::CSSSelector::CSSSelector):
20627 * css/CSSStyleSelector.cpp:
20628 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
20629
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000206302008-09-15 Matt Lilek <webkit@mattlilek.com>
20631
20632 Reviewed by Tim Hatcher.
20633
20634 Clean up some inspector JS callbacks to remove an extra return.
20635
20636 * page/InspectorController.cpp:
20637 (WebCore::hideDOMNodeHighlight):
20638 (WebCore::loaded):
20639 (WebCore::unloading):
20640 (WebCore::attach):
20641 (WebCore::detach):
20642 (WebCore::startDebuggingAndReloadInspectedPage):
20643 (WebCore::stopDebugging):
20644 (WebCore::debuggerAttached):
20645 (WebCore::pauseOnExceptions):
20646 (WebCore::pauseInDebugger):
20647 (WebCore::resumeDebugger):
20648 (WebCore::stepOverStatementInDebugger):
20649 (WebCore::stepIntoStatementInDebugger):
20650 (WebCore::stepOutOfFunctionInDebugger):
20651 (WebCore::isWindowVisible):
20652 (WebCore::closeWindow):
20653
hyatt@apple.com8e809932008-09-16 02:29:09 +0000206542008-09-15 Dave Hyatt <hyatt@apple.com>
20655
20656 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
20657 now share most of their code.
20658
20659 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
20660 also is never used in our code anyway.
20661
20662 Reviewed by Sam Weinig
20663
20664 * WebCore.vcproj/WebCore.vcproj:
20665 * platform/ScrollTypes.h:
20666 (WebCore::):
20667 * platform/ScrollbarThemeComposite.cpp:
20668 (WebCore::ScrollbarThemeComposite::splitTrack):
20669 (WebCore::ScrollbarThemeComposite::thumbLength):
20670 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
20671 * platform/ScrollbarThemeComposite.h:
20672 * platform/mac/PlatformScrollBarMac.mm:
20673 (NSControlSizeForScrollBarControlSize):
20674 * platform/win/PlatformScrollBar.h:
20675 * platform/win/PlatformScrollBarSafari.cpp: Removed.
20676 * platform/win/PlatformScrollBarWin.cpp:
20677 (WebCore::PlatformScrollbar::PlatformScrollbar):
20678 * platform/win/ScrollbarThemeSafari.cpp:
20679 (WebCore::ScrollbarTheme::nativeTheme):
20680 (WebCore::):
20681 (WebCore::scrollbarControlStateFromThemeState):
20682 (WebCore::ScrollbarThemeSafari::hasButtons):
20683 (WebCore::ScrollbarThemeSafari::hasThumb):
20684 (WebCore::buttonRepaintRect):
20685 (WebCore::ScrollbarThemeSafari::backButtonRect):
20686 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
20687 (WebCore::trackRepaintRect):
20688 (WebCore::ScrollbarThemeSafari::trackRect):
20689 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
20690 (WebCore::ScrollbarThemeSafari::paintTrack):
20691 (WebCore::ScrollbarThemeSafari::paintButton):
20692 (WebCore::ScrollbarThemeSafari::paintThumb):
20693 * platform/win/ScrollbarThemeSafari.h:
20694 * platform/win/ScrollbarThemeWin.cpp:
20695 * platform/win/ScrollbarThemeWin.h:
20696
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000206972008-09-15 Chris Fleizach <cfleizach@apple.com>
20698
20699 Reviewed by Darin Adler, Beth Dakin
20700
20701 <rdar://problem/4003789> Expose lists as AXList
20702 <rdar://problem/5707399> VO: Definition lists not announced in Safari
20703
20704 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
20705 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
20706 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
20707 as does each <dd> tag ("definition")
20708
20709 Test: accessibility/lists.html
20710
20711 * GNUmakefile.am:
20712 * WebCore.pro:
20713 * WebCore.vcproj/WebCore.vcproj:
20714 * WebCore.xcodeproj/project.pbxproj:
20715 * WebCoreSources.bkl:
20716 * page/AXObjectCache.cpp:
20717 * page/AccessibilityList.cpp: Added.
20718 * page/AccessibilityList.h: Added.
20719 * page/AccessibilityObject.h:
20720 * page/AccessibilityRenderObject.cpp:
20721 * page/AccessibilityTable.cpp:
20722 * page/mac/AccessibilityObjectWrapper.mm:
20723 * page/mac/WebCoreViewFactory.h:
20724 * platform/LocalizedStrings.h:
20725 * platform/mac/LocalizedStringsMac.mm:
20726 * platform/qt/Localizations.cpp:
20727
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000207282008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
20729
20730 Reviewed by Eric.
20731
20732 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
20733 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
20734
20735 Several renames:
20736 dispatchHTMLEvent -> dispatchEventForType
20737 setHTMLEventListener -> setEventListenerForType
20738 getHTMLEventListener -> eventListenerForType
20739 removeHTMLEventListener -> removeEventListenerForType
20740 isHTMLEventListener -> isAttachedToEventTargetNode
20741 ...
20742
20743 Similar renames for the dispatch/get/set/*Window*Event functions.
20744 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
20745
20746 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
20747 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
20748
20749 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
20750 SVG is able to use the code as well now. This affects most files in html/.
20751
20752 No functional changes.
20753
20754 * GNUmakefile.am:
20755 * WebCore.pro:
20756 * WebCore.vcproj/WebCore.vcproj:
20757 * WebCore.xcodeproj/project.pbxproj:
20758 * bindings/js/JSDOMWindowBase.cpp:
20759 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
20760 (WebCore::JSDOMWindowBase::setListener):
20761 (WebCore::JSDOMWindowBase::getListener):
20762 (WebCore::JSDOMWindowBase::findJSEventListener):
20763 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
20764 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
20765 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
20766 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
20767 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
20768 * bindings/js/JSDOMWindowBase.h:
20769 * bindings/js/JSEventListener.cpp:
20770 (WebCore::JSAbstractEventListener::handleEvent):
20771 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
20772 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
20773 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
20774 (WebCore::JSEventListener::JSEventListener):
20775 (WebCore::JSEventListener::~JSEventListener):
20776 (WebCore::JSLazyEventListener::JSLazyEventListener):
20777 (WebCore::eventParameterName):
20778 (WebCore::JSLazyEventListener::parseCode):
20779 (WebCore::getNodeEventListener):
20780 * bindings/js/JSEventListener.h:
20781 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
20782 (WebCore::JSUnprotectedEventListener::create):
20783 (WebCore::JSEventListener::create):
20784 (WebCore::JSLazyEventListener::):
20785 (WebCore::JSLazyEventListener::create):
20786 * bindings/js/JSEventTargetNode.cpp:
20787 (WebCore::JSEventTargetNode::setListener):
20788 (WebCore::JSEventTargetNode::getListener):
20789 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
20790 * bindings/js/JSSVGLazyEventListener.h: Removed.
20791 * bindings/js/ScriptController.cpp:
20792 (WebCore::ScriptController::createHTMLEventHandler):
20793 (WebCore::ScriptController::createSVGEventHandler):
20794 * dom/Document.cpp:
20795 (WebCore::Document::setFocusedNode):
20796 (WebCore::Document::handleWindowEvent):
20797 (WebCore::Document::setWindowEventListenerForType):
20798 (WebCore::Document::windowEventListenerForType):
20799 (WebCore::Document::removeWindowEventListenerForType):
20800 (WebCore::Document::addWindowEventListener):
20801 (WebCore::Document::hasWindowEventListener):
20802 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
20803 (WebCore::Document::createEventListener):
20804 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
20805 * dom/Document.h:
20806 * dom/EventListener.h:
20807 (WebCore::EventListener::isAttachedToEventTargetNode):
20808 * dom/EventTargetNode.cpp:
20809 (WebCore::EventTargetNode::dispatchFocusEvent):
20810 (WebCore::EventTargetNode::dispatchBlurEvent):
20811 (WebCore::EventTargetNode::dispatchEventForType):
20812 (WebCore::EventTargetNode::removeEventListenerForType):
20813 (WebCore::EventTargetNode::setEventListenerForType):
20814 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
20815 (WebCore::EventTargetNode::eventListenerForType):
20816 * dom/EventTargetNode.h:
20817 * dom/XMLTokenizer.cpp:
20818 (WebCore::XMLTokenizer::notifyFinished):
20819 * editing/ReplaceSelectionCommand.cpp:
20820 (WebCore::ReplacementFragment::ReplacementFragment):
20821 * html/HTMLBodyElement.cpp:
20822 (WebCore::HTMLBodyElement::parseMappedAttribute):
20823 * html/HTMLButtonElement.cpp:
20824 (WebCore::HTMLButtonElement::parseMappedAttribute):
20825 * html/HTMLElement.cpp:
20826 (WebCore::HTMLElement::parseMappedAttribute):
20827 (WebCore::HTMLElement::checkDTD):
20828 * html/HTMLElement.h:
20829 * html/HTMLFormControlElement.cpp:
20830 (WebCore::HTMLFormControlElement::onChange):
20831 * html/HTMLFormElement.cpp:
20832 (WebCore::HTMLFormElement::prepareSubmit):
20833 (WebCore::HTMLFormElement::reset):
20834 (WebCore::HTMLFormElement::parseMappedAttribute):
20835 * html/HTMLFrameElementBase.cpp:
20836 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
20837 * html/HTMLFrameSetElement.cpp:
20838 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
20839 * html/HTMLImageElement.cpp:
20840 (WebCore::HTMLImageElement::parseMappedAttribute):
20841 * html/HTMLImageLoader.cpp:
20842 (WebCore::HTMLImageLoader::dispatchLoadEvent):
20843 * html/HTMLInputElement.cpp:
20844 (WebCore::HTMLInputElement::parseMappedAttribute):
20845 (WebCore::HTMLInputElement::setValueFromRenderer):
20846 (WebCore::HTMLInputElement::onSearch):
20847 * html/HTMLMediaElement.cpp:
20848 (WebCore::HTMLMediaElement::asyncEventTimerFired):
20849 (WebCore::HTMLMediaElement::load):
20850 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
20851 (WebCore::HTMLMediaElement::setReadyState):
20852 (WebCore::HTMLMediaElement::seek):
20853 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
20854 (WebCore::HTMLMediaElement::willSaveToCache):
20855 * html/HTMLObjectElement.cpp:
20856 (WebCore::HTMLObjectElement::parseMappedAttribute):
20857 * html/HTMLScriptElement.cpp:
20858 (WebCore::HTMLScriptElement::parseMappedAttribute):
20859 (WebCore::HTMLScriptElement::dispatchLoadEvent):
20860 (WebCore::HTMLScriptElement::dispatchErrorEvent):
20861 * html/HTMLSelectElement.cpp:
20862 (WebCore::HTMLSelectElement::parseMappedAttribute):
20863 * html/HTMLTextAreaElement.cpp:
20864 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
20865 * html/HTMLTokenizer.cpp:
20866 (WebCore::HTMLTokenizer::notifyFinished):
20867 * page/AccessibilityRenderObject.cpp:
20868 (WebCore::AccessibilityRenderObject::mouseButtonListener):
20869 * page/EventHandler.cpp:
20870 (WebCore::EventHandler::canMouseDownStartSelect):
20871 (WebCore::EventHandler::canMouseDragExtendSelect):
20872 * page/Frame.cpp:
20873 (WebCore::Frame::sendScrollEvent):
20874 * page/Page.cpp:
20875 (WebCore::networkStateChanged):
20876 * rendering/RenderListBox.cpp:
20877 (WebCore::RenderListBox::valueChanged):
20878 * rendering/RenderTextControl.cpp:
20879 (WebCore::RenderTextControl::selectionChanged):
20880 * svg/SVGDocumentExtensions.cpp:
20881 * svg/SVGDocumentExtensions.h:
20882 * svg/SVGElement.cpp:
20883 (WebCore::SVGElement::parseMappedAttribute):
20884 (WebCore::SVGElement::finishParsingChildren):
20885 * svg/SVGElement.h:
20886 * svg/SVGSVGElement.cpp:
20887 (WebCore::SVGSVGElement::parseMappedAttribute):
20888 * svg/SVGSVGElement.h:
20889
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000208902008-09-15 Dave Hyatt <hyatt@apple.com>
20891
20892 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
20893 need to be converted.
20894
20895 Reviewed by Sam Weinig
20896
20897 * platform/ScrollBar.cpp:
20898 (WebCore::Scrollbar::Scrollbar):
20899 (WebCore::Scrollbar::updateThumbPosition):
20900 (WebCore::Scrollbar::updateThumbProportion):
20901 (WebCore::Scrollbar::autoscrollPressedPart):
20902 (WebCore::Scrollbar::startTimerIfNeeded):
20903 * platform/ScrollBar.h:
20904 * platform/ScrollbarTheme.h:
20905 (WebCore::ScrollbarTheme::invalidateParts):
20906 * platform/ScrollbarThemeComposite.cpp:
20907 (WebCore::ScrollbarThemeComposite::hitTest):
20908 (WebCore::ScrollbarThemeComposite::invalidatePart):
20909 (WebCore::ScrollbarThemeComposite::thumbPosition):
20910 (WebCore::ScrollbarThemeComposite::thumbLength):
20911 (WebCore::ScrollbarThemeComposite::trackLength):
20912 * platform/ScrollbarThemeComposite.h:
20913 * platform/win/PlatformScrollBarSafari.cpp:
20914 (WebCore::PlatformScrollbar::PlatformScrollbar):
20915 * platform/win/PlatformScrollBarWin.cpp:
20916 (WebCore::PlatformScrollbar::PlatformScrollbar):
20917
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000209182008-09-15 David Smith <catfish.man@gmail.com>
20919
20920 "Just do it"'d by Mark Rowe
20921
20922 https://bugs.webkit.org/show_bug.cgi?id=20856
20923 Add missing license header
20924
20925 * dom/NodeRenderStyle.h:
20926
dino@apple.combf52b682008-09-15 21:31:43 +0000209272008-09-15 Dean Jackson <dino@apple.com>
20928
20929 Reviewed by Tim Hatcher.
20930
dino@apple.com3db0b8f2008-09-15 21:52:23 +000020931 Add default constructor for ShadowData
20932 https://bugs.webkit.org/show_bug.cgi?id=20757
20933
20934 Test: transitions/shadow.html
20935
20936 * rendering/style/RenderStyle.h:
20937
209382008-09-15 Dean Jackson <dino@apple.com>
20939
20940 Reviewed by Tim Hatcher.
20941
dino@apple.com03abdce2008-09-15 21:40:52 +000020942 RenderStyle should update keyframes.
20943 http://bugs.webkit.org/show_bug.cgi?id=20756
20944
20945 * rendering/style/RenderStyle.cpp:
20946 (WebCore::StyleRareNonInheritedData::updateKeyframes):
20947
209482008-09-15 Dean Jackson <dino@apple.com>
20949
20950 Reviewed by Tim Hatcher.
20951
dino@apple.combf52b682008-09-15 21:31:43 +000020952 Unnecessary ASSERT in ImplicitAnimation destructor.
20953 https://bugs.webkit.org/show_bug.cgi?id=20817
20954
20955 * page/animation/ImplicitAnimation.cpp:
20956 (WebCore::ImplicitAnimation::~ImplicitAnimation):
20957
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000209582008-09-15 Adam Treat <treat@kde.org>
20959
20960 Reviewed by Simon.
20961
20962 Fix plugin extension info. It was returning the mimetype where the
20963 extension was given.
20964
20965 * plugins/qt/PluginPackageQt.cpp:
20966 (WebCore::PluginPackage::fetchInfo):
20967
dino@apple.comecc18dc2008-09-15 20:40:28 +0000209682008-09-15 Dean Jackson <dino@apple.com>
20969
20970 Reviewed by Tim Hatcher
20971
20972 Coding style violation!!!! Cleanup AnimationBase.cpp
20973
20974 * page/animation/AnimationBase.cpp:
20975 (WebCore::blendFunc):
20976
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000209772008-09-15 David Hyatt <hyatt@apple.com>
20978
20979 Move all hit testing code for scrollbars into the base class. Refactor
20980 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
20981 functions.
20982
20983 No platform is using this code yet. Although it has been moved and compiles
20984 (even on Mac), it is not being used on any platform.
20985
20986 Reviewed by Sam Weinig
20987
20988 * platform/ScrollBar.cpp:
20989 (WebCore::Scrollbar::autoscrollPressedPart):
20990 (WebCore::Scrollbar::startTimerIfNeeded):
20991 (WebCore::Scrollbar::handleMouseMoveEvent):
20992 (WebCore::Scrollbar::handleMouseOutEvent):
20993 (WebCore::Scrollbar::handleMouseReleaseEvent):
20994 (WebCore::Scrollbar::handleMousePressEvent):
20995 * platform/ScrollBar.h:
20996 (WebCore::Scrollbar::handleContextMenuEvent):
20997 * platform/ScrollbarTheme.h:
20998 (WebCore::ScrollbarTheme::hitTest):
20999 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
21000 (WebCore::ScrollbarTheme::invalidatePart):
21001 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
21002 (WebCore::ScrollbarTheme::centerOnThumb):
21003 (WebCore::ScrollbarTheme::thumbPosition):
21004 (WebCore::ScrollbarTheme::thumbLength):
21005 (WebCore::ScrollbarTheme::trackLength):
21006 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
21007 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
21008 * platform/Widget.h:
21009 (WebCore::Widget::parent):
21010 * platform/mac/PlatformScrollBar.h:
21011 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
21012 (WebCore::PlatformScrollbar::handleMouseOutEvent):
21013 (WebCore::PlatformScrollbar::handleMousePressEvent):
21014 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
21015 * platform/mac/WidgetMac.mm:
21016 (WebCore::Widget::convertFromContainingWindow):
21017 * platform/win/ScrollbarThemeWin.cpp:
21018 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
21019 * platform/win/ScrollbarThemeWin.h:
21020
mitz@apple.comd17dc392008-09-15 18:48:20 +0000210212008-09-15 Dan Bernstein <mitz@apple.com>
21022
21023 Reviewed by Sam Weinig.
21024
21025 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
21026
21027 Cache the next breakable position for text nodes in InlineIterator.
21028
21029 * rendering/bidi.cpp:
21030 (WebCore::InlineIterator::InlineIterator):
21031 (WebCore::InlineIterator::increment):
21032 (WebCore::RenderBlock::findNextLineBreak):
21033
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000210342008-09-15 Simon Fraser <simon.fraser@apple.com>
21035
21036 Reviewed by Dan Bernstein
21037
21038 Fix assertion and integral pixel issue when creating subimages.
21039 https://bugs.webkit.org/show_bug.cgi?id=20786
21040
21041 * platform/graphics/cg/ImageCG.cpp:
21042 (WebCore::BitmapImage::draw):
21043
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000210442008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
21045
21046 Reviewed by Simon.
21047
21048 Implment seek() and clean up and improve debugging output
21049
21050 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
21051 (debugMediaObject):
21052 (WebCore::MediaPlayerPrivate::seek):
21053 (WebCore::MediaPlayerPrivate::setVolume):
21054 (WebCore::MediaPlayerPrivate::setMuted):
21055 (WebCore::MediaPlayerPrivate::updateStates):
21056 (WebCore::MediaPlayerPrivate::naturalSize):
21057 (WebCore::MediaPlayerPrivate::paint):
21058 (WebCore::MediaPlayerPrivate::stateChanged):
21059 (WebCore::MediaPlayerPrivate::tick):
21060
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000210612008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
21062
21063 Reviewed by Simon.
21064
21065 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
21066
21067 m_mediaObject, m_audioOutput, m_videoWidget get created in the
21068 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
21069 only check if we use the MediaPlayerPrivate after it has been deleted.
21070
21071 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
21072
21073 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
21074 (WebCore::MediaPlayerPrivate::play):
21075 (WebCore::MediaPlayerPrivate::setVolume):
21076 (WebCore::MediaPlayerPrivate::updateStates):
21077
andersca@apple.com18d62682008-09-15 11:35:22 +0000210782008-09-15 Anders Carlsson <andersca@apple.com>
21079
21080 Reviewed by Maciej.
21081
21082 <rdar://problem/6163988>
21083 https://bugs.webkit.org/show_bug.cgi?id=20457
21084 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
21085
21086 Check the width and height and throw an exception if any of them are 0.
21087
21088 * html/CanvasRenderingContext2D.cpp:
21089 (WebCore::CanvasRenderingContext2D::createPattern):
21090
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000210912008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
21092
21093 Reviewed by Simon.
21094
21095 Render media element controls with antialiasing enabled
21096
21097 * platform/qt/RenderThemeQt.cpp:
21098 (WebCore::RenderThemeQt::paintMediaMuteButton):
21099 (WebCore::RenderThemeQt::paintMediaPlayButton):
21100 (WebCore::RenderThemeQt::paintMediaSliderTrack):
21101 (WebCore::RenderThemeQt::paintMediaSliderThumb):
21102
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000211032008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
21104
21105 Reviewed by Simon.
21106
21107 Upon non fatal error, switch to the pause state (so that playback can continue)
21108
21109 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
21110 (WebCore::MediaPlayerPrivate::updateStates):
21111
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000211122008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
21113
21114 Reviewed by Simon.
21115
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000021116 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
21117
21118 * WebCore.pro:
21119
211202008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
21121
21122 Reviewed by Simon.
21123
vestbo@webkit.org12a59572008-09-15 11:16:13 +000021124 Make QtInstance::create() private and fix caching
21125
21126 * bindings/js/ScriptControllerQt.cpp:
21127 (WebCore::ScriptController::createScriptInstanceForWidget):
21128 * bridge/qt/qt_instance.cpp:
21129 (JSC::Bindings::QtInstance::getQtInstance):
21130 (JSC::Bindings::QtInstance::getRuntimeObject):
21131 * bridge/qt/qt_instance.h:
21132 (JSC::Bindings::QtInstance::create):
21133 * bridge/qt/qt_runtime.cpp:
21134 (JSC::Bindings::convertQVariantToValue):
21135 (JSC::Bindings::QtConnectionObject::execute):
21136
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000211372008-09-15 David Smith <catfish.man@gmail.com>
21138
21139 Reviewed by Dave Hyatt.
21140
21141 https://bugs.webkit.org/show_bug.cgi?id=20180
21142
21143 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
21144 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
21145 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
21146
21147 * css/CSSStyleSelector.cpp:
21148 (WebCore::CSSStyleSelector::CSSStyleSelector):
21149 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
21150 * css/CSSStyleSelector.h:
21151
hyatt@apple.com065494e2008-09-15 06:33:40 +0000211522008-09-14 Dave Hyatt <hyatt@apple.com>
21153
21154 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
21155 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
21156
21157 Reviewed by Sam Weinig
21158
21159 * platform/ScrollBar.h:
21160 (WebCore::Scrollbar::client):
21161 (WebCore::Scrollbar::currentPos):
21162 (WebCore::Scrollbar::totalSize):
21163 * platform/ScrollbarTheme.h:
21164 * platform/ScrollbarThemeComposite.cpp:
21165 (WebCore::pageForScrollView):
21166 (WebCore::ScrollbarThemeComposite::paint):
21167 * platform/ScrollbarThemeComposite.h:
21168 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
21169 * platform/win/PlatformScrollBar.h:
21170 * platform/win/PlatformScrollBarSafari.cpp:
21171 * platform/win/PlatformScrollBarWin.cpp:
21172 * platform/win/ScrollbarThemeSafari.h:
21173 (WebCore::ScrollbarThemeSafari::hasButtons):
21174 (WebCore::ScrollbarThemeSafari::hasThumb):
21175 (WebCore::ScrollbarThemeSafari::backButtonRect):
21176 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
21177 (WebCore::ScrollbarThemeSafari::trackRect):
21178 (WebCore::ScrollbarThemeSafari::splitTrack):
21179 (WebCore::ScrollbarThemeSafari::paintTrack):
21180 (WebCore::ScrollbarThemeSafari::paintButton):
21181 (WebCore::ScrollbarThemeSafari::paintThumb):
21182 * platform/win/ScrollbarThemeWin.cpp:
21183 (WebCore::isRunningOnVistaOrLater):
21184 (WebCore::checkAndInitScrollbarTheme):
21185 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
21186 (WebCore::ScrollbarThemeWin::themeChanged):
21187 (WebCore::ScrollbarThemeWin::hasThumb):
21188 (WebCore::ScrollbarThemeWin::backButtonRect):
21189 (WebCore::ScrollbarThemeWin::forwardButtonRect):
21190 (WebCore::ScrollbarThemeWin::trackRect):
21191 (WebCore::ScrollbarThemeWin::splitTrack):
21192 (WebCore::ScrollbarThemeWin::paintTrack):
21193 (WebCore::ScrollbarThemeWin::paintButton):
21194 (WebCore::gripperRect):
21195 (WebCore::paintGripper):
21196 (WebCore::ScrollbarThemeWin::paintThumb):
21197 (WebCore::ScrollbarThemeWin::thumbPosition):
21198 (WebCore::ScrollbarThemeWin::thumbLength):
21199 (WebCore::ScrollbarThemeWin::trackLength):
21200 * platform/win/ScrollbarThemeWin.h:
21201 (WebCore::ScrollbarThemeWin::hasButtons):
21202 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
21203
timothy@apple.comd91172c2008-09-15 05:38:00 +0000212042008-09-14 Anthony Ricaud <rik24d@gmail.com>
21205
21206 Moving all resource graphs under the same container for future scalable feature.
21207 This is a speedup on resize but maybe a loss on changing the sorting function.
21208
21209 https://bugs.webkit.org/show_bug.cgi?id=20555
21210
21211 Reviewed by Timothy Hatcher.
21212
21213 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
21214 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
21215 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
21216
ap@webkit.orga14074b2008-09-15 04:52:44 +0000212172008-09-14 Alexey Proskuryakov <ap@webkit.org>
21218
21219 Reviewed by Maciej Stachowiak.
21220
21221 https://bugs.webkit.org/show_bug.cgi?id=20738
21222 compareBoundaryPoints gives incorrect results
21223
21224 Test: fast/dom/Range/compareBoundaryPoints-2.html
21225
21226 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
21227 and END_TO_START.
21228 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
21229
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000212302008-09-14 Maciej Stachowiak <mjs@apple.com>
21231
21232 Unreviewed build fix.
21233
mjs@apple.comcbb31e52008-09-15 03:10:35 +000021234 Trying again.
21235
21236 * bindings/js/JSQuarantinedObjectWrapper.cpp:
21237 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
21238
212392008-09-14 Maciej Stachowiak <mjs@apple.com>
21240
21241 Unreviewed build fix.
21242
mjs@apple.com285bdcf2008-09-15 02:55:16 +000021243 Blind attempt to fix build. Correct parameters for hasInstance.
21244
21245 * bindings/js/JSQuarantinedObjectWrapper.cpp:
21246 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
21247 * bindings/js/JSQuarantinedObjectWrapper.h:
21248
mitz@apple.come85f7362008-09-15 02:23:24 +0000212492008-09-14 Dan Bernstein <mitz@apple.com>
21250
21251 Rubber-stamped by Sam Weinig.
21252
21253 - revert <http://trac.webkit.org/changeset/36382> because it exposed
21254 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
21255 on Tiger.
21256
21257 * platform/graphics/mac/FontCacheMac.mm:
21258 (WebCore::FontCache::getFontDataForCharacters):
21259 (WebCore::FontCache::getLastResortFallbackFont):
21260
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000212612008-09-14 Dave Hyatt <hyatt@apple.com>
21262
21263 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
21264 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
21265 theme.
21266
21267 Reviewed by Sam Weinig
21268
21269 * WebCore.vcproj/WebCore.vcproj:
21270 * platform/win/ScrollbarThemeSafari.h:
21271 * platform/win/ScrollbarThemeWin.h:
21272
alp@webkit.orgd694e942008-09-15 00:20:15 +0000212732008-09-14 Alp Toker <alp@nuanti.com>
21274
21275 https://bugs.webkit.org/show_bug.cgi?id=20320
21276 [GTK] A white rectangle is visible behind widgets with rounded corners
21277
21278 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
21279 style exempt).
21280
21281 Requested by Michael Monreal.
21282
21283 * platform/gtk/RenderThemeGtk.cpp:
21284 (WebCore::RenderThemeGtk::RenderThemeGtk):
21285 * platform/gtk/gtk2drawing.c:
21286 (moz_gtk_set_widget_name):
21287 (ensure_window_widget):
21288 (setup_widget_prototype):
21289 (ensure_button_arrow_widget):
21290 (moz_gtk_get_combo_box_inner_button):
21291 (moz_gtk_get_combo_box_button_inner_widgets):
21292 (ensure_combo_box_widgets):
21293 (moz_gtk_get_combo_box_entry_inner_widgets):
21294 (moz_gtk_get_combo_box_entry_arrow):
21295 (ensure_combo_box_entry_widgets):
21296 (ensure_toolbar_widget):
21297 (ensure_tooltip_widget):
21298 (ensure_menu_bar_widget):
21299 (ensure_menu_bar_item_widget):
21300 (ensure_menu_popup_widget):
21301 (ensure_menu_item_widget):
21302 (ensure_image_menu_item_widget):
21303 (ensure_menu_separator_widget):
21304 (ensure_check_menu_item_widget):
21305 (ensure_tree_header_cell_widget):
21306 (ensure_scrolled_window_widget):
21307 (moz_gtk_button_paint):
21308 (moz_gtk_init):
21309 (moz_gtk_button_get_inner_border):
21310 (moz_gtk_toggle_paint):
21311 (calculate_button_inner_rect):
21312 (calculate_arrow_rect):
21313 (moz_gtk_scrollbar_button_paint):
21314 (moz_gtk_scrollbar_thumb_paint):
21315 (moz_gtk_caret_paint):
21316 (moz_gtk_entry_paint):
21317 (moz_gtk_treeview_paint):
21318 (moz_gtk_tree_header_cell_paint):
21319 (moz_gtk_combo_box_paint):
21320 (moz_gtk_downarrow_paint):
21321 (moz_gtk_combo_box_entry_button_paint):
21322 (moz_gtk_toolbar_paint):
21323 (moz_gtk_tab_scroll_arrow_paint):
21324 (moz_gtk_menu_bar_paint):
21325 (moz_gtk_menu_item_paint):
21326 (moz_gtk_get_widget_border):
21327 (moz_gtk_get_combo_box_entry_button_size):
21328 (moz_gtk_get_tab_scroll_arrow_size):
21329 (moz_gtk_get_downarrow_size):
21330 (moz_gtk_images_in_menus):
21331 (moz_gtk_widget_paint):
21332 (moz_gtk_shutdown):
21333 * platform/gtk/gtkdrawing.h:
21334
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000213352008-09-14 David Hyatt <hyatt@apple.com>
21336
21337 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
21338 painting. Mac and Gtk themes don't do anything and just let the
21339 underlying widget paint. Qt now uses the theme to paint. wx doesn't
21340 do anything yet.
21341
21342 Reviewed by Sam Weinig
21343
21344 * platform/ScrollBar.cpp:
21345 (WebCore::Scrollbar::paint):
21346 * platform/ScrollBar.h:
21347 (WebCore::Scrollbar::value):
21348 (WebCore::Scrollbar::visibleSize):
21349 (WebCore::Scrollbar::maximum):
21350 (WebCore::Scrollbar::lineStep):
21351 (WebCore::Scrollbar::pageStep):
21352 (WebCore::Scrollbar::pixelStep):
21353 (WebCore::Scrollbar::pressedPart):
21354 (WebCore::Scrollbar::hoveredPart):
21355 (WebCore::Scrollbar::theme):
21356 * platform/ScrollbarTheme.h:
21357 (WebCore::ScrollbarTheme::paint):
21358 (WebCore::ScrollbarTheme::scrollbarThickness):
21359 (WebCore::ScrollbarTheme::supportsControlTints):
21360 (WebCore::ScrollbarTheme::themeChanged):
21361 * platform/gtk/PlatformScrollBar.h:
21362 * platform/gtk/PlatformScrollBarGtk.cpp:
21363 * platform/mac/PlatformScrollBar.h:
21364 * platform/mac/PlatformScrollBarMac.mm:
21365 * platform/qt/PlatformScrollBar.h:
21366 * platform/qt/PlatformScrollBarQt.cpp:
21367 * platform/qt/ScrollbarThemeQt.cpp:
21368 (WebCore::styleOptionSlider):
21369 * platform/qt/ScrollbarThemeQt.h:
21370 (WebCore::ScrollbarThemeQt::paint):
21371 * platform/win/PlatformScrollBarSafari.cpp:
21372 (WebCore::PlatformScrollbar::paint):
21373 * platform/win/ScrollbarThemeSafari.h:
21374 (WebCore::ScrollbarThemeSafari::supportsControlTints):
21375 * platform/wx/PlatformScrollBar.h:
21376 * platform/wx/TemporaryLinkStubs.cpp:
21377 (PlatformScrollbar::~PlatformScrollbar):
21378
weinig@apple.comcb93e262008-09-14 21:36:11 +0000213792008-09-14 Sam Weinig <sam@webkit.org>
21380
weinig@apple.com6ef2b872008-09-14 22:15:28 +000021381 Qt build fix.
21382
21383 * platform/qt/PlatformScrollBarQt.cpp:
21384
213852008-09-14 Sam Weinig <sam@webkit.org>
21386
weinig@apple.com064861a2008-09-14 22:12:49 +000021387 Reviewed by Mark Rowe.
21388
21389 Remove extraneous semicolons.
21390
21391 * bindings/scripts/CodeGeneratorObjC.pm:
21392 * html/HTMLLinkElement.cpp:
21393 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
21394 * html/HTMLScriptElement.cpp:
21395 (WebCore::HTMLScriptElement::charsetAttributeValue):
21396 (WebCore::HTMLScriptElement::typeAttributeValue):
21397 * platform/graphics/qt/GradientQt.cpp:
21398 (WebCore::Gradient::platformGradient):
21399 * platform/qt/ScrollViewQt.cpp:
21400 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
21401 * platform/win/ScrollViewWin.cpp:
21402 (WebCore::ScrollView::updateScrollbars):
21403 * rendering/RenderBlock.cpp:
21404 (WebCore::RenderBlock::paintEllipsisBoxes):
21405 * svg/SVGPathSegList.cpp:
21406 (WebCore::SVGPathSegList::toPathData):
21407
214082008-09-14 Sam Weinig <sam@webkit.org>
21409
weinig@apple.comcb93e262008-09-14 21:36:11 +000021410 Qt build fix.
21411
weinig@apple.com31311a62008-09-14 22:00:15 +000021412 * platform/qt/ScrollViewQt.cpp:
21413 (WebCore::ScrollView::updateScrollbars):
21414
214152008-09-14 Sam Weinig <sam@webkit.org>
21416
21417 Qt build fix.
21418
weinig@apple.comcb93e262008-09-14 21:36:11 +000021419 * platform/qt/PlatformScrollBarQt.cpp:
21420 (WebCore::PlatformScrollbar::PlatformScrollbar):
21421 (WebCore::PlatformScrollbar::paint):
21422
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000214232008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
21424
21425 Gtk build fix, not reviewed.
21426
21427 * platform/gtk/PlatformScrollBarGtk.cpp:
21428 (PlatformScrollbar::PlatformScrollbar):
21429 * platform/gtk/ScrollViewGtk.cpp:
21430 (WebCore::ScrollView::updateScrollbars):
21431
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000214322008-09-13 Dave Hyatt <hyatt@apple.com>
21433
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000021434 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
21435 to set the dimensions of a scrollbar.
21436
21437 Reviewed by Sam Weinig
21438
21439 * platform/ScrollBar.h:
21440 * platform/gtk/PlatformScrollBar.h:
21441 * platform/gtk/PlatformScrollBarGtk.cpp:
21442 (PlatformScrollbar::setFrameGeometry):
21443 * platform/gtk/ScrollViewGtk.cpp:
21444 (WebCore::ScrollView::updateScrollbars):
21445 * platform/mac/PlatformScrollBarMac.mm:
21446 * platform/qt/PlatformScrollBarQt.cpp:
21447 * platform/qt/ScrollViewQt.cpp:
21448 (WebCore::ScrollView::updateScrollbars):
21449 * platform/win/PlatformScrollBar.h:
21450 * platform/win/PlatformScrollBarSafari.cpp:
21451 (WebCore::PlatformScrollbar::PlatformScrollbar):
21452 (WebCore::PlatformScrollbar::setFrameGeometry):
21453 * platform/win/PlatformScrollBarWin.cpp:
21454 (WebCore::PlatformScrollbar::PlatformScrollbar):
21455 (WebCore::PlatformScrollbar::setFrameGeometry):
21456 * platform/win/PopupMenuWin.cpp:
21457 (WebCore::PopupWndProc):
21458 * platform/win/ScrollViewWin.cpp:
21459 (WebCore::ScrollView::updateScrollbars):
21460 * platform/wx/PlatformScrollBar.h:
21461 * platform/wx/TemporaryLinkStubs.cpp:
21462 (PlatformScrollbar::updateThumbProportion):
21463 * rendering/RenderLayer.cpp:
21464 (WebCore::RenderLayer::positionOverflowControls):
21465 * rendering/RenderListBox.cpp:
21466 (WebCore::RenderListBox::paintScrollbar):
21467
214682008-09-13 Dave Hyatt <hyatt@apple.com>
21469
hyatt@apple.comed9485a2008-09-14 01:06:57 +000021470 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
21471
21472 Reviewed by Sam Weinig
21473
21474 * platform/ScrollBar.h:
21475 * platform/gtk/PlatformScrollBar.h:
21476 * platform/gtk/PlatformScrollBarGtk.cpp:
21477 * platform/mac/PlatformScrollBar.h:
21478 * platform/mac/PlatformScrollBarMac.mm:
21479 * platform/win/PlatformScrollBar.h:
21480 * platform/win/PlatformScrollBarSafari.cpp:
21481 * platform/win/PlatformScrollBarWin.cpp:
21482 * platform/wx/PlatformScrollBar.h:
21483 * platform/wx/TemporaryLinkStubs.cpp:
21484 (PlatformScrollbar::~PlatformScrollbar):
21485
214862008-09-13 Dave Hyatt <hyatt@apple.com>
21487
hyatt@apple.com64d98032008-09-14 00:58:29 +000021488 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
21489 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
21490
21491 Reviewed by Sam Weinig
21492
21493 * platform/ScrollBar.h:
21494 * platform/gtk/PlatformScrollBar.h:
21495 * platform/gtk/PlatformScrollBarGtk.cpp:
21496 * platform/mac/PlatformScrollBar.h:
21497 * platform/mac/PlatformScrollBarMac.mm:
21498 * platform/win/PlatformScrollBarSafari.cpp:
21499 * platform/win/PlatformScrollBarWin.cpp:
21500 * platform/wx/PlatformScrollBar.h:
21501 * platform/wx/TemporaryLinkStubs.cpp:
21502 (PlatformScrollbar::~PlatformScrollbar):
21503
215042008-09-13 Dave Hyatt <hyatt@apple.com>
21505
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000021506 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
21507
21508 Reviewed by Sam Weinig
21509
21510 * platform/ScrollBar.cpp:
21511 (WebCore::Scrollbar::~Scrollbar):
21512 * platform/ScrollBar.h:
21513 * platform/qt/PlatformScrollBarQt.cpp:
21514 (WebCore::PlatformScrollbar::~PlatformScrollbar):
21515 * platform/win/PlatformScrollBarSafari.cpp:
21516 (WebCore::PlatformScrollbar::~PlatformScrollbar):
21517 * platform/win/PlatformScrollBarWin.cpp:
21518 (WebCore::PlatformScrollbar::~PlatformScrollbar):
21519
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000215202008-09-13 David Hyatt <hyatt@apple.com>
21521
21522 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
21523 function on Scrollbar. Fixes Qt build bustage.
21524
21525 Reviewed by Sam Weinig
21526
21527 * platform/ScrollBar.h:
21528 (WebCore::Scrollbar::orientation):
21529 (WebCore::Scrollbar::value):
21530 (WebCore::Scrollbar::maximum):
21531 * platform/qt/PlatformScrollBar.h:
21532
mitz@apple.comb3d22882008-09-13 23:06:59 +0000215332008-09-13 Dan Bernstein <mitz@apple.com>
21534
21535 Reviewed by Sam Weinig.
21536
21537 - use the LastResort font for missing glyphs instead of showing the
21538 primary font's missing glyph
21539
21540 Test: platform/mac/fast/text/last-resort-font.html
21541
21542 * platform/graphics/mac/FontCacheMac.mm:
21543 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
21544 last resort font if a substitute font cannot be found.
21545 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
21546 comment (the user's preferred standard font is included in the search
21547 thanks to code in FontCache::getFontData()) and changed to return the
21548 LastResort font.
21549
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000215502008-09-13 Dave Hyatt <hyatt@apple.com>
21551
21552 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
21553 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
21554 patches will move rendering and hit testing functionality into this class.
21555
21556 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
21557 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
21558
21559 Reviewed by Sam Weinig
21560
21561 * GNUmakefile.am:
21562 * WebCore.pro:
21563 * WebCore.vcproj/WebCore.vcproj:
21564 * platform/ScrollBar.cpp:
21565 (WebCore::Scrollbar::Scrollbar):
21566 * platform/ScrollBar.h:
21567 * platform/ScrollbarTheme.h: Added.
21568 (WebCore::ScrollbarTheme::~ScrollbarTheme):
21569 (WebCore::ScrollbarTheme::scrollbarThickness):
21570 (WebCore::ScrollbarTheme::themeChanged):
21571 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
21572 (WebCore::ScrollbarTheme::nativeTheme):
21573 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
21574 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
21575 * platform/gtk/ScrollbarThemeGtk.h: Added.
21576 * platform/mac/PlatformScrollBar.h:
21577 * platform/mac/ScrollbarThemeMac.cpp: Added.
21578 (WebCore::ScrollbarTheme::nativeTheme):
21579 (WebCore::):
21580 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
21581 (WebCore::ScrollbarThemeMac::scrollbarThickness):
21582 * platform/mac/ScrollbarThemeMac.h: Added.
21583 * platform/qt/PlatformScrollBarQt.cpp:
21584 * platform/qt/ScrollbarThemeQt.cpp: Added.
21585 (WebCore::ScrollbarTheme::nativeTheme):
21586 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
21587 (WebCore::ScrollbarThemeQt::scrollbarThickness):
21588 * platform/qt/ScrollbarThemeQt.h: Added.
21589 * platform/win/PlatformScrollBar.h:
21590 * platform/win/PlatformScrollBarSafari.cpp:
21591 * platform/win/PlatformScrollBarWin.cpp:
21592 * platform/win/PopupMenuWin.cpp:
21593 (WebCore::PopupMenu::calculatePositionAndSize):
21594 * platform/win/ScrollViewWin.cpp:
21595 (WebCore::ScrollView::updateScrollbars):
21596 (WebCore::ScrollView::themeChanged):
21597 * platform/win/ScrollbarThemeSafari.cpp: Added.
21598 (WebCore::ScrollbarTheme::nativeTheme):
21599 (WebCore::):
21600 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
21601 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
21602 * platform/win/ScrollbarThemeSafari.h: Added.
21603 * platform/win/ScrollbarThemeWin.cpp: Added.
21604 (WebCore::ScrollbarTheme::nativeTheme):
21605 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
21606 (WebCore::ScrollbarThemeWin::scrollbarThickness):
21607 (WebCore::ScrollbarThemeWin::themeChanged):
21608 * platform/win/ScrollbarThemeWin.h: Added.
21609 * platform/wx/TemporaryLinkStubs.cpp:
21610 (ScrollbarTheme::nativeTheme):
21611 * rendering/RenderLayer.cpp:
21612 (WebCore::scrollCornerRect):
21613 * rendering/RenderTextControl.cpp:
21614 (WebCore::RenderTextControl::calcHeight):
21615 (WebCore::RenderTextControl::calcPrefWidths):
21616
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000216172008-09-13 Chris Fleizach <cfleizach@apple.com>
21618
21619 Reviewed by Timothy Hatcher.
21620
21621 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
21622
21623 * page/mac/AccessibilityObjectWrapper.mm:
21624 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21625
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000216262008-09-13 Dan Bernstein <mitz@apple.com>
21627
21628 Reviewed by Timothy Hatcher.
21629
21630 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
21631
21632 No regression test because the back/forward cache is disabled in DumpRenderTree
21633
21634 * rendering/RenderContainer.cpp:
21635 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
21636 is being destroyed.
21637
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000216382008-09-13 Kevin Ollivier <kevino@theolliviers.com>
21639
21640 wx build fixes for new methods recently introduced.
21641
21642 * platform/graphics/wx/AffineTransformWx.cpp:
21643 (WebCore::AffineTransform::AffineTransform):
21644 (WebCore::AffineTransform::setMatrix):
21645 (WebCore::AffineTransform::setA):
21646 (WebCore::AffineTransform::setB):
21647 (WebCore::AffineTransform::setC):
21648 (WebCore::AffineTransform::setD):
21649 (WebCore::AffineTransform::setE):
21650 (WebCore::AffineTransform::setF):
21651 * platform/wx/LocalizedStringsWx.cpp:
21652 (WebCore::AXDefinitionListTermText):
21653 (WebCore::AXDefinitionListDefinitionText):
21654
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000216552008-09-12 Dave Hyatt <hyatt@apple.com>
21656
21657 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
21658 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
21659 "PlatformScrollbar."
21660
21661 Reviewed by Sam Weinig
21662
21663 * WebCore.vcproj/WebCore.vcproj:
21664 * editing/EditorCommand.cpp:
21665 * page/EventHandler.cpp:
21666 (WebCore::EventHandler::selectCursor):
21667 (WebCore::EventHandler::handleMousePressEvent):
21668 (WebCore::EventHandler::handleMouseMoveEvent):
21669 * page/EventHandler.h:
21670 * page/MouseEventWithHitTestResults.cpp:
21671 (WebCore::MouseEventWithHitTestResults::scrollbar):
21672 * page/MouseEventWithHitTestResults.h:
21673 * page/gtk/EventHandlerGtk.cpp:
21674 (WebCore::EventHandler::passMousePressEventToScrollbar):
21675 * page/mac/EventHandlerMac.mm:
21676 (WebCore::EventHandler::passMousePressEventToScrollbar):
21677 * page/qt/EventHandlerQt.cpp:
21678 (WebCore::EventHandler::passMousePressEventToScrollbar):
21679 * page/win/EventHandlerWin.cpp:
21680 (WebCore::EventHandler::passMousePressEventToScrollbar):
21681 * page/wx/EventHandlerWx.cpp:
21682 (WebCore::EventHandler::passMousePressEventToScrollbar):
21683 * platform/PopupMenu.h:
21684 * platform/ScrollBar.cpp:
21685 (WebCore::Scrollbar::Scrollbar):
21686 (WebCore::Scrollbar::autoscrollTimerFired):
21687 (WebCore::Scrollbar::autoscrollPressedPart):
21688 (WebCore::Scrollbar::startTimerIfNeeded):
21689 (WebCore::Scrollbar::stopTimerIfNeeded):
21690 (WebCore::Scrollbar::pressedPartScrollDirection):
21691 (WebCore::Scrollbar::pressedPartScrollGranularity):
21692 * platform/ScrollBar.h:
21693 (WebCore::Scrollbar::handleMousePressEvent):
21694 (WebCore::Scrollbar::invalidatePart):
21695 (WebCore::Scrollbar::thumbUnderMouse):
21696 * platform/ScrollView.h:
21697 * platform/ScrollbarClient.h: Added.
21698 (WebCore::ScrollbarClient::~ScrollbarClient):
21699 * platform/gtk/ScrollViewGtk.cpp:
21700 (WebCore::ScrollView::scrollbarUnderMouse):
21701 * platform/qt/PlatformScrollBar.h:
21702 * platform/qt/PlatformScrollBarQt.cpp:
21703 (WebCore::PlatformScrollbar::PlatformScrollbar):
21704 (WebCore::scrollbarPart):
21705 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
21706 (WebCore::PlatformScrollbar::handleMouseOutEvent):
21707 (WebCore::PlatformScrollbar::handleMousePressEvent):
21708 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
21709 * platform/qt/ScrollViewQt.cpp:
21710 (WebCore::ScrollView::scrollbarUnderMouse):
21711 (WebCore::ScrollView::wheelEvent):
21712 * platform/win/PlatformScrollBar.h:
21713 * platform/win/PlatformScrollBarSafari.cpp:
21714 (WebCore::PlatformScrollbar::PlatformScrollbar):
21715 * platform/win/PlatformScrollBarWin.cpp:
21716 (WebCore::PlatformScrollbar::PlatformScrollbar):
21717 * platform/win/ScrollViewWin.cpp:
21718 (WebCore::ScrollView::scrollbarUnderMouse):
21719 * rendering/HitTestResult.cpp:
21720 (WebCore::HitTestResult::setScrollbar):
21721 * rendering/HitTestResult.h:
21722 (WebCore::HitTestResult::scrollbar):
21723 * rendering/RenderLayer.cpp:
21724 (WebCore::RenderLayer::hitTestOverflowControls):
21725 * rendering/RenderLayer.h:
21726 * rendering/RenderListBox.h:
21727
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000217282008-09-12 Steve Falkenburg <sfalken@apple.com>
21729
21730 Fix Mac build.
21731
21732 * css/CSSStyleSelector.cpp:
21733 (WebCore::getTransformOperationType):
21734
dino@apple.comf937dc62008-09-13 00:45:39 +0000217352008-09-12 Chris Marrin <cmarrin@apple.com>
21736
21737 Reviewed by Dave Hyatt.
21738
21739 Make transform animation behavior match spec
21740 https://bugs.webkit.org/show_bug.cgi?id=20770
21741
21742 Tests: transitions/transform-op-list-match.html
21743 transitions/transform-op-list-no-match.html
21744
21745 * css/CSSStyleSelector.cpp:
21746 * css/CSSStyleSelector.h:
21747 * page/animation/AnimationBase.cpp:
21748 * page/animation/AnimationBase.h:
21749 * page/animation/ImplicitAnimation.cpp:
21750 * page/animation/ImplicitAnimation.h:
21751 * page/animation/KeyframeAnimation.cpp:
21752 * page/animation/KeyframeAnimation.h:
21753 * rendering/RenderLayer.cpp:
21754 * rendering/style/RenderStyle.cpp:
21755 * rendering/style/RenderStyle.h:
21756
timothy@apple.comab374dd2008-09-12 22:43:38 +0000217572008-09-12 Ojan Vafai <ojan@chromium.org>
21758
21759 Properly escape contents of links added to the inspector.
21760 For now, just build the link with the DOM and get the
21761 outerHTML. Eventually, we probably just want to do
21762 this entirely with the DOM.
21763
21764 Reviewed by Timothy Hatcher.
21765
21766 https://bugs.webkit.org/show_bug.cgi?id=20684
21767
21768 * manual-tests/inspector/escape-links.html: Added.
21769 * page/inspector/StylesSidebarPane.js:
21770 * page/inspector/inspector.js:
21771 * page/inspector/utilities.js:
21772
adele@apple.com87fb3c72008-09-12 22:14:13 +0000217732008-09-12 Adele Peterson <adele@apple.com>
21774
21775 Reviewed by John Sullivan and Kevin McCullough.
21776
21777 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
21778
21779 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
21780 Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will
21781 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
21782
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000217832008-09-12 Kevin McCullough <kmccullough@apple.com>
21784
21785 RS by Tim .
21786
21787 Re-introducing the code since it was not the cause of the crash.
21788 See r36343.
21789
21790 * rendering/RenderObject.cpp:
21791 (WebCore::RenderObject::canBeProgramaticallyScrolled):
21792 * rendering/RenderObject.h:
21793
dino@apple.comf712ed02008-09-12 21:54:57 +0000217942008-09-12 Chris Marrin <cmarrin@apple.com>
21795
21796 Reviewed by Dave Hyatt.
21797
21798 When changing one animation in a list, don't reset other animations
21799 https://bugs.webkit.org/show_bug.cgi?id=20675
21800
21801 Test: animations/change-one-anim.html
21802
21803 * page/animation/AnimationBase.cpp:
21804 (WebCore::AnimationBase::getNumProperties):
21805 * page/animation/AnimationBase.h:
21806 * page/animation/AnimationController.cpp:
21807 * page/animation/CompositeAnimation.cpp:
21808 (WebCore::CompositeAnimation::updateKeyframeAnimations):
21809 * page/animation/CompositeAnimation.h:
21810 * page/animation/ImplicitAnimation.cpp:
21811 * page/animation/KeyframeAnimation.cpp:
21812 * page/animation/KeyframeAnimation.h:
21813 (WebCore::KeyframeAnimation::setIndex):
21814
beidson@apple.com521e2b52008-09-12 18:40:03 +0000218152008-09-12 Brady Eidson <beidson@apple.com>
21816
21817 Reviewed by Mitz Pettel
21818
21819 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
21820
21821 * loader/DocumentLoader.cpp:
21822 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
21823 Subresources can never be created from nil data, but there is always a MainResource, whether
21824 or not there's any data. So in the case where the main resource has no data, fake it for the
21825 sake of creating the ArchiveResource.
21826
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000218272008-09-12 Dave Hyatt <hyatt@apple.com>
21828
21829 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
21830 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
21831 Remove all the isWidget and hasPlatformScrollbars guards.
21832
21833 Reviewed by Tim Hatcher
21834
21835 * platform/ScrollBar.h:
21836 * platform/gtk/PlatformScrollBar.h:
21837 * platform/mac/PlatformScrollBar.h:
21838 * platform/qt/PlatformScrollBar.h:
21839 * platform/win/PlatformScrollBar.h:
21840 * platform/win/ScrollViewWin.cpp:
21841 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
21842 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
21843 * platform/wx/PlatformScrollBar.h:
21844 * rendering/RenderLayer.cpp:
21845 (WebCore::RenderLayer::horizontalScrollbarWidget):
21846 (WebCore::RenderLayer::verticalScrollbarWidget):
21847 (WebCore::RenderLayer::createScrollbar):
21848 (WebCore::RenderLayer::destroyScrollbar):
21849 * rendering/RenderListBox.cpp:
21850 (WebCore::RenderListBox::~RenderListBox):
21851 (WebCore::RenderListBox::updateFromElement):
21852 (WebCore::RenderListBox::isPointInOverflowControl):
21853
mitz@apple.com0bef1302008-09-12 18:22:07 +0000218542008-09-12 Dan Bernstein <mitz@apple.com>
21855
21856 Reviewed by Sam Weinig.
21857
21858 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
21859
21860 * page/animation/AnimationController.cpp:
21861 * page/animation/AnimationController.h:
21862 * page/animation/CompositeAnimation.cpp:
21863 * page/animation/CompositeAnimation.h:
21864 * page/animation/ImplicitAnimation.cpp:
21865 * page/animation/ImplicitAnimation.h:
21866 * page/animation/KeyframeAnimation.cpp:
21867 * page/animation/KeyframeAnimation.h:
21868
timothy@apple.com43203432008-09-12 04:44:40 +0000218692008-09-11 Timothy Hatcher <timothy@apple.com>
21870
21871 Add a renderedImage method to DOMNode to get an image
21872 of the rendering for the node and it's descendants.
21873
21874 <rdar://problem/5849349> Would like API to create
21875 an image for a DOM node
21876
21877 Reviewed by Oliver Hunt.
21878
21879 * bindings/objc/DOM.mm:
21880 (-[DOMNode renderedImage]): Call Frame::nodeImage.
21881 * bindings/objc/DOMPrivate.h:
21882 * page/Frame.h:
21883 * page/mac/FrameMac.mm:
21884 (WebCore::Frame::nodeImage):
21885
dino@apple.com9300a0b2008-09-12 00:36:31 +0000218862008-09-08 Chris Marrin <cmarrin@apple.com>
21887
21888 Reviewed by Dave Hyatt
21889
21890 Need to support comma separated list of key times in keyframes selectors
21891 https://bugs.webkit.org/show_bug.cgi?id=20680
21892
21893 Test: animations/keyframes-comma-separated.html
21894
21895 * css/CSSGrammar.y:
21896 * css/CSSParser.cpp:
21897 (WebCore::CSSParser::createKeyframeRule):
21898 * css/CSSParser.h:
21899 * css/CSSStyleSelector.cpp:
21900 (WebCore::CSSStyleSelector::addKeyframeStyle):
21901 * css/WebKitCSSKeyframeRule.cpp:
21902 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
21903 (WebCore::WebKitCSSKeyframeRule::cssText):
21904 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
21905 * css/WebKitCSSKeyframeRule.h:
21906 (WebCore::WebKitCSSKeyframeRule::keyText):
21907 (WebCore::WebKitCSSKeyframeRule::setKeyText):
21908 (WebCore::WebKitCSSKeyframeRule::getKeys):
21909 * css/WebKitCSSKeyframesRule.cpp:
21910 (WebCore::WebKitCSSKeyframesRule::append):
21911 (WebCore::WebKitCSSKeyframesRule::insertRule):
21912 (WebCore::WebKitCSSKeyframesRule::deleteRule):
21913 (WebCore::WebKitCSSKeyframesRule::findRule):
21914 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
21915 * css/WebKitCSSKeyframesRule.h:
21916 * page/animation/AnimationBase.cpp:
21917 (WebCore::AnimationBase::blendProperties):
21918
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000219192008-09-11 Kevin McCullough <kmccullough@apple.com>
21920
21921 RS by Tim.
21922
21923 Reverting because this caused a crash.
21924
21925 * rendering/RenderObject.cpp:
21926 (WebCore::RenderObject::canBeProgramaticallyScrolled):
21927 (WebCore::RenderObject::hasScrollableView):
21928 * rendering/RenderObject.h:
21929
dino@apple.com19853b32008-09-11 21:59:08 +0000219302008-09-11 Dean Jackson <dino@apple.com>
21931
21932 Reviewed by Dan Bernstein.
21933
21934 Fix assertion on transition property "none"
21935 https://bugs.webkit.org/show_bug.cgi?id=20751
21936
21937 Test: transitions/transition-end-event-set-none.html
21938
21939 * page/animation/CompositeAnimation.cpp:
21940 (WebCore::CompositeAnimation::updateTransitions):
21941
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000219422008-09-11 David Smith <catfish.man@gmail.com>
21943
dsmith@webkit.org08103d92008-09-11 21:54:30 +000021944 Rubber-stamped by mitzpettel.
21945
21946 Remove an accidentally added extra file.
21947
21948 * WebCore: Removed.
21949
219502008-09-11 David Smith <catfish.man@gmail.com>
21951
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000021952 Reviewed by Darin
21953
21954 https://bugs.webkit.org/show_bug.cgi?id=20180
21955
21956 This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
21957
21958 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
21959 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
21960 * dom/Element.cpp: include NodeRenderStyle.h
21961 * dom/Node.cpp: Remove the definition of renderStyle()
21962 (WebCore::Node::nonRendererRenderStyle):
21963 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
21964 * dom/NodeRenderStyle.h: Added.
21965 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
21966 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
21967 * html/HTMLOptGroupElement.h:
21968 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
21969 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
21970 * html/HTMLOptionElement.h:
21971 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
21972 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
21973 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
21974 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
21975
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000219762008-09-11 Kevin McCullough <kmccullough@apple.com>
21977
21978 Reviewed by Adele and Tim.
21979
21980 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
21981 Inspector does not scroll to the line of the results (20167)
21982 - This was put in by Max to fix auto scrolling but is not correct for
21983 the whole web: rdar://problem/6213098
21984
21985 * rendering/RenderObject.cpp:
21986 (WebCore::RenderObject::canBeProgramaticallyScrolled):
21987 * rendering/RenderObject.h:
21988
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000219892008-09-11 Chris Fleizach <cfleizach@apple.com>
21990
21991 Reviewed by Beth Dakin
21992
21993 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
21994
21995 Test: accessibility/frame-with-title.html
21996
21997 * page/AccessibilityRenderObject.cpp:
21998 (WebCore::AccessibilityRenderObject::accessibilityDescription):
21999
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000220002008-09-11 Dirk Schulze <vbs85@gmx.de>
22001
22002 Reviewed by Simon.
22003
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000022004 Fixed stroke() and strokeRect() to support gradients
22005 and patterns on Qt.
22006
22007 [Qt] Canvas stroke don't work for gradients and patterns
22008 [https://bugs.webkit.org/show_bug.cgi?id=20749]
22009
22010 * platform/graphics/qt/GraphicsContextQt.cpp:
22011 (WebCore::GraphicsContext::strokePath):
22012 (WebCore::GraphicsContext::strokeRect):
22013
220142008-09-11 Dirk Schulze <vbs85@gmx.de>
22015
22016 Reviewed by Simon.
22017
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000022018 https://bugs.webkit.org/show_bug.cgi?id=20729
22019
22020 Fixed canvas gradients for Qt
22021
22022 [Qt] Canvas gradients don't work as expected
22023 [https://bugs.webkit.org/show_bug.cgi?id=20729]
22024
22025 * platform/graphics/qt/GradientQt.cpp:
22026 (WebCore::Gradient::platformGradient):
22027
220282008-09-11 Dirk Schulze <vbs85@gmx.de>
22029
22030 Reviewed by Simon.
22031
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000022032 https://bugs.webkit.org/show_bug.cgi?id=20568
22033
22034 Add support for patterns to Qt.
22035
22036 * platform/graphics/qt/PatternQt.cpp:
22037 (WebCore::Pattern::createPlatformPattern):
22038
mitz@apple.com442c5892008-09-10 18:21:14 +0000220392008-09-10 Dan Bernstein <mitz@apple.com>
22040
22041 Reviewed by Sam Weinig.
22042
22043 - clean up AnimationBase
22044
22045 * page/animation/AnimationBase.cpp:
22046 * page/animation/AnimationBase.h:
22047 * page/animation/CompositeAnimation.cpp:
22048 * page/animation/ImplicitAnimation.cpp:
22049 * page/animation/ImplicitAnimation.h:
22050 * page/animation/KeyframeAnimation.cpp:
22051 * page/animation/KeyframeAnimation.h:
22052
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000220532008-09-10 Alexey Proskuryakov <ap@webkit.org>
22054
22055 Reviewed by Darin Adler.
22056
22057 https://bugs.webkit.org/show_bug.cgi?id=20741
22058 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
22059
22060 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
22061 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
22062 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
22063
22064 I also found and fixed a potential crasher for non-Mac ports.
22065
22066 Tests: fast/encoding/hebrew/8859-8-e.html
22067 fast/encoding/hebrew/8859-8-i.html
22068 fast/encoding/hebrew/8859-8.html
22069 fast/encoding/hebrew/csISO88598I.html
22070 fast/encoding/hebrew/hebrew.html
22071 fast/encoding/hebrew/iso-ir-138.html
22072 fast/encoding/hebrew/logical.html
22073
22074 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
22075 (case-insensitively, because different versions of ICU report this MIME name in different
22076 case).
22077
22078 * platform/text/TextCodecICU.cpp:
22079 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
22080 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
22081 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
22082 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
22083 we also support these via TEC (which we should stop doing), but on Windows, this would
22084 likely crash.
22085
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000220862008-09-09 Dave Hyatt <hyatt@apple.com
22087
22088 Resurrect PlatformScrollbarWin.
22089
22090 Reviewed by Adam Roben
22091
22092 * WebCore.vcproj/WebCore.vcproj:
22093 * platform/win/PlatformScrollBarWin.cpp:
22094 (WebCore::isRunningOnVistaOrLater):
22095 (WebCore::checkAndInitScrollbarTheme):
22096 (WebCore::PlatformScrollbar::PlatformScrollbar):
22097 (WebCore::PlatformScrollbar::invalidateTrack):
22098 (WebCore::PlatformScrollbar::invalidatePart):
22099 (WebCore::PlatformScrollbar::paint):
22100 (WebCore::PlatformScrollbar::hasButtons):
22101 (WebCore::PlatformScrollbar::hasThumb):
22102 (WebCore::PlatformScrollbar::backButtonRect):
22103 (WebCore::PlatformScrollbar::forwardButtonRect):
22104 (WebCore::PlatformScrollbar::trackRect):
22105 (WebCore::PlatformScrollbar::gripperRect):
22106 (WebCore::PlatformScrollbar::thumbLength):
22107 (WebCore::PlatformScrollbar::paintButton):
22108 (WebCore::PlatformScrollbar::paintTrack):
22109 (WebCore::PlatformScrollbar::paintThumb):
22110 (WebCore::PlatformScrollbar::paintGripper):
22111 (WebCore::PlatformScrollbar::hitTest):
22112 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
22113 (WebCore::PlatformScrollbar::handleMouseOutEvent):
22114 (WebCore::PlatformScrollbar::themeChanged):
22115
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000221162008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22117
22118 Reviewed by Maciej Stachowiak.
22119
22120 Bug 20759: Remove MacroAssembler
22121 <https://bugs.webkit.org/show_bug.cgi?id=20759>
22122
22123 Make the necessary changes to ForwardingHeaders to remove
22124 MacroAssembler.
22125
22126 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
22127 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
22128 * ForwardingHeaders/masm/X86Assembler.h: Added.
22129
alp@webkit.org509e3d42008-09-10 01:26:20 +0000221302008-09-09 Alp Toker <alp@nuanti.com>
22131
22132 Reviewed by Dave Hyatt.
22133
22134 https://bugs.webkit.org/show_bug.cgi?id=16792
22135 [GTK] Fails to render Japanese/Chinese text with simple path
22136
22137 https://bugs.webkit.org/show_bug.cgi?id=16942
22138 [GTK] Oddities in font selection and fall back
22139
22140 https://bugs.webkit.org/show_bug.cgi?id=16862
22141 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
22142
22143 GTK+ font fixes and enhancements.
22144
22145 Implement font fallback for the simple FontConfig-based text path and
22146 improve the Pango-based complex text path to make use of requested
22147 font properties and available font selection.
22148
22149 Add text shadow support to the complex path.
22150
22151 * platform/graphics/gtk/FontCacheGtk.cpp:
22152 (WebCore::FontCache::getFontDataForCharacters):
22153 (WebCore::FontCache::getSimilarFontPlatformData):
22154 * platform/graphics/gtk/FontGtk.cpp:
22155 (WebCore::setPangoAttributes):
22156 (WebCore::Font::drawComplexText):
22157 (WebCore::getDefaultPangoLayout):
22158 (WebCore::Font::floatWidthForComplexText):
22159 (WebCore::Font::offsetForPositionForComplexText):
22160 (WebCore::Font::selectionRectForComplexText):
22161 * platform/graphics/gtk/FontPlatformData.h:
22162 (WebCore::FontPlatformData::FontPlatformData):
22163 (WebCore::FontPlatformData::hash):
22164 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
22165 (WebCore::FontPlatformData::FontPlatformData):
22166 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
22167 (WebCore::SimpleFontData::platformDestroy):
22168
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000221692008-09-09 Dave Hyatt <hyatt@apple.com>
22170
22171 Make the Windows classic case work again. Overlap in slider constants and other constants broke
22172 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
22173 value to make sure it's really a slider thumb to resolve this conflict.
22174
22175 Reviewed by Adam Roben
22176
22177 * rendering/RenderThemeWin.cpp:
22178 (WebCore::drawControl):
22179
dino@apple.com442d0652008-09-09 23:36:56 +0000221802008-09-05 Chris Marrin <cmarrin@apple.com>
22181
22182 Reviewed by Sam Weinig.
22183
22184 Need to handle the case when 0% or 100% keyframe is omitted
22185 https://bugs.webkit.org/show_bug.cgi?id=20679
22186
22187 Tests: animations/keyframes-from-missing.html
22188 animations/keyframes-to-missing.html
22189
22190 * css/CSSStyleSelector.cpp:
22191 (WebCore::CSSStyleSelector::addKeyframeStyle):
22192
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000221932008-09-09 Dave Hyatt <hyatt@apple.com>
22194
22195 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
22196 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
22197 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
22198 what changes have been made as compared with the old RenderThemeWin).
22199
22200 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
22201 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
22202 vs. printer advancement rounding).
22203
22204 Reviewed by Adam/Sam
22205
22206 * css/CSSStyleSelector.cpp:
22207 (WebCore::CSSStyleSelector::applyProperty):
22208 * platform/graphics/Icon.h:
22209 (WebCore::Icon::create):
22210 * rendering/RenderThemeWin.cpp:
22211 (WebCore::RenderThemeWin::RenderThemeWin):
22212 (WebCore::RenderThemeWin::~RenderThemeWin):
22213 (WebCore::RenderThemeWin::buttonTheme):
22214 (WebCore::RenderThemeWin::textFieldTheme):
22215 (WebCore::RenderThemeWin::menuListTheme):
22216 (WebCore::RenderThemeWin::sliderTheme):
22217 (WebCore::RenderThemeWin::close):
22218 (WebCore::RenderThemeWin::themeChanged):
22219 (WebCore::RenderThemeWin::supportsHover):
22220 (WebCore::fillFontDescription):
22221 (WebCore::RenderThemeWin::systemFont):
22222 (WebCore::RenderThemeWin::supportsFocus):
22223 (WebCore::RenderThemeWin::determineClassicState):
22224 (WebCore::RenderThemeWin::determineState):
22225 (WebCore::RenderThemeWin::determineSliderThumbState):
22226 (WebCore::RenderThemeWin::getClassicThemeData):
22227 (WebCore::RenderThemeWin::getThemeData):
22228 (WebCore::drawControl):
22229 (WebCore::RenderThemeWin::paintButton):
22230 (WebCore::RenderThemeWin::paintTextField):
22231 (WebCore::RenderThemeWin::paintMenuList):
22232 (WebCore::RenderThemeWin::adjustMenuListStyle):
22233 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
22234 (WebCore::RenderThemeWin::paintMenuListButton):
22235 (WebCore::RenderThemeWin::paintSliderTrack):
22236 (WebCore::RenderThemeWin::paintSliderThumb):
22237 (WebCore::RenderThemeWin::adjustSliderThumbSize):
22238 (WebCore::RenderThemeWin::paintSearchField):
22239 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
22240 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
22241 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
22242 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
22243 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
22244 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
22245 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
22246 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
22247 * rendering/RenderThemeWin.h:
22248 (WebCore::ThemeData::ThemeData):
22249 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
22250 (WebCore::RenderThemeWin::adjustButtonStyle):
22251 (WebCore::RenderThemeWin::adjustTextFieldStyle):
22252 (WebCore::RenderThemeWin::adjustTextAreaStyle):
22253
dino@apple.comd511ce52008-09-09 19:50:25 +0000222542008-09-09 Dean Jackson <dino@apple.com>
22255
22256 Reviewed by Sam Weinig.
22257
22258 Document::createEvent missing cases for animation and
22259 transition events.
22260 https://bugs.webkit.org/show_bug.cgi?id=20734
22261
22262 Test: transitions/transition-end-event-create.html
22263 Test: animations/animation-events-create.html
22264
22265 * dom/Document.cpp:
22266 (WebCore::Document::createEvent):
22267 - add the two cases
22268
mitz@apple.com1da7b882008-09-09 18:12:06 +0000222692008-09-09 Dan Bernstein <mitz@apple.com>
22270
mitz@apple.com54921562008-09-09 18:48:34 +000022271 - Tiger build fix
22272
22273 * WebCore.Tiger.exp:
22274 * WebCore.base.exp:
22275 * platform/mac/WebCoreSystemInterface.h:
22276 * platform/mac/WebCoreSystemInterface.mm:
22277
222782008-09-09 Dan Bernstein <mitz@apple.com>
22279
mitz@apple.com1da7b882008-09-09 18:12:06 +000022280 Reviewed by Darin Adler.
22281
22282 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
22283
22284 * WebCore.Tiger.exp:
22285 * WebCore.base.exp:
22286 * platform/graphics/SimpleFontData.h:
22287 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
22288 (WebCore::GlyphPage::fill):
22289 * platform/graphics/mac/SimpleFontDataMac.mm:
22290 (WebCore::initFontData):
22291 (WebCore::SimpleFontData::platformInit):
22292 (WebCore::SimpleFontData::platformDestroy):
22293 * platform/mac/WebCoreSystemInterface.h:
22294 * platform/mac/WebCoreSystemInterface.mm:
22295
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000222962008-09-09 Kevin McCullough <kmccullough@apple.com>
22297
22298 Reviewed by Tim.
22299
22300 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
22301 breakpoints inside eval.
22302
22303 * page/inspector/inspector.js:
22304
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000223052008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
22306
22307 Reviewed by Simon.
22308
22309 Fix compilation of the Qt port with disabled plugins on Windows
22310
22311 * WebCore.pro:
22312 * plugins/PluginView.cpp:
22313 (WebCore::PluginView::PluginView):
22314 * plugins/PluginView.h:
22315
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000223162008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
22317
22318 Reviewed by Alexey Proskuryakov.
22319
22320 Try MIME charset names before trying IANA names
22321 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
22322
22323 With this change, shorter and more widely used names (preferred MIME
22324 names) are returned by document.charset, document.characterSet,
22325 document.inputEncoding rather than IANA names. This helps
22326 fixing bug 18085 in addition to web developers who are more familiar
22327 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
22328 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
22329 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
22330 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
22331 used, the former is still recognized as aliases to the latter so that
22332 there's very little, if any, to worry about.
22333
22334 * platform/text/TextCodecICU.cpp:
22335 (WebCore::TextCodecICU::registerExtendedEncodingNames):
22336
weinig@apple.com22294302008-09-09 06:55:39 +0000223372008-09-08 Sam Weinig <sam@webkit.org>
22338
22339 Reviewed by Maciej Stachowiak and Oliver Hunt.
22340
22341 Add forwarding headers.
22342
22343 * ForwardingHeaders/wtf/HashFunctions.h: Added.
22344
dino@apple.comd9962af2008-09-09 01:02:00 +0000223452008-09-05 Dean Jackson <dino@apple.com>
22346
22347 Reviewed by Dan Bernstein.
22348
22349 Update grammar so that we can add a keyframe rule via the DOM.
22350 https://bugs.webkit.org/show_bug.cgi?id=20613
22351
22352 * css/CSSGrammar.y:
22353 * css/tokenizer.flex:
22354
antti@apple.com4b17a932008-09-09 00:40:45 +0000223552008-09-08 Antti Koivisto <antti@apple.com>
22356
22357 Reviewed by Dan Bernstein.
22358
22359 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
22360 actually show up in any of the default stylesheets.
22361
22362 * css/CSSStyleSelector.cpp:
22363 (WebCore::elementCanUseSimpleDefaultStyle):
22364
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000223652008-09-08 Dimitri Glazkov <dglazkov@google.com>
22366
22367 Reviewed by Dan Bernstein.
22368
22369 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
22370 Zero width and space characters are displayed incorrectly if not contained in a fallback font
22371
22372 Adds an extra check for Object Replacement Character (U+FFFC) to address
22373 the issue with fast/text/zero-width-characters.html test when run
22374 with Windows system default fonts.
22375
22376 * platform/graphics/Font.h:
22377 (WebCore::Font::treatAsZeroWidthSpace):
22378
dino@apple.comf0a4b212008-09-08 22:51:49 +0000223792008-09-08 Dean Jackson <dino@apple.com>
22380
22381 Reviewed by Sam Weinig.
22382
22383 Code style issue I forgot to fix from previous commit.
22384
22385 * platform/graphics/AffineTransform.cpp:
22386 (WebCore::AffineTransform::blend):
22387
dino@apple.com26625122008-09-08 22:46:41 +0000223882008-09-08 Chris Marrin <cmarrin@apple.com>
22389
22390 Reviewed by Sam Weinig
22391
22392 - Animation of -webkit-transform matrix() function should not do linear interpolation
22393 https://bugs.webkit.org/show_bug.cgi?id=20667
22394
22395 Test: animations/matrix-anim.html
22396
22397 * ChangeLog:
22398 * platform/graphics/AffineTransform.cpp:
22399 (WebCore::affineTransformDecompose):
22400 (WebCore::affineTransformCompose):
22401 (WebCore::AffineTransform::blend):
22402 * platform/graphics/AffineTransform.h:
22403 * rendering/style/RenderStyle.cpp:
22404 (WebCore::MatrixTransformOperation::blend):
22405
ap@webkit.org243a9752008-09-08 16:21:16 +0000224062008-09-08 Alexey Proskuryakov <ap@webkit.org>
22407
22408 Reviewed by Darin Adler.
22409
22410 https://bugs.webkit.org/show_bug.cgi?id=20668
22411 multipart/form-data does not always include Content-type for submitted files
22412
22413 Cannot be tested with DRT or manual tests.
22414
22415 * platform/MIMETypeRegistry.cpp:
22416 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
22417 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
22418 unknown extensions, not just missing ones.
22419
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000224202008-09-08 Simon Hausmann <hausmann@webkit.org>
22421
22422 Build fix for the Qt/Windows build, define USE_JSC to
22423 enable the WebCore::String -> JSC::UString operator that
22424 MSVC insists on seeing
22425
22426 * WebCore.pro:
22427
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000224282008-09-08 Anders Carlsson <andersca@apple.com>
22429
22430 Reviewed by Maciej.
22431
22432 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
22433
22434 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
22435 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
22436
22437 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
22438
22439 * bindings/js/JSDOMWindowBase.h:
22440 * loader/FrameLoader.cpp:
22441 (WebCore::FrameLoader::commitProvisionalLoad):
22442
antti@apple.com57b3a102008-09-08 07:01:36 +0000224432008-09-07 Antti Koivisto <antti@apple.com>
22444
22445 Reviewed by Dave Hyatt.
22446
22447 Don't leak the simple stylesheet.
22448 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
22449
22450 * css/CSSStyleSelector.cpp:
22451 (WebCore::loadFullDefaultStyle):
22452 (WebCore::loadSimpleDefaultStyle):
22453 (WebCore::CSSStyleSelector::styleForElement):
22454
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000224552008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22456
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000022457 Reviewed by Oliver Hunt.
22458
22459 Bug 20711: Change KJS prefix on preprocessor macros to JSC
22460 <https://bugs.webkit.org/show_bug.cgi?id=20711>
22461
22462 * bindings/js/JSEventTargetBase.h:
22463 * bindings/js/JSHTMLInputElementBase.cpp:
22464 * bindings/js/JSHTMLInputElementBase.h:
22465 * bindings/scripts/CodeGeneratorJS.pm:
22466
224672008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22468
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000022469 Reviewed by Maciej Stachowiak.
22470
22471 Bug 20704: Replace the KJS namespace
22472 <https://bugs.webkit.org/show_bug.cgi?id=20704>
22473
22474 Rename the KJS namespace to JSC. There are still some uses of KJS in the
22475 names of JNI functions, and I will check if these are safe to change
22476 as well.
22477
22478 * WebCore.base.exp:
22479 * bindings/js/GCController.cpp:
22480 * bindings/js/JSAttrCustom.cpp:
22481 * bindings/js/JSAudioConstructor.cpp:
22482 * bindings/js/JSAudioConstructor.h:
22483 (WebCore::JSAudioConstructor::classInfo):
22484 * bindings/js/JSCSSRuleCustom.cpp:
22485 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
22486 * bindings/js/JSCSSValueCustom.cpp:
22487 * bindings/js/JSCanvasPixelArrayCustom.cpp:
22488 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
22489 * bindings/js/JSClipboardCustom.cpp:
22490 * bindings/js/JSConsoleCustom.cpp:
22491 * bindings/js/JSCustomSQLStatementCallback.cpp:
22492 (WebCore::JSCustomSQLStatementCallback::handleEvent):
22493 * bindings/js/JSCustomSQLStatementCallback.h:
22494 (WebCore::JSCustomSQLStatementCallback::create):
22495 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22496 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22497 * bindings/js/JSCustomSQLStatementErrorCallback.h:
22498 (WebCore::JSCustomSQLStatementErrorCallback::create):
22499 * bindings/js/JSCustomSQLTransactionCallback.cpp:
22500 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22501 * bindings/js/JSCustomSQLTransactionCallback.h:
22502 (WebCore::JSCustomSQLTransactionCallback::create):
22503 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22504 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22505 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
22506 (WebCore::JSCustomSQLTransactionErrorCallback::create):
22507 * bindings/js/JSCustomVoidCallback.cpp:
22508 (WebCore::JSCustomVoidCallback::handleEvent):
22509 * bindings/js/JSCustomVoidCallback.h:
22510 (WebCore::JSCustomVoidCallback::create):
22511 * bindings/js/JSCustomXPathNSResolver.cpp:
22512 (WebCore::JSCustomXPathNSResolver::create):
22513 * bindings/js/JSCustomXPathNSResolver.h:
22514 * bindings/js/JSDOMApplicationCacheCustom.cpp:
22515 (WebCore::JSDOMApplicationCache::dispatchEvent):
22516 * bindings/js/JSDOMBinding.cpp:
22517 (WebCore::jsOwnedStringOrNull):
22518 * bindings/js/JSDOMBinding.h:
22519 (WebCore::DOMObject::DOMObject):
22520 (WebCore::cacheDOMObject):
22521 (WebCore::cacheSVGDOMObject):
22522 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
22523 (WebCore::toJS):
22524 * bindings/js/JSDOMWindowBase.cpp:
22525 * bindings/js/JSDOMWindowBase.h:
22526 (WebCore::JSDOMWindowBase::classInfo):
22527 (WebCore::JSDOMWindowBase::d):
22528 * bindings/js/JSDOMWindowCustom.cpp:
22529 (WebCore::JSDOMWindow::getPropertyAttributes):
22530 * bindings/js/JSDOMWindowCustom.h:
22531 (WebCore::asJSDOMWindow):
22532 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
22533 (WebCore::JSDOMWindow::customPut):
22534 (WebCore::JSDOMWindowBase::allowsAccessFrom):
22535 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
22536 * bindings/js/JSDOMWindowShell.cpp:
22537 (WebCore::JSDOMWindowShell::getPropertyAttributes):
22538 * bindings/js/JSDOMWindowShell.h:
22539 (WebCore::JSDOMWindowShell::classInfo):
22540 * bindings/js/JSDatabaseCustom.cpp:
22541 * bindings/js/JSDocumentCustom.cpp:
22542 * bindings/js/JSDocumentFragmentCustom.cpp:
22543 * bindings/js/JSElementCustom.cpp:
22544 * bindings/js/JSEventCustom.cpp:
22545 * bindings/js/JSEventListener.cpp:
22546 * bindings/js/JSEventListener.h:
22547 (WebCore::JSUnprotectedEventListener::create):
22548 (WebCore::JSEventListener::create):
22549 * bindings/js/JSEventTargetBase.cpp:
22550 * bindings/js/JSEventTargetBase.h:
22551 (WebCore::JSEventTargetBase::getValueProperty):
22552 (WebCore::JSEventTargetBase::putValueProperty):
22553 (WebCore::JSEventTargetBase::getOwnPropertySlot):
22554 (WebCore::JSEventTargetBase::put):
22555 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
22556 (WebCore::JSEventTargetPrototype::self):
22557 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
22558 (WebCore::JSEventTargetPrototype::classInfo):
22559 * bindings/js/JSEventTargetNode.cpp:
22560 * bindings/js/JSEventTargetNode.h:
22561 (WebCore::JSEventTargetNode::getOwnPropertySlot):
22562 (WebCore::JSEventTargetNode::getValueProperty):
22563 (WebCore::JSEventTargetNode::put):
22564 (WebCore::JSEventTargetNode::putValueProperty):
22565 * bindings/js/JSHTMLAllCollection.h:
22566 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
22567 (WebCore::JSHTMLAllCollection::toBoolean):
22568 * bindings/js/JSHTMLAppletElementCustom.cpp:
22569 * bindings/js/JSHTMLCollectionCustom.cpp:
22570 * bindings/js/JSHTMLDocumentCustom.cpp:
22571 * bindings/js/JSHTMLElementCustom.cpp:
22572 * bindings/js/JSHTMLEmbedElementCustom.cpp:
22573 * bindings/js/JSHTMLFormElementCustom.cpp:
22574 * bindings/js/JSHTMLFrameElementCustom.cpp:
22575 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
22576 * bindings/js/JSHTMLIFrameElementCustom.cpp:
22577 * bindings/js/JSHTMLInputElementBase.cpp:
22578 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
22579 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
22580 * bindings/js/JSHTMLInputElementBase.h:
22581 (WebCore::JSHTMLInputElementBase::classInfo):
22582 * bindings/js/JSHTMLObjectElementCustom.cpp:
22583 * bindings/js/JSHTMLOptionElementConstructor.cpp:
22584 * bindings/js/JSHTMLOptionElementConstructor.h:
22585 (WebCore::JSHTMLOptionElementConstructor::classInfo):
22586 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
22587 * bindings/js/JSHTMLSelectElementCustom.cpp:
22588 (WebCore::selectIndexSetter):
22589 (WebCore::JSHTMLSelectElement::indexSetter):
22590 * bindings/js/JSHTMLSelectElementCustom.h:
22591 * bindings/js/JSHistoryCustom.cpp:
22592 * bindings/js/JSImageConstructor.cpp:
22593 * bindings/js/JSImageConstructor.h:
22594 (WebCore::JSImageConstructor::classInfo):
22595 * bindings/js/JSInspectedObjectWrapper.cpp:
22596 * bindings/js/JSInspectedObjectWrapper.h:
22597 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
22598 (WebCore::JSInspectedObjectWrapper::classInfo):
22599 * bindings/js/JSInspectorCallbackWrapper.cpp:
22600 * bindings/js/JSInspectorCallbackWrapper.h:
22601 (WebCore::JSInspectorCallbackWrapper::classInfo):
22602 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
22603 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
22604 * bindings/js/JSLocationCustom.cpp:
22605 * bindings/js/JSMimeTypeArrayCustom.cpp:
22606 * bindings/js/JSNSResolver.cpp:
22607 * bindings/js/JSNSResolver.h:
22608 (WebCore::JSNSResolver::create):
22609 * bindings/js/JSNamedNodeMapCustom.cpp:
22610 * bindings/js/JSNamedNodesCollection.cpp:
22611 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
22612 * bindings/js/JSNamedNodesCollection.h:
22613 (WebCore::JSNamedNodesCollection::classInfo):
22614 * bindings/js/JSNavigatorCustom.cpp:
22615 * bindings/js/JSNodeCustom.cpp:
22616 * bindings/js/JSNodeFilterCondition.cpp:
22617 (WebCore::JSNodeFilterCondition::acceptNode):
22618 * bindings/js/JSNodeFilterCondition.h:
22619 (WebCore::JSNodeFilterCondition::create):
22620 * bindings/js/JSNodeFilterCustom.cpp:
22621 * bindings/js/JSNodeIteratorCustom.cpp:
22622 * bindings/js/JSNodeListCustom.cpp:
22623 * bindings/js/JSPluginArrayCustom.cpp:
22624 * bindings/js/JSPluginCustom.cpp:
22625 * bindings/js/JSPluginElementFunctions.cpp:
22626 (WebCore::getRuntimeObject):
22627 * bindings/js/JSPluginElementFunctions.h:
22628 * bindings/js/JSQuarantinedObjectWrapper.cpp:
22629 (WebCore::JSQuarantinedObjectWrapper::construct):
22630 (WebCore::JSQuarantinedObjectWrapper::call):
22631 * bindings/js/JSQuarantinedObjectWrapper.h:
22632 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
22633 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
22634 (WebCore::JSQuarantinedObjectWrapper::className):
22635 * bindings/js/JSRGBColor.cpp:
22636 * bindings/js/JSRGBColor.h:
22637 (WebCore::JSRGBColor::classInfo):
22638 * bindings/js/JSSQLResultSetRowListCustom.cpp:
22639 * bindings/js/JSSQLTransactionCustom.cpp:
22640 * bindings/js/JSSVGLazyEventListener.cpp:
22641 * bindings/js/JSSVGLazyEventListener.h:
22642 * bindings/js/JSSVGLengthCustom.cpp:
22643 * bindings/js/JSSVGMatrixCustom.cpp:
22644 (WebCore::JSSVGMatrix::inverse):
22645 (WebCore::JSSVGMatrix::rotateFromVector):
22646 * bindings/js/JSSVGPathSegCustom.cpp:
22647 * bindings/js/JSSVGPathSegListCustom.cpp:
22648 (WebCore::JSSVGPathSegList::initialize):
22649 (WebCore::JSSVGPathSegList::getItem):
22650 (WebCore::JSSVGPathSegList::insertItemBefore):
22651 (WebCore::JSSVGPathSegList::replaceItem):
22652 (WebCore::JSSVGPathSegList::removeItem):
22653 (WebCore::JSSVGPathSegList::appendItem):
22654 * bindings/js/JSSVGPointListCustom.cpp:
22655 * bindings/js/JSSVGTransformListCustom.cpp:
22656 * bindings/js/JSStorageCustom.cpp:
22657 * bindings/js/JSStyleSheetCustom.cpp:
22658 * bindings/js/JSStyleSheetListCustom.cpp:
22659 * bindings/js/JSTextCustom.cpp:
22660 * bindings/js/JSTreeWalkerCustom.cpp:
22661 * bindings/js/JSXMLHttpRequestConstructor.cpp:
22662 * bindings/js/JSXMLHttpRequestConstructor.h:
22663 (WebCore::JSXMLHttpRequestConstructor::classInfo):
22664 * bindings/js/JSXMLHttpRequestCustom.cpp:
22665 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
22666 * bindings/js/JSXSLTProcessorConstructor.cpp:
22667 * bindings/js/JSXSLTProcessorConstructor.h:
22668 (WebCore::JSXSLTProcessorConstructor::classInfo):
22669 * bindings/js/JSXSLTProcessorCustom.cpp:
22670 * bindings/js/ScheduledAction.cpp:
22671 * bindings/js/ScheduledAction.h:
22672 * bindings/js/ScriptController.cpp:
22673 (WebCore::ScriptController::attachDebugger):
22674 (WebCore::ScriptController::windowScriptNPObject):
22675 * bindings/js/ScriptController.h:
22676 * bindings/js/ScriptControllerGtk.cpp:
22677 (WebCore::ScriptController::createScriptInstanceForWidget):
22678 * bindings/js/ScriptControllerMac.mm:
22679 (WebCore::ScriptController::createScriptInstanceForWidget):
22680 (WebCore::ScriptController::windowScriptObject):
22681 (WebCore::ScriptController::clearPlatformScriptObjects):
22682 (WebCore::updateRenderingForBindings):
22683 (WebCore::ScriptController::initJavaJSBindings):
22684 * bindings/js/ScriptControllerQt.cpp:
22685 (WebCore::ScriptController::createScriptInstanceForWidget):
22686 * bindings/js/ScriptControllerWin.cpp:
22687 (WebCore::ScriptController::createScriptInstanceForWidget):
22688 * bindings/js/ScriptControllerWx.cpp:
22689 (WebCore::ScriptController::createScriptInstanceForWidget):
22690 * bindings/js/StringSourceProvider.h:
22691 (WebCore::StringSourceProvider::getRange):
22692 * bindings/objc/DOM.mm:
22693 (-[DOMNode JSC::Bindings::]):
22694 * bindings/objc/DOMInternal.h:
22695 * bindings/objc/DOMInternal.mm:
22696 (-[WebScriptObject _initializeScriptDOMNodeImp]):
22697 * bindings/objc/DOMUtility.mm:
22698 (JSC::createDOMWrapper):
22699 (WebCore::createDOMWrapper):
22700 * bindings/objc/WebScriptObject.mm:
22701 (WebCore::createJSWrapper):
22702 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
22703 * bindings/objc/WebScriptObjectPrivate.h:
22704 * bindings/scripts/CodeGeneratorJS.pm:
22705 * bridge/NP_jsobject.cpp:
22706 * bridge/NP_jsobject.h:
22707 * bridge/c/c_class.cpp:
22708 * bridge/c/c_class.h:
22709 * bridge/c/c_instance.cpp:
22710 * bridge/c/c_instance.h:
22711 * bridge/c/c_runtime.cpp:
22712 * bridge/c/c_runtime.h:
22713 * bridge/c/c_utility.cpp:
22714 * bridge/c/c_utility.h:
22715 * bridge/jni/jni_class.cpp:
22716 * bridge/jni/jni_class.h:
22717 * bridge/jni/jni_instance.cpp:
22718 * bridge/jni/jni_instance.h:
22719 * bridge/jni/jni_jsobject.h:
22720 * bridge/jni/jni_jsobject.mm:
22721 (JavaJSObject::call):
22722 (JavaJSObject::convertJObjectToValue):
22723 * bridge/jni/jni_objc.mm:
22724 (JSC::Bindings::dispatchJNICall):
22725 * bridge/jni/jni_runtime.cpp:
22726 * bridge/jni/jni_runtime.h:
22727 * bridge/jni/jni_utility.cpp:
22728 * bridge/jni/jni_utility.h:
22729 * bridge/npruntime.cpp:
22730 (_NPN_GetStringIdentifier):
22731 * bridge/objc/WebScriptObject.h:
22732 * bridge/objc/objc_class.h:
22733 * bridge/objc/objc_class.mm:
22734 * bridge/objc/objc_instance.h:
22735 * bridge/objc/objc_instance.mm:
22736 * bridge/objc/objc_runtime.h:
22737 * bridge/objc/objc_runtime.mm:
22738 * bridge/objc/objc_utility.h:
22739 * bridge/objc/objc_utility.mm:
22740 * bridge/qt/qt_class.cpp:
22741 * bridge/qt/qt_class.h:
22742 * bridge/qt/qt_instance.cpp:
22743 * bridge/qt/qt_instance.h:
22744 * bridge/qt/qt_runtime.cpp:
22745 (JSC::Bindings::convertQVariantToValue):
22746 (JSC::Bindings::):
22747 * bridge/qt/qt_runtime.h:
22748 * bridge/runtime.cpp:
22749 * bridge/runtime.h:
22750 * bridge/runtime_array.cpp:
22751 * bridge/runtime_array.h:
22752 * bridge/runtime_method.cpp:
22753 * bridge/runtime_method.h:
22754 * bridge/runtime_object.cpp:
22755 * bridge/runtime_object.h:
22756 * bridge/runtime_root.cpp:
22757 (JSC::Bindings::RootObject::invalidate):
22758 (JSC::Bindings::RootObject::gcProtect):
22759 (JSC::Bindings::RootObject::gcUnprotect):
22760 * bridge/runtime_root.h:
22761 * bridge/testbindings.cpp:
22762 * bridge/testbindings.mm:
22763 * bridge/testqtbindings.cpp:
22764 * dom/Document.cpp:
22765 (WebCore::Document::~Document):
22766 * dom/NSResolver.h:
22767 * dom/Node.cpp:
22768 (WebCore::Node::setDocument):
22769 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
22770 (WebCore::resolveNamespacesForSelector):
22771 (WebCore::Node::querySelector):
22772 (WebCore::Node::querySelectorAll):
22773 * dom/Node.h:
22774 * dom/NodeFilter.cpp:
22775 * dom/NodeFilter.h:
22776 * dom/NodeFilterCondition.cpp:
22777 * dom/NodeFilterCondition.h:
22778 * dom/NodeIterator.cpp:
22779 * dom/NodeIterator.h:
22780 * dom/Traversal.cpp:
22781 * dom/Traversal.h:
22782 * dom/TreeWalker.cpp:
22783 * dom/TreeWalker.h:
22784 * dom/make_names.pl:
22785 * history/CachedPage.cpp:
22786 * history/CachedPage.h:
22787 * html/HTMLPlugInElement.cpp:
22788 (WebCore::HTMLPlugInElement::getInstance):
22789 * html/HTMLPlugInElement.h:
22790 * loader/FrameLoader.cpp:
22791 * loader/FrameLoader.h:
22792 * loader/icon/IconDatabase.cpp:
22793 (WebCore::iconDatabase):
22794 * page/Console.cpp:
22795 * page/Console.h:
22796 * page/InspectorController.cpp:
22797 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
22798 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
22799 (WebCore::InspectorResource::setXMLHttpRequestProperties):
22800 (WebCore::InspectorResource::sourceString):
22801 (WebCore::getResourceDocumentNode):
22802 (WebCore::search):
22803 (WebCore::InspectorController::focusNode):
22804 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
22805 (WebCore::InspectorController::addDatabaseScriptResource):
22806 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
22807 * page/InspectorController.h:
22808 (WebCore::InspectorController::profiles):
22809 * page/JavaScriptCallFrame.cpp:
22810 (WebCore::JavaScriptCallFrame::scopeChain):
22811 * page/JavaScriptCallFrame.h:
22812 (WebCore::JavaScriptCallFrame::create):
22813 (WebCore::JavaScriptCallFrame::update):
22814 * page/JavaScriptDebugListener.h:
22815 * page/JavaScriptDebugServer.cpp:
22816 (WebCore::dispatchDidParseSource):
22817 * page/JavaScriptDebugServer.h:
22818 * page/JavaScriptProfile.cpp:
22819 * page/JavaScriptProfile.h:
22820 * page/JavaScriptProfileNode.cpp:
22821 (WebCore::getTotalTime):
22822 (WebCore::getSelfTime):
22823 (WebCore::getTotalPercent):
22824 (WebCore::getSelfPercent):
22825 (WebCore::getNumberOfCalls):
22826 (WebCore::getChildren):
22827 (WebCore::getVisible):
22828 * page/JavaScriptProfileNode.h:
22829 * page/Page.cpp:
22830 (WebCore::Page::setDebuggerForAllPages):
22831 (WebCore::Page::setDebugger):
22832 * page/Page.h:
22833 (WebCore::Page::debugger):
22834 * page/mac/FrameMac.mm:
22835 * platform/KURL.h:
22836 (WebCore::KURL::operator JSC::UString):
22837 * platform/text/AtomicString.cpp:
22838 (WebCore::AtomicString::add):
22839 (WebCore::AtomicString::find):
22840 * platform/text/AtomicString.h:
22841 (WebCore::AtomicString::AtomicString):
22842 * platform/text/PlatformString.h:
22843 * platform/text/String.cpp:
22844 (WebCore::charactersToDouble):
22845 * platform/win/BString.cpp:
22846 * platform/win/BString.h:
22847 * plugins/MimeTypeArray.h:
22848 * plugins/Plugin.h:
22849 * plugins/PluginArray.h:
22850 * plugins/PluginView.cpp:
22851 (WebCore::PluginView::start):
22852 (WebCore::PluginView::performRequest):
22853 (WebCore::PluginView::bindingInstance):
22854 * plugins/PluginView.h:
22855 * plugins/gtk/PluginViewGtk.cpp:
22856 (WebCore::PluginView::paint):
22857 (WebCore::PluginView::handleKeyboardEvent):
22858 (WebCore::PluginView::handleMouseEvent):
22859 (WebCore::PluginView::setNPWindowRect):
22860 (WebCore::PluginView::stop):
22861 (WebCore::PluginView::init):
22862 * plugins/qt/PluginViewQt.cpp:
22863 (WebCore::PluginView::setNPWindowRect):
22864 (WebCore::PluginView::stop):
22865 (WebCore::PluginView::init):
22866 * plugins/win/PluginViewWin.cpp:
22867 (WebCore::PluginView::dispatchNPEvent):
22868 (WebCore::PluginView::handleKeyboardEvent):
22869 (WebCore::PluginView::handleMouseEvent):
22870 (WebCore::PluginView::setNPWindowRect):
22871 (WebCore::PluginView::stop):
22872 * storage/Database.cpp:
22873 (WebCore::Database::Database):
22874 * xml/XMLHttpRequest.cpp:
22875 (WebCore::XMLHttpRequest::responseText):
22876 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
22877 (WebCore::XMLHttpRequest::clearResponse):
22878 (WebCore::XMLHttpRequest::dropProtection):
22879 (WebCore::XMLHttpRequest::didFinishLoading):
22880 (WebCore::XMLHttpRequest::didReceiveData):
22881 * xml/XMLHttpRequest.h:
22882
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000228832008-09-07 Adam Barth <abarth@webkit.org>
22884
22885 Reviewed by Sam Weinig.
22886
22887 Adopt opener restriction on frame navigation.
22888 https://bugs.webkit.org/show_bug.cgi?id=20642
22889
22890 This restriction helps prevent an attacker from navigating top-level
22891 windows that were created by another web site.
22892
22893 Tests: http/tests/security/frameNavigation/not-opener.html
22894 http/tests/security/frameNavigation/opener.html
22895
22896 * loader/FrameLoader.cpp:
22897 (WebCore::canAccessAncestor):
22898 (WebCore::FrameLoader::shouldAllowNavigation):
22899
mitz@apple.com83469af2008-09-07 22:29:56 +0000229002008-09-07 Dan Bernstein <mitz@apple.com>
22901
mitz@apple.com08ff58c2008-09-07 23:19:11 +000022902 Reviewed by Maciej Stachowiak.
22903
22904 - use the correct sign for vertical offsets of combining marks
22905
22906 * platform/graphics/win/UniscribeController.cpp:
22907 (WebCore::UniscribeController::shapeAndPlaceItem):
22908
229092008-09-07 Dan Bernstein <mitz@apple.com>
22910
mitz@apple.com83469af2008-09-07 22:29:56 +000022911 Reviewed by Dave Hyatt.
22912
mitz@apple.com78685b22008-09-07 22:30:29 +000022913 - add the combining mark offsets in two places where I forgot them
22914
22915 * platform/graphics/win/FontCGWin.cpp:
22916 (WebCore::Font::drawGlyphs):
22917
229182008-09-07 Dan Bernstein <mitz@apple.com>
22919
22920 Reviewed by Dave Hyatt.
22921
mitz@apple.com83469af2008-09-07 22:29:56 +000022922 - correct glyph advances in complex text using web fonts rendered with
22923 Core Graphics
22924
22925 * platform/graphics/win/FontCustomPlatformData.cpp:
22926 (WebCore::FontCustomPlatformData::fontPlatformData):
22927
timothy@apple.com968ebc92008-09-07 16:48:41 +0000229282008-09-07 Keishi Hattori <casey.hattori@gmail.com>
22929
22930 Adds console.dirxml support to the Web Inspector.
22931
22932 https://bugs.webkit.org/show_bug.cgi?id=19156
22933
22934 Reviewed by Timothy Hatcher.
22935
22936 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
22937 * bindings/js/JSConsoleCustom.cpp:
22938 (WebCore::JSConsole::dirxml):
22939 * page/Console.cpp:
22940 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
22941 * page/Console.h:
22942 (WebCore::): Added NodeMessageLevel.
22943 * page/Console.idl: Added console.dirxml.
22944 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
22945 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
22946 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
22947 * page/inspector/ElementsTreeOutline.js: Added.
22948 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
22949 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
22950 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
22951 * page/inspector/inspector.css:
22952 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
22953 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
22954 (WebInspector.altKeyDown):
22955 (WebInspector.forceHoverHighlight):
22956 (WebInspector.hoveredDOMNode):
22957 (WebInspector._updateHoverHighlightSoon):
22958 (WebInspector._updateHoverHighlight):
22959 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
22960 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
22961 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
22962 isAncestorIncludingParentFrames.
22963
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000229642008-09-06 Mark Rowe <mrowe@apple.com>
22965
22966 Qt build fix.
22967
22968 * bridge/qt/qt_runtime.cpp:
22969 (KJS::Bindings::convertQVariantToValue):
22970
mrowe@apple.comf88a4632008-09-07 05:44:58 +000022971=== End merge of squirrelfish-extreme ===
22972
229732008-09-05 Oliver Hunt <oliver@apple.com>
22974
22975 Start bringing up SFX on windows.
22976
22977 Reviewed by Mark Rowe and Sam Weinig
22978
22979 Start doing the work to bring up SFX on windows. Initially
22980 just working on WREC, as it does not make any calls so reduces
22981 the amount of code that needs to be corrected.
22982
22983 Add forwarding headers
22984
22985 * ChangeLog:
22986 * ForwardingHeaders/masm/MacroAssembler.h: Added.
22987 * WebCore.vcproj/WebCore.vcproj:
22988
229892008-08-27 Mark Rowe <mrowe@apple.com>
22990
22991 Reviewed by Oliver Hunt.
22992
22993 Fix the build of the full WebKit stack.
22994
22995 Add forwarding headers.
22996
22997 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
22998 * ForwardingHeaders/wrec/WREC.h: Added.
22999
23000=== Start merge of squirrelfish-extreme ===
23001
antti@apple.com13c24932008-09-07 03:54:21 +0000230022008-09-06 Antti Koivisto <antti@apple.com>
23003
23004 Reviewed by Dave Hyatt.
23005
23006 <rdar://problem/6187043>
23007 Don't parse full HTML user agent style sheet unless it is actually needed
23008 <rdar://problem/6131889>
23009 WebView is significantly more expensive to create recently
23010
23011 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
23012 startup. Some clients may never use most of the rules.
23013
23014 With this patch we use simplified UA stylesheet until we hit something it can't handle.
23015 This avoids full stylesheet parsing on application startup (due to empty document construction)
23016 and also makes it possible for clients with very simple demands (divs and spans only) never to load
23017 the full style.
23018
23019 It also delays view source style parsing until it is used.
23020
23021 * css/CSSStyleSelector.cpp:
23022 (WebCore::elementCanUseSimpleDefaultStyle):
23023 (WebCore::CSSStyleSelector::CSSStyleSelector):
23024 (WebCore::loadFullDefaultStyle):
23025 (WebCore::loadSimpleDefaultStyle):
23026 (WebCore::loadViewSourceStyle):
23027 (WebCore::CSSStyleSelector::matchUARules):
23028 (WebCore::CSSStyleSelector::styleForElement):
23029
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000230302008-09-06 Kevin Ollivier <kevino@theolliviers.com>
23031
23032 wx build fix.
23033
23034 * WebCoreSources.bkl:
23035
antti@apple.come953f862008-09-06 23:27:09 +0000230362008-09-06 Antti Koivisto <antti@apple.com>
23037
antti@apple.com00dfa532008-09-06 23:32:26 +000023038 Reverting r35953 which was causing problems on Windows which relies on
23039 WebCore timers in nested event loops. r36132 did alternative fix.
23040
23041 * page/Chrome.cpp:
23042 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
23043 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
23044
230452008-09-06 Antti Koivisto <antti@apple.com>
23046
antti@apple.come953f862008-09-06 23:27:09 +000023047 Reviewed by Dan Bernstein.
23048
23049 Fix <rdar://problem/6201644>
23050 https://bugs.webkit.org/show_bug.cgi?id=20493
23051 Crash after OK in dialog box and reloading page in secure mode
23052
23053 Limited loader only fix since the general timer fix is causing problems on Windows.
23054
23055 * loader/loader.cpp:
23056 (WebCore::Loader::servePendingRequests):
23057 (WebCore::Loader::Host::Host):
23058 (WebCore::Loader::Host::didFinishLoading):
23059 (WebCore::Loader::Host::didFail):
23060 (WebCore::Loader::Host::didReceiveData):
23061 * loader/loader.h:
23062 (WebCore::Loader::Host::processingResource):
23063
mitz@apple.com046bf642008-09-06 08:31:02 +0000230642008-09-06 Dan Bernstein <mitz@apple.com>
23065
23066 Reviewed by Dave Hyatt.
23067
mitz@apple.comc0b050b2008-09-06 22:39:34 +000023068 The initial Core Text adoption prototype was made by Daniel Fenwick.
23069
23070 - <rdar://problem/5158514> Add a Core Text-based complex text code path
23071
23072 Currently the Core Text code path is not used in any configuration.
23073
23074 * WebCore.xcodeproj/project.pbxproj: Added files.
23075 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
23076 * platform/graphics/Font.cpp:
23077 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
23078 of the loop.
23079 * platform/graphics/GlyphBuffer.h:
23080 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
23081 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
23082 Added getCTFont() and getCFStringAttributes() and corresponding data
23083 members for Core Text.
23084 * platform/graphics/mac/CoreTextController.cpp: Added.
23085 (WebCore::roundCGFloat): Helper function.
23086 (WebCore::ceilCGFloat): Helper function.
23087 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
23088 (WebCore::CoreTextController::CoreTextController):
23089 (WebCore::CoreTextController::offsetForPosition):
23090 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
23091 run into subruns as necessary such that each subrun can be rendered with
23092 a single font. Also separates out soft hyphens and replaces them with
23093 real hyphens, because Core Text does not emit a glyph for soft hyphens.
23094 Then calls collectCoreTextRunsForCharacters() on each subrun.
23095 (WebCore::CoreTextController::advance):
23096 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
23097 a CTLine from the given subrun and collects its CoreTextRuns.
23098 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
23099 rounding hacks, letter- and word-spacing and glyph substitutions and
23100 stores the resulting adjusted glyphs and advances.
23101 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
23102 (WebCore::CoreTextController::totalWidth):
23103 (WebCore::CoreTextController::finalRoundingWidth):
23104 (WebCore::CoreTextController::CoreTextRun::ctRun):
23105 (WebCore::CoreTextController::CoreTextRun::glyphCount):
23106 (WebCore::CoreTextController::CoreTextRun::fontData):
23107 (WebCore::CoreTextController::CoreTextRun::characters):
23108 (WebCore::CoreTextController::CoreTextRun::stringLocation):
23109 (WebCore::CoreTextController::CoreTextRun::stringLength):
23110 (WebCore::CoreTextController::CoreTextRun::indexAt):
23111 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
23112 FontMacATSUI.mm.
23113 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
23114 (WebCore::disableLigatures): Changed to call
23115 FontPlatformData::allowsLigatures().
23116 (WebCore::overrideLayoutOperation): Changed to call
23117 FontPlatformData::roundsGlyphAdvances().
23118 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
23119 (WebCore::Font::selectionRectForComplexText): Changed to use
23120 totalWidth() instead of advancing to the end and using runWidthSoFar().
23121 (WebCore::Font::drawComplexText):
23122 (WebCore::Font::floatWidthForComplexText): Ditto.
23123 (WebCore::Font::offsetForPositionForComplexText):
23124 * platform/graphics/mac/FontPlatformData.h:
23125 * platform/graphics/mac/FontPlatformDataMac.mm:
23126 (WebCore::FontPlatformData::setFont):
23127 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
23128 AppKit rendering mode.
23129 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
23130 heuristic that allows ligatures in fonts that do not have a glyph for
23131 'a', based on the assumption that such fonts are only used in complex
23132 text.
23133 * platform/graphics/mac/SimpleFontDataMac.mm:
23134 (WebCore::SimpleFontData::platformInit):
23135 (WebCore::SimpleFontData::platformDestroy):
23136 (WebCore::SimpleFontData::getCTFont): Added.
23137 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
23138 returns an attributes dictionary.
23139 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
23140 * platform/text/mac/ShapeArabic.h: Ditto.
23141
231422008-09-06 Dan Bernstein <mitz@apple.com>
23143
23144 Reviewed by Dave Hyatt.
23145
mitz@apple.com046bf642008-09-06 08:31:02 +000023146 - make combining mark offsets work in CG text on Windows
23147
23148 * platform/graphics/win/FontCGWin.cpp:
23149 (WebCore::Font::drawGlyphs): The old code tried to translate the text
23150 matrix, but failed for two reasons: it did not actually change the
23151 matrix, and even if it did, CGContextSetTextPosition overwrites the
23152 translation values in the text matrix. Instead, just added the
23153 translation to the anchor point.
23154
alp@webkit.org369cdca2008-09-06 04:08:30 +0000231552008-09-05 Gustavo Noronha Silva <gns@gnome.org>
23156
23157 Reviewed by Alp Toker.
23158
23159 https://bugs.webkit.org/show_bug.cgi?id=18346
23160 [GTK] Remove build warnings
23161
23162 Applied some casts, and removed an unused typedef to make the
23163 compiler happy, printing less warnings when building.
23164
23165 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
23166 * platform/graphics/gtk/SimpleFontDataPango.cpp:
23167 (WebCore::SimpleFontData::containsCharacters):
23168 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
23169 (webkit_video_sink_set_caps):
23170 * platform/network/soup/ResourceHandleSoup.cpp:
23171
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000231722008-09-05 Eric Seidel <eric@webkit.org>
23173
eric@webkit.org5ac37902008-09-06 00:21:58 +000023174 Reviewed by Adam Roben.
23175
23176 Build fix for WebKitWin and Chromium
23177
23178 * platform/FileSystem.h:
23179
231802008-09-05 Eric Seidel <eric@webkit.org>
23181
eric@webkit.org3cb292c2008-09-05 22:17:56 +000023182 Reviewed by Darin Adler.
23183
23184 Try to make Chromium compile with ToT:
23185 - Wrap a few places which depend on KJS:: in #if USE(JSC)
23186 - Include some windows forward declarations
23187
23188 * dom/Node.h:
23189 * page/Console.h:
23190 * page/animation/CompositeAnimation.h:
23191 * platform/FileSystem.h:
23192 * platform/graphics/Image.h:
23193 * platform/text/AtomicString.h:
23194 * platform/text/String.cpp:
23195 * rendering/style/RenderStyle.h:
23196
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000231972008-09-05 Dave Hyatt <hyatt@apple.com>
23198
23199 Add support for runtime switchability of the Aqua look and the native look on Windows.
23200 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
23201
23202 Reviewed by Adam Roben
23203
23204 * WebCore.vcproj/WebCore.vcproj:
23205 * page/Settings.cpp:
23206 (WebCore::Settings::setShouldPaintNativeControls):
23207 * page/Settings.h:
23208 (WebCore::Settings::shouldPaintNativeControls):
23209 * rendering/RenderThemeSafari.cpp:
23210 (WebCore::theme):
23211 * rendering/RenderThemeWin.cpp:
23212
antti@apple.combced97f2008-09-05 18:52:05 +0000232132008-09-05 Antti Koivisto <antti@apple.com>
23214
23215 Qt build fix.
23216
23217 * svg/SVGFEImageElement.cpp:
23218 (WebCore::SVGFEImageElement::build):
23219
aroben@apple.comca0c3362008-09-05 15:33:28 +0000232202008-09-05 Dirk Schulze <vbs85@gmx.de>
23221
23222 Gtk build fix
23223
23224 * GNUmakefile.am:
23225
antti@apple.com72e4a842008-09-05 09:28:11 +0000232262008-09-05 Antti Koivisto <antti@apple.com>
23227
antti@apple.com49e46662008-09-05 10:36:59 +000023228 Another build fix.
23229
23230 * svg/SVGFEImageElement.cpp:
23231 (WebCore::SVGFEImageElement::notifyFinished):
23232
232332008-09-05 Antti Koivisto <antti@apple.com>
23234
antti@apple.comfeec2582008-09-05 10:03:39 +000023235 Build fixes.
23236
23237 * WebCore.xcodeproj/project.pbxproj:
23238 * svg/graphics/filters/SVGFEImage.cpp:
23239 (WebCore::FEImage::cachedImage):
23240
232412008-09-05 Antti Koivisto <antti@apple.com>
23242
darin@apple.com07c80c62008-09-05 18:15:43 +000023243 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000023244
23245 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
23246 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
23247
23248 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
23249 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
23250 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
23251 we avoid re-decoding resources, especially images.
23252
23253 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
23254 CacheControl: max-age=0 header. That would be added in reload case.
23255
23256 The approach for revalidation is to kick the original resource out from the memory cache
23257 and create a new CachedResource that represents the revalidation request. In case
23258 we get 304 back for the request we put the original resource back to the cache, update
23259 its expiration date and switch the clients registered to revalidation resource to be
23260 clients of the original resource.
23261
23262 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
23263 This allows updating the handles to point to the original resource when the revalidation succeeds. It
23264 also acts as refcounting smart pointer.
23265
23266 * WebCore.pro:
23267 * WebCore.vcproj/WebCore.vcproj:
23268 * WebCore.xcodeproj/project.pbxproj:
23269 * css/CSSFontFaceSource.h:
23270 * css/CSSImportRule.h:
23271 * dom/Clipboard.h:
23272 (WebCore::Clipboard::dragImage):
23273 * dom/ProcessingInstruction.h:
23274 * dom/ScriptElement.h:
23275 * dom/XMLTokenizer.cpp:
23276 (WebCore::XMLTokenizer::isWaitingForScripts):
23277 * dom/XMLTokenizer.h:
23278 * html/HTMLImageLoader.cpp:
23279 (WebCore::HTMLImageLoader::setImage):
23280 (WebCore::HTMLImageLoader::updateFromElement):
23281 (WebCore::HTMLImageLoader::notifyFinished):
23282 * html/HTMLImageLoader.h:
23283 (WebCore::HTMLImageLoader::image):
23284 * html/HTMLLinkElement.h:
23285 * html/HTMLTokenizer.cpp:
23286 (WebCore::HTMLTokenizer::reset):
23287 (WebCore::HTMLTokenizer::scriptHandler):
23288 (WebCore::HTMLTokenizer::notifyFinished):
23289 * html/HTMLTokenizer.h:
23290 * loader/Cache.cpp:
23291 (WebCore::Cache::revalidateResource):
23292 (WebCore::Cache::revalidationSucceeded):
23293 (WebCore::Cache::revalidationFailed):
23294 * loader/Cache.h:
23295 * loader/CachedResource.cpp:
23296 (WebCore::CachedResource::CachedResource):
23297 (WebCore::CachedResource::~CachedResource):
23298 (WebCore::CachedResource::isExpired):
23299 (WebCore::CachedResource::setResponse):
23300 (WebCore::CachedResource::deleteIfPossible):
23301 (WebCore::CachedResource::setResourceToRevalidate):
23302 (WebCore::CachedResource::clearResourceToRevalidate):
23303 (WebCore::CachedResource::switchClientsToRevalidatedResource):
23304 (WebCore::CachedResource::canUseCacheValidator):
23305 (WebCore::CachedResource::mustRevalidate):
23306 * loader/CachedResource.h:
23307 (WebCore::CachedResource::canDelete):
23308 (WebCore::CachedResource::registerHandle):
23309 (WebCore::CachedResource::unregisterHandle):
23310 (WebCore::CachedResource::isCacheValidator):
23311 (WebCore::CachedResource::resourceToRevalidate):
23312 (WebCore::CachedResource::setExpirationDate):
23313 * loader/CachedResourceHandle.cpp: Added.
23314 (WebCore::CachedResourceHandleBase::setResource):
23315 * loader/CachedResourceHandle.h: Added.
23316 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
23317 (WebCore::CachedResourceHandleBase::get):
23318 (WebCore::CachedResourceHandleBase::operator!):
23319 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
23320 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
23321 (WebCore::CachedResourceHandleBase::operator=):
23322 (WebCore::CachedResourceHandle::CachedResourceHandle):
23323 (WebCore::CachedResourceHandle::get):
23324 (WebCore::CachedResourceHandle::operator->):
23325 (WebCore::CachedResourceHandle::operator=):
23326 (WebCore::CachedResourceHandle::operator==):
23327 (WebCore::CachedResourceHandle::operator!=):
23328 (WebCore::operator==):
23329 (WebCore::operator!=):
23330 * loader/DocLoader.cpp:
23331 (WebCore::DocLoader::checkForReload):
23332 * loader/UserStyleSheetLoader.h:
23333 * loader/loader.cpp:
23334 (WebCore::Loader::Host::servePendingRequests):
23335 (WebCore::Loader::Host::didFinishLoading):
23336 (WebCore::Loader::Host::didFail):
23337 (WebCore::Loader::Host::didReceiveResponse):
23338 (WebCore::Loader::Host::didReceiveData):
23339 * page/EventHandler.cpp:
23340 (WebCore::EventHandler::selectCursor):
23341 * rendering/RenderImage.cpp:
23342 (WebCore::RenderImage::setCachedImage):
23343 (WebCore::RenderImage::imageChanged):
23344 * rendering/RenderImage.h:
23345 (WebCore::RenderImage::cachedImage):
23346 (WebCore::RenderImage::imagePtr):
23347 * rendering/style/RenderStyle.h:
23348 * rendering/style/StyleCachedImage.h:
23349 (WebCore::StyleCachedImage::data):
23350 (WebCore::StyleCachedImage::cachedImage):
23351 * svg/SVGFEImageElement.h:
23352 * svg/graphics/filters/SVGFEImage.h:
23353 * xml/XSLImportRule.h:
23354
beidson@apple.comab60d982008-09-05 04:58:12 +0000233552008-09-04 Brady Eidson <beidson@apple.com>
23356
23357 Reviewed by Mitz
23358
23359 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
23360
23361 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
23362 to model default NSURLRequest behavior in a cross-platform manner.
23363
23364 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
23365 client that wished to enforce a much larger default timeout using NSURLRequest API.
23366
23367 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
23368 behavior on the web and this restores previous Safari/WebKit behavior.
23369
23370 It would be easy to write a layout test for this, but to be effective it would have
23371 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
23372
23373 * manual-tests/timeout-test.html: Added.
23374 * manual-tests/timeout-test.php: Added.
23375
23376 * platform/network/ResourceRequestBase.h:
23377 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
23378 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
23379 * platform/network/mac/ResourceRequestMac.mm:
23380 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
23381 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
23382 WebKit applications to enforce their own default timeout.
23383
mitz@apple.com20268542008-09-05 04:26:32 +0000233842008-09-04 Dan Bernstein <mitz@apple.com>
23385
23386 Reviewed by Beth Dakin.
23387
23388 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
23389
23390 Test: fast/repaint/button-spurious-layout-hint.html
23391
23392 * rendering/RenderButton.cpp:
23393 (WebCore::RenderButton::setStyle): Reset the inner block's style box
23394 flex to 0 to avoid getting a spurious layout hint.
23395
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000233962008-09-04 Kevin Ollivier <kevino@theolliviers.com>
23397
23398 wx build fixes.
23399
23400 * WebCoreSources.bkl:
23401 * bindings/js/ScriptControllerWx.cpp: Added.
23402 (WebCore::ScriptController::createScriptInstanceForWidget):
23403 * page/wx/AccessibilityObjectWx.cpp: Added.
23404 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
23405 * platform/graphics/wx/GraphicsContextWx.cpp:
23406 * webcore-base.bkl:
23407 * webcore-wx.bkl:
23408
mitz@apple.com95a87502008-09-04 23:27:19 +0000234092008-09-04 Dan Bernstein <mitz@apple.com>
23410
23411 Reviewed by Mark Rowe.
23412
23413 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
23414 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
23415 require a different approach
23416
23417 * css/CSSGrammar.y:
23418
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000234192008-09-04 Mark Rowe <mrowe@apple.com>
23420
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000023421 Reviewed by Eric Seidel.
23422
23423 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
23424 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
23425
23426 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
23427 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
23428 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
23429
234302008-09-04 Mark Rowe <mrowe@apple.com>
23431
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000023432 Mac build fix.
23433
23434 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
23435
eric@webkit.org0716a542008-09-04 20:44:12 +0000234362008-09-04 Eric Seidel <eric@webkit.org>
23437
23438 Build fix only, no review.
23439
23440 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
23441
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000234422008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
23443
23444 Reviewed by Eric Seidel.
23445
23446 http://bugs.webkit.org/show_bug.cgi?id=20380
23447 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
23448
23449 * config.h: Include the configuration header generated by autotools if
23450 available.
23451
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000234522008-09-04 Dan Bernstein <mitz@apple.com>
23453
23454 Rubber-stamped by Dave Hyatt.
23455
23456 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
23457
23458 * loader/CachedFont.cpp:
23459 (WebCore::CachedFont::allClientsRemoved):
23460 * loader/CachedFont.h:
23461 * loader/CachedImage.cpp:
23462 (WebCore::CachedImage::allClientsRemoved):
23463 * loader/CachedImage.h:
23464 * loader/CachedResource.cpp:
23465 (WebCore::CachedResource::removeClient):
23466 * loader/CachedResource.h:
23467 (WebCore::CachedResource::allClientsRemoved):
23468
aroben@apple.com0da404d2008-09-04 16:09:33 +0000234692008-09-04 Adam Roben <aroben@apple.com>
23470
aroben@apple.comdd3861a2008-09-04 16:09:53 +000023471 Windows build fix after r36071
23472
23473 We were getting these errors:
23474
23475 error C2356: initialization segment must not change during translation
23476 unit
23477
23478 This was happening because multiple files #included by
23479 DerivedSources.cpp were themselves #including StaticConstructors.h. I
23480 fixed the error by adding header guards to StaticConstructors.h so its
23481 contents will only be included once.
23482
23483 But it's also not a good idea for StaticConstructors.h to end up in
23484 DerivedSources.cpp, since it ends up "polluting" all the source files
23485 we have in there. So I removed all the files that include
23486 StaticConstructors.h and added some preprocessor directives to
23487 DerivedSources.cpp to catch this error in the future.
23488
23489 * DerivedSources.cpp: Removed the *Names.cpp files, which include
23490 StaticConstructors.h, and added some preprocessor directives to make
23491 sure we don't end up accidentally including StaticConstructors.h in
23492 the future.
23493 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
23494 * platform/StaticConstructors.h: Added header guards.
23495
234962008-09-04 Adam Roben <aroben@apple.com>
23497
aroben@apple.com0da404d2008-09-04 16:09:33 +000023498 Windows build fix
23499
23500 * platform/graphics/win/FontPlatformData.h: Added a missing #include
23501 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
23502 * platform/text/PlatformString.h: Added a missing #include of
23503 PassRefPtr.h.
23504
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000235052008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
23506
23507 Reviewed by Simon.
23508
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000023509 Fix the QtWebKit build to match changes in r36016
23510
23511 * WebCore.pro:
23512 * bridge/qt/qt_instance.cpp:
23513 (KJS::Bindings::QtInstance::getRuntimeObject):
23514 * bridge/qt/qt_runtime.cpp:
23515 (KJS::Bindings::convertQVariantToValue):
23516 (KJS::Bindings::QtConnectionObject::execute):
23517
235182008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
23519
23520 Reviewed by Simon.
23521
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000023522 Re-enable support for user stylesheets in QtWebKit
23523
23524 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
23525 code path, which allows us to keep API support for
23526 loading user style sheets from remote URLs.
23527
23528 As part of the change UserStyleSheetLoader.cpp/h was
23529 moved from WebCore/loader/mac to WebCore/loader.
23530
23531 * WebCore.pro:
23532 * WebCore.xcodeproj/project.pbxproj:
23533 * dom/Document.h:
23534 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
23535 (UserStyleSheetLoader::UserStyleSheetLoader):
23536 (UserStyleSheetLoader::~UserStyleSheetLoader):
23537 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
23538 * page/qt/FrameQt.cpp:
23539 (WebCore::Frame::setUserStyleSheetLocation):
23540 (WebCore::Frame::setUserStyleSheet):
23541
alp@webkit.org539ff852008-09-04 09:14:42 +0000235422008-09-04 Alp Toker <alp@nuanti.com>
23543
23544 Reviewed by Eric.
23545
23546 Remove left-over QT and CAIRO platform checks.
23547
23548 * html/CanvasRenderingContext2D.cpp:
23549
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000235502008-09-04 Eric Seidel <eric@webkit.org>
23551
23552 Reviewed by Mark Rowe.
23553
mitz@apple.com9388d252008-09-04 08:58:58 +000023554 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000023555
23556 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
23557
mitz@apple.com89557c52008-09-04 07:26:53 +0000235582008-09-04 Dan Bernstein <mitz@apple.com>
23559
23560 Reviewed by Dave Hyatt.
23561
23562 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
23563 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
23564
23565 * rendering/RenderBlock.cpp:
23566 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
23567 positioned movement only case, call
23568 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
23569 layout if that fails.
23570 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
23571 * rendering/RenderBox.h:
23572 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
23573 layoutDoingPositionedMovementOnly to this, and made this function
23574 check if the width changed. If it did, return, leaving the object
23575 dirty. The caller can then call layout(). The width can change even
23576 in the "positioned movement only" case if the object is shrink-to-fit
23577 and the available width constraint is met. (This was the case in the
23578 bug).
23579 * rendering/RenderObject.h:
23580 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
23581 Renamed layoutDoingPositionedMovementOnly() to this.
23582
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000235832008-09-03 Eric Seidel <eric@webkit.org>
23584
23585 No review, build fix only.
23586
23587 Attempt to fix the Qt build.
23588
23589 * WebCore.pro: add page/animation to include path
23590
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000235912008-09-03 Mark Rowe <mrowe@apple.com>
23592
23593 Mac build fix. Correctly detect whether dashboard support is enabled.
23594
23595 * DerivedSources.make:
23596
eric@webkit.org3eefe672008-09-04 01:32:26 +0000235972008-09-03 Eric Seidel <eric@webkit.org>
23598
23599 Reviewed by Sam.
23600
eric@webkit.org5e069092008-09-04 01:32:51 +000023601 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
23602
23603 * Configurations/WebCore.xcconfig: add missing ENABLE_*
23604 * config.h: add rules for V8_BINDINGS
23605
236062008-09-03 Eric Seidel <eric@webkit.org>
23607
23608 Reviewed by Sam.
23609
eric@webkit.org3eefe672008-09-04 01:32:26 +000023610 https://bugs.webkit.org/show_bug.cgi?id=20620
23611
23612 Add #if USE(JSC) around KJS dependencies
23613 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
23614 1. Most platforms have it on anyway
23615 2. V8 is going to want to share some of that code
23616 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
23617
23618 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
23619 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
23620 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23621 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23622 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23623 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23624 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23625 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23626 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
23627 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
23628 * platform/text/AtomicString.cpp: add USE(JSC)
23629 * platform/text/AtomicString.h: add USE(JSC)
23630 * platform/text/PlatformString.h: add USE(JSC)
23631 * platform/text/String.cpp: add USE(JSC)
23632 * platform/text/StringImpl.cpp: add USE(JSC)
23633 * platform/text/StringImpl.h: add USE(JSC)
23634
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000236352008-09-03 Dean McNamee <deanm@chromium.org>
23636
23637 Reviewed by Darin Adler.
23638
23639 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
23640 Bug 20511: Remove static initializers on Windows
23641
23642 Avoid static initializers on Windows by forcing Visual C++ to put
23643 all static initializers in a code segment that is never executed.
23644
23645 * config.h:
23646 * css/MediaFeatureNames.cpp:
23647 * dom/EventNames.cpp:
23648 * dom/QualifiedName.cpp:
23649 * dom/make_names.pl:
23650 * platform/StaticConstructors.h:
23651 * platform/text/AtomicString.cpp:
23652
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000236532008-09-03 Dirk Schulze <vbs85@gmx.de>
23654
23655 Reviewed by Dave Hyatt.
23656
23657 Make FontCairo draw TextStroke and TextFill separately.
23658
23659 [CAIRO] draw TextFill and TextStroke separately.
23660 [https://bugs.webkit.org/show_bug.cgi?id=20631]
23661
23662 * platform/graphics/cairo/FontCairo.cpp:
23663 (WebCore::Font::drawGlyphs):
23664
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000236652008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000023666
23667 Reviewed by Dave Hyatt.
23668
23669 https://bugs.webkit.org/show_bug.cgi?id=19663
23670 Account for paint and timer lag when animating images. Also pretend
23671 that images whose animations were paused (by becoming invisible)
23672 continued to animate, by "catching up" to the correct frame when they're
23673 shown again.
23674
23675 * platform/graphics/BitmapImage.cpp:
23676 (WebCore::BitmapImage::BitmapImage):
23677 (WebCore::BitmapImage::startAnimation):
23678 (WebCore::BitmapImage::advanceAnimation):
23679 (WebCore::BitmapImage::internalAdvanceAnimation):
23680 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
23681 * platform/graphics/BitmapImage.h:
23682 * platform/graphics/cairo/ImageCairo.cpp:
23683 (WebCore::BitmapImage::draw):
23684 * platform/graphics/cg/ImageCG.cpp:
23685 (WebCore::BitmapImage::draw):
23686 * platform/graphics/qt/ImageQt.cpp:
23687 (WebCore::BitmapImage::draw):
23688 * platform/graphics/wx/ImageWx.cpp:
23689 (WebCore::BitmapImage::draw):
23690
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000236912008-09-03 Kevin McCullough <kmccullough@apple.com>
23692
23693 Reviewed by Tim.
23694
23695 Remove the rest of the "zombie" code from the profiler.
23696 - There is no longer a need for the ProfilerClient callback mechanism.
23697
23698 * page/Console.cpp:
23699 (WebCore::Console::Console):
23700 (WebCore::Console::profile):
23701 (WebCore::Console::profileEnd): Move the variables from the header to
23702 here since we don't have to wait for a callback to use them.
23703 * page/Console.h:
23704 * page/InspectorController.cpp:
23705 (WebCore::InspectorController::startUserInitiatedProfiling):
23706 (WebCore::InspectorController::stopUserInitiatedProfiling):
23707 * page/InspectorController.h:
23708
adachan@apple.com38c66182008-09-03 21:43:44 +0000237092008-09-03 Ada Chan <adachan@apple.com>
23710
23711 Windows build fix.
23712
23713 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
23714
dino@apple.com5c917622008-09-03 21:15:53 +0000237152008-09-01 Dean Jackson <dino@apple.com>
23716
23717 Reviewed by Dave Hyatt.
23718
23719 https://bugs.webkit.org/show_bug.cgi?id=20594
23720 Add DOM interfaces for WebKitCSSKeyframeRule
23721 and WebKitCSSKeyframesRule.
23722
23723 TEST: LayoutTests/css3/keyframes-rule.html
23724
23725 * css/WebKitCSSKeyframeRule.idl: Added
23726 * css/WebKitCSSKeyframesRule.idl: Added
23727
23728 * bindings/js/JSCSSRuleCustom.cpp:
23729 (WebCore::toJS):
23730 Add return of new JS Keyframe rules
23731 * bindings/objc/DOMInternal.h:
23732 Include new internal header
23733
23734 * DerivedSources.make:
23735 * GNUmakefile.am:
23736 * WebCore.pro:
23737 * WebCore.vcproj/WebCore.vcproj:
23738 * WebCore.xcodeproj/project.pbxproj:
23739 * WebCoreSources.bkl:
23740 Build configs for new files
23741
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000237422008-09-03 Adam Roben <aroben@apple.com>
23743
23744 Windows build fix
23745
23746 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
23747 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
23748 convenience/consistency.
23749
adele@apple.com27713582008-09-03 20:13:41 +0000237502008-09-03 Adele Peterson <adele@apple.com>
23751
23752 Build fix.
23753
23754 * WebCore.vcproj/WebCore.vcproj:
23755
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000237562008-09-03 David Hyatt <hyatt@apple.com>
23757
23758 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
23759
23760 Reviewed by Darin (ages ago)
23761
23762 Added fast/block/float/clamped-right-float.html
23763
23764 * rendering/RenderBlock.cpp:
23765 (WebCore::RenderBlock::positionNewFloats):
23766
hyatt@apple.comafe62052008-09-03 18:13:39 +0000237672008-09-02 David Hyatt <hyatt@apple.com>
23768
23769 Add support for canvas text drawing APIs.
23770
23771 Reviewed by olliej
23772
23773 Tests added as fast/canvas/canvas-text-*.html
23774
23775 * DerivedSources.make:
23776 * WebCore.xcodeproj/project.pbxproj:
23777 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
23778 (WebCore::JSCanvasRenderingContext2D::fillText):
23779 (WebCore::JSCanvasRenderingContext2D::strokeText):
23780 * css/CSSStyleSelector.cpp:
23781 (WebCore::CSSStyleSelector::initForStyleResolve):
23782 (WebCore::CSSStyleSelector::applyPropertyToStyle):
23783 * css/CSSStyleSelector.h:
23784 * html/CanvasRenderingContext2D.cpp:
23785 (WebCore::CanvasRenderingContext2D::State::State):
23786 (WebCore::CanvasRenderingContext2D::font):
23787 (WebCore::CanvasRenderingContext2D::setFont):
23788 (WebCore::CanvasRenderingContext2D::textAlign):
23789 (WebCore::CanvasRenderingContext2D::setTextAlign):
23790 (WebCore::CanvasRenderingContext2D::textBaseline):
23791 (WebCore::CanvasRenderingContext2D::setTextBaseline):
23792 (WebCore::CanvasRenderingContext2D::fillText):
23793 (WebCore::CanvasRenderingContext2D::strokeText):
23794 (WebCore::CanvasRenderingContext2D::measureText):
23795 (WebCore::CanvasRenderingContext2D::drawTextInternal):
23796 (WebCore::CanvasRenderingContext2D::accessFont):
23797 * html/CanvasRenderingContext2D.h:
23798 * html/CanvasRenderingContext2D.idl:
23799 * html/TextMetrics.h: Added.
23800 (WebCore::TextMetrics::create):
23801 (WebCore::TextMetrics::width):
23802 (WebCore::TextMetrics::setWidth):
23803 (WebCore::TextMetrics::TextMetrics):
23804 * html/TextMetrics.idl: Added.
23805 * platform/graphics/Font.cpp:
23806 (WebCore::Font::lineGap):
23807 * platform/graphics/Font.h:
23808 * platform/graphics/GraphicsContext.cpp:
23809 (WebCore::GraphicsContext::drawBidiText):
23810 * platform/graphics/GraphicsContext.h:
23811 * platform/graphics/GraphicsTypes.cpp:
23812 (WebCore::textAlignName):
23813 (WebCore::parseTextAlign):
23814 (WebCore::textBaselineName):
23815 (WebCore::parseTextBaseline):
23816 * platform/graphics/GraphicsTypes.h:
23817 (WebCore::):
23818
sullivan@apple.combc066af2008-09-03 17:37:24 +0000238192008-09-03 John Sullivan <sullivan@apple.com>
23820
23821 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
23822
23823 Fixed by Darin, reviewed by me
23824
23825 * page/animation/AnimationBase.cpp:
23826 (WebCore::AnimationBase::propertiesEqual):
23827 added ensurePropertyMap() to this static function
23828 (WebCore::AnimationBase::getPropertyAtIndex):
23829 ditto
23830 (WebCore::AnimationBase::getNumProperties):
23831 ditto
23832
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000238332008-09-03 Kevin McCullough <kmccullough@apple.com>
23834
23835 Reviewed by Darin and Tim.
23836
23837 Remove most of the "zombie" mode from the profiler. Next we will need
23838 to remove the client callback mechanism in profiles.
23839 - These changes are a result of changes to JSCore.
23840
23841 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
23842 * page/Console.cpp:
23843 (WebCore::retrieveLastCaller):
23844 (WebCore::Console::profileEnd):
23845 * page/InspectorController.cpp:
23846 (WebCore::InspectorController::stopUserInitiatedProfiling):
23847
adele@apple.com643616b2008-09-03 16:57:58 +0000238482008-09-03 Adele Peterson <adele@apple.com>
23849
23850 Reviewed by Darin Adler.
23851
23852 Test: fast/forms/search-display-none-cancel-button.html
23853
23854 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
23855
23856 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
23857
23858 * rendering/RenderTextControl.cpp:
23859 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
23860 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
23861 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
23862 (WebCore::RenderTextControl::createSubtreeIfNeeded):
23863 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
23864 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
23865 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
23866 (WebCore::RenderTextControl::calcHeight): ditto.
23867 (WebCore::RenderTextControl::nodeAtPoint): ditto.
23868 (WebCore::RenderTextControl::layout): ditto.
23869 (WebCore::RenderTextControl::calcPrefWidths): ditto.
23870 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
23871 (WebCore::RenderTextControl::clientPaddingRight): ditto.
23872
23873 * rendering/TextControlInnerElements.cpp:
23874 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
23875 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
23876 (WebCore::TextControlInnerElement::attachInnerElement): Added.
23877 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
23878 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
23879 * rendering/TextControlInnerElements.h:
23880
ap@webkit.orgacd84142008-09-03 08:08:19 +0000238812008-08-28 Alexey Proskuryakov <ap@webkit.org>
23882
23883 Reviewed by Maciej.
23884
23885 Elminate SQLiteAuthorizer class.
23886
23887 * WebCore.xcodeproj/project.pbxproj:
23888 * WebCore.vcproj/WebCore.vcproj:
23889 * GNUmakefile.am
23890 Removed SQLiteAuthorizer.h.
23891
23892 * platform/sql/SQLiteAuthorizer.cpp:
23893 * platform/sql/SQLiteAuthorizer.h: Removed.
23894 * platform/sql/SQLiteDatabase.cpp:
23895 (WebCore::SQLiteDatabase::authorizerFunction):
23896 (WebCore::SQLiteDatabase::setAuthorizer):
23897 * platform/sql/SQLiteDatabase.h:
23898 * storage/DatabaseAuthorizer.h:
23899 (WebCore::DatabaseAuthorizer::create):
23900 (WebCore::DatabaseAuthorizer::createView):
23901 (WebCore::DatabaseAuthorizer::createTempView):
23902 (WebCore::DatabaseAuthorizer::dropView):
23903 (WebCore::DatabaseAuthorizer::dropTempView):
23904 (WebCore::DatabaseAuthorizer::allowSelect):
23905 (WebCore::DatabaseAuthorizer::allowReindex):
23906 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
23907
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000239082008-09-03 Dirk Schulze <vbs85@gmx.de>
23909
23910 Reviewed by Mark Rowe.
23911
23912 WebKitGtk build fix.
23913
23914 * GNUmakefile.am:
23915 * page/animation/AnimationController.h:
23916
mrowe@apple.come344ad02008-09-03 06:59:03 +0000239172008-09-02 Robert Blaut <webkit@blaut.biz>
23918
23919 Reviewed by Geoff Garen.
23920
23921 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
23922 Misplaced elements should not close DL lists.
23923
23924 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
23925
23926 * html/HTMLParser.cpp:
23927 (WebCore::HTMLParser::handleError):
23928
mrowe@apple.com7a909462008-09-03 06:51:31 +0000239292008-09-02 Glenn Wilson <wilsong@gmail.com>
23930
23931 Reviewed by Darin Adler.
23932
23933 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
23934 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
23935
23936 We would inappropriately interpret and apply an invalid CSS "color" property
23937 when the value is a predefined color preceded by a '#' symbol. For example,
23938 style="color:#gray;" would apply the color gray when it should not.
23939
23940 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
23941 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
23942 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
23943 an ignorable token.
23944
23945 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
23946 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
23947 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
23948
23949 Test: css1/color_and_background/invalid_color.html
23950
23951 * css/CSSGrammar.y:
23952
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000239532008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
23954
23955 Reviewed by Darin Adler.
23956
23957 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
23958 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
23959
23960 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
23961
23962 Test: css3/khtml-background-size-0x0-bmp.html
23963
23964 * rendering/RenderBox.cpp:
23965 (WebCore::RenderBox::repaintLayerRectsForImage):
23966
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000239672008-09-02 Glenn Wilson <wilsong@gmail.com>
23968
23969 Reviewed by Eric Seidel.
23970
23971 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
23972 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
23973
23974 The function checkForOrphanedUnits() would change the length of a list whose size was
23975 was already determined before the call to checkForOrphanedUnits was made. Later in
23976 the caller, the old size was being used for boundary management.
23977
23978 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
23979 calling function, before the size of the list is determined.
23980
23981 Test: fast/css/orphaned_units_crash.html
23982
23983 * css/CSSParser.cpp:
23984 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
23985
mrowe@apple.com170bd522008-09-03 05:49:51 +0000239862008-09-02 Dirk Schulze <vbs85@gmx.de>
23987
23988 Reviewed by Darin Adler.
23989
mrowe@apple.comeb877a52008-09-03 06:01:15 +000023990 Fallback on invalid fill or stroke styles in Canvas was
23991 transparent black. Changed it to last valid style.
23992
23993 Canvas fillStyle() and strokeStyle() needs fallback
23994 https://bugs.webkit.org/show_bug.cgi?id=20474
23995
23996 Tests: fast/canvas/canvas-invalid-fillstyle.html
23997 fast/canvas/canvas-invalid-strokestyle.html
23998
23999 * html/CanvasStyle.cpp:
24000 (WebCore::CanvasStyle::applyStrokeColor):
24001 (WebCore::CanvasStyle::applyFillColor):
24002
240032008-09-02 Dirk Schulze <vbs85@gmx.de>
24004
24005 Reviewed by Darin Adler.
24006
mrowe@apple.com170bd522008-09-03 05:49:51 +000024007 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
24008 Updated drawImage() in canvas to match the current specification.
24009
24010 Test: fast/canvas/drawImage-with-negative-source-destination.html
24011
24012 * html/CanvasRenderingContext2D.cpp:
24013 (WebCore::normalizeRect):
24014 (WebCore::CanvasRenderingContext2D::drawImage):
24015
mrowe@apple.com96916d12008-09-03 05:41:44 +0000240162008-08-26 Mark Rowe <mrowe@apple.com>
24017
24018 Reviewed by Darin Adler.
24019
24020 <rdar://problem/5768210> Switch back to the system version of SQLite
24021
24022 Use the system version of SQLite when it is new enough to provide the functionality
24023 that WebCore requires.
24024
24025 * Configurations/Base.xcconfig:
24026 * Configurations/DebugRelease.xcconfig:
24027 * Configurations/WebCore.xcconfig:
24028
mitz@apple.comce268c12008-09-03 02:59:00 +0000240292008-09-02 Dan Bernstein <mitz@apple.com>
24030
24031 - build fix
24032
24033 * page/animation/AnimationBase.h:
24034
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000240352008-09-02 Chris Marrin <cmarrin@apple.com>
24036
24037 Reviewed by Dave Hyatt.
24038
24039 AnimationController.cpp should be split into separate files
24040 https://bugs.webkit.org/show_bug.cgi?id=20604
24041
24042 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
24043 recommendation of Dave Hyatt.
24044
24045 * GNUmakefile.am:
24046 * WebCore.pro:
24047 * WebCore.vcproj/WebCore.vcproj:
24048 * WebCore.xcodeproj/project.pbxproj:
24049 * WebCoreSources.bkl:
24050 Build files.
24051
24052 * page/AnimationController.cpp: Removed.
24053 * page/AnimationController.h: Removed.
24054 * page/animation: Added.
24055 * page/animation/AnimationBase.cpp: Added.
24056 * page/animation/AnimationBase.h: Added.
24057 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
24058 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
24059 * page/animation/CompositeAnimation.cpp: Added.
24060 * page/animation/CompositeAnimation.h: Added.
24061 * page/animation/ImplicitAnimation.cpp: Added.
24062 * page/animation/ImplicitAnimation.h: Added.
24063 * page/animation/KeyframeAnimation.cpp: Added.
24064 * page/animation/KeyframeAnimation.h: Added.
24065
mitz@apple.comcb917a22008-09-03 00:57:37 +0000240662008-09-02 Dan Bernstein <mitz@apple.com>
24067
24068 - release build fix
24069
24070 * platform/graphics/cg/GraphicsContextCG.cpp:
24071 (WebCore::calculateDrawingMode):
24072
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000240732008-09-02 Timothy Hatcher <timothy@apple.com>
24074
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000024075 Make console functions log the correct resource URL and
24076 line number for where the call originated.
24077
24078 https://bugs.webkit.org/show_bug.cgi?id=17234
24079 <rdar://problem/5732837>
24080
24081 Reviewed by Kevin McCullough.
24082
24083 Test: manual-tests/inspector/console-call-line-numbers.html
24084
24085 * bindings/js/JSConsoleCustom.cpp:
24086 (WebCore::JSConsole::count): Call the impl.
24087 (WebCore::JSConsole::timeEnd): Ditto.
24088 * manual-tests/inspector/console-call-line-numbers.html: Added.
24089 * manual-tests/inspector/resources/script-console-calls.js: Added.
24090 * page/Console.cpp:
24091 (WebCore::retrieveLastCaller): Helper to get the URL and line.
24092 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
24093 line number to pass to addMessageToConsole.
24094 (WebCore::Console::info): Ditto.
24095 (WebCore::Console::log): Ditto.
24096 (WebCore::Console::assertCondition): Ditto.
24097 (WebCore::Console::count): Ditto.
24098 (WebCore::Console::timeEnd): Ditto.
24099 (WebCore::Console::warn): Ditto.
24100 * page/Console.h:
24101 * page/Console.idl: Make count and timeEnd custom.
24102
241032008-09-02 Timothy Hatcher <timothy@apple.com>
24104
timothy@apple.comf3aa7342008-09-02 21:30:26 +000024105 Removed IDL files from WebCore's framework resources.
24106
24107 * WebCore.xcodeproj/project.pbxproj:
24108
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000241092008-09-02 Dan Bernstein <mitz@apple.com>
24110
24111 Reviewed by Dave Hyatt.
24112
24113 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
24114
24115 * html/HTMLParser.cpp:
24116 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
24117 cap on the number of consecutive identical residual style tags to
24118 reopen.
24119 (WebCore::HTMLParser::popBlock): Ditto.
24120
ap@webkit.org879328b2008-09-02 16:16:06 +0000241212008-09-02 Alexey Proskuryakov <ap@webkit.org>
24122
24123 Reviewed by Adam Roben.
24124
24125 A little database quota management cleanup.
24126
24127 * storage/OriginQuotaManager.cpp:
24128 (WebCore::OriginQuotaManager::OriginQuotaManager):
24129 (WebCore::OriginQuotaManager::lock):
24130 (WebCore::OriginQuotaManager::unlock):
24131 (WebCore::OriginQuotaManager::trackOrigin):
24132 (WebCore::OriginQuotaManager::tracksOrigin):
24133 (WebCore::OriginQuotaManager::addDatabase):
24134 (WebCore::OriginQuotaManager::removeDatabase):
24135 (WebCore::OriginQuotaManager::removeOrigin):
24136 (WebCore::OriginQuotaManager::markDatabase):
24137 (WebCore::OriginQuotaManager::diskUsage):
24138 * storage/OriginQuotaManager.h:
24139 Changed to assert that a lock is taken more directly and reliably. Removed comments about
24140 main/background threads, as this is likely to stop being true with synchronous Database calls
24141 being made on worker threads.
24142
24143 * storage/OriginUsageRecord.cpp:
24144 (WebCore::OriginUsageRecord::OriginUsageRecord):
24145 (WebCore::OriginUsageRecord::addDatabase):
24146 (WebCore::OriginUsageRecord::removeDatabase):
24147 (WebCore::OriginUsageRecord::markDatabase):
24148 (WebCore::OriginUsageRecord::diskUsage):
24149 * storage/OriginUsageRecord.h:
24150 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
24151 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
24152 can be replaced with a single boolean for OriginUsageRecord.
24153 Added assertions for string parameters being unshared.
24154
24155
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000241562008-09-01 Adam Barth <abarth@webkit.org>
24157
24158 Reviewed by Sam Weinig.
24159
24160 https://bugs.webkit.org/show_bug.cgi?id=19760
24161
24162 Make granting LoadLocalResources conditional on a policy.
24163
24164 * WebCore.base.exp:
24165 * dom/Document.cpp:
24166 (WebCore::Document::initSecurityContext):
24167 * loader/FrameLoader.cpp:
24168 (WebCore::FrameLoader::setLocalLoadPolicy):
24169 (WebCore::FrameLoader::restrictAccessToLocal):
24170 * loader/FrameLoader.h:
24171 (WebCore::FrameLoader::):
24172 * platform/SecurityOrigin.cpp:
24173 (WebCore::SecurityOrigin::grantLoadLocalResources):
24174 * platform/SecurityOrigin.h:
24175
dino@apple.com6e2db502008-09-01 23:05:28 +0000241762008-09-01 Dean Jackson <dino@apple.com>
24177
dino@apple.com59ca9f52008-09-01 23:34:13 +000024178 Reviewed by Sam Weinig.
24179
24180 https://bugs.webkit.org/show_bug.cgi?id=20571
24181 Make sure Window object can assign Animation/Transition event
24182 listeners via attributes.
24183
24184 Also added a bunch of transition event tests, although
24185 only transition-end-event-window is directly relevant to this patch.
24186
24187 (WebCore::JSDOMWindowBase::put):
24188
24189 Tests: transitions/transition-end-event-all-properties.html
24190 transitions/transition-end-event-attributes.html
24191 transitions/transition-end-event-container.html
24192 transitions/transition-end-event-left.html
24193 transitions/transition-end-event-multiple-01.html
24194 transitions/transition-end-event-multiple-02.html
24195 transitions/transition-end-event-multiple-03.html
24196 transitions/transition-end-event-multiple-04.html
24197 transitions/transition-end-event-nested.html
24198 transitions/transition-end-event-transform.html
24199 transitions/transition-end-event-window.html
24200
242012008-09-01 Dean Jackson <dino@apple.com>
24202
dino@apple.com6e2db502008-09-01 23:05:28 +000024203 Reviewed by Sam Weinig
24204
24205 Code styling cleanup.
24206
24207 * bindings/js/JSDOMWindowBase.cpp:
24208 (WebCore::JSDOMWindowBase::getValueProperty):
24209 (WebCore::JSDOMWindowBase::put):
24210
weinig@apple.com3412bb42008-09-01 21:22:54 +0000242112008-09-01 Geoffrey Garen <ggaren@apple.com>
24212
24213 Reviewed by Darin Adler.
24214
24215 First cut at inline caching for access to vanilla JavaScript properties.
24216
24217 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
24218 to WebCore classes, and PutPropertySlot& arguments to put functions.
24219
24220 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
24221 inline caching for global properties, so global assignment can be optimized.
24222
24223 * ForwardingHeaders/kjs/StructureID.h: Added.
24224 * bindings/js/JSDOMBinding.h:
24225 (WebCore::DOMObject::DOMObject):
24226 * bindings/js/JSDOMWindowBase.cpp:
24227 (WebCore::JSDOMWindowBase::put):
24228 * bindings/js/JSDOMWindowBase.h:
24229 * bindings/js/JSDOMWindowCustom.h:
24230 (WebCore::JSDOMWindow::customPut):
24231 * bindings/js/JSDOMWindowShell.cpp:
24232 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
24233 (WebCore::JSDOMWindowShell::put):
24234 * bindings/js/JSDOMWindowShell.h:
24235 * bindings/js/JSEventTargetBase.h:
24236 (WebCore::JSEventTargetBase::put):
24237 * bindings/js/JSEventTargetNode.h:
24238 (WebCore::JSEventTargetNode::put):
24239 * bindings/js/JSHTMLAppletElementCustom.cpp:
24240 (WebCore::JSHTMLAppletElement::customPut):
24241 * bindings/js/JSHTMLEmbedElementCustom.cpp:
24242 (WebCore::JSHTMLEmbedElement::customPut):
24243 * bindings/js/JSHTMLInputElementBase.cpp:
24244 (WebCore::JSHTMLInputElementBase::put):
24245 * bindings/js/JSHTMLInputElementBase.h:
24246 * bindings/js/JSHTMLObjectElementCustom.cpp:
24247 (WebCore::JSHTMLObjectElement::customPut):
24248 * bindings/js/JSHistoryCustom.cpp:
24249 (WebCore::JSHistory::customPut):
24250 * bindings/js/JSInspectedObjectWrapper.cpp:
24251 (WebCore::JSInspectedObjectWrapper::wrap):
24252 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
24253 * bindings/js/JSInspectedObjectWrapper.h:
24254 * bindings/js/JSInspectorCallbackWrapper.cpp:
24255 (WebCore::JSInspectorCallbackWrapper::wrap):
24256 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
24257 * bindings/js/JSInspectorCallbackWrapper.h:
24258 * bindings/js/JSLocationCustom.cpp:
24259 (WebCore::JSLocation::customPut):
24260 * bindings/js/JSPluginElementFunctions.cpp:
24261 (WebCore::runtimeObjectCustomPut):
24262 * bindings/js/JSPluginElementFunctions.h:
24263 * bindings/js/JSQuarantinedObjectWrapper.cpp:
24264 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
24265 (WebCore::JSQuarantinedObjectWrapper::put):
24266 * bindings/js/JSQuarantinedObjectWrapper.h:
24267 * bindings/js/JSStorageCustom.cpp:
24268 (WebCore::JSStorage::customPut):
24269 * bindings/objc/WebScriptObject.mm:
24270 (-[WebScriptObject setValue:forKey:]):
24271 * bindings/scripts/CodeGeneratorJS.pm:
24272 * bridge/NP_jsobject.cpp:
24273 (_NPN_SetProperty):
24274 * bridge/jni/jni_jsobject.mm:
24275 (JavaJSObject::setMember):
24276 * bridge/objc/objc_class.mm:
24277 (KJS::Bindings::ObjcClass::fallbackObject):
24278 * bridge/objc/objc_runtime.h:
24279 * bridge/objc/objc_runtime.mm:
24280 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
24281 (ObjcFallbackObjectImp::put):
24282 * bridge/runtime.cpp:
24283 (KJS::Bindings::Instance::createRuntimeObject):
24284 * bridge/runtime_array.cpp:
24285 (RuntimeArray::put):
24286 * bridge/runtime_array.h:
24287 * bridge/runtime_object.cpp:
24288 (RuntimeObjectImp::RuntimeObjectImp):
24289 (RuntimeObjectImp::put):
24290 * bridge/runtime_object.h:
24291
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000242922008-09-01 Dirk Schulze <vbs85@gmx.de>
24293
24294 Reviewed by Eric Seidel.
24295
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000024296 Fixed border-radius for Cairo.
24297
24298 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24299 (WebCore::GraphicsContext::strokeArc):
24300
243012008-09-01 Dirk Schulze <vbs85@gmx.de>
24302
24303 Reviewed by Eric Seidel.
24304
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000024305 Added canvas's globalAlpha to cairo.
24306
24307 * platform/graphics/GraphicsContext.h:
24308 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24309 (WebCore::GraphicsContext::fillPath):
24310 (WebCore::GraphicsContext::strokePath):
24311 (WebCore::GraphicsContext::setAlpha):
24312 (WebCore::GraphicsContext::getAlpha):
24313 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
24314 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
24315 * platform/graphics/cairo/ImageCairo.cpp:
24316 (WebCore::BitmapImage::draw):
24317
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000243182008-08-31 Simon Hausmann <hausmann@webkit.org>
24319
24320 Unreviewed Qt build fix.
24321
24322 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
24323 the .h file
24324
darin@apple.come7945852008-08-31 06:58:07 +0000243252008-08-30 Darin Adler <darin@apple.com>
24326
24327 Reviewed by Maciej.
24328
24329 - adopt some new JavaScriptCore functions where appropriate
24330
24331 * bindings/js/JSDOMWindowBase.cpp:
24332 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
24333 (WebCore::windowProtoFuncBToA): Ditto.
24334 * bindings/js/JSEventListener.cpp:
24335 (WebCore::JSLazyEventListener::eventParameterName): Adopted
24336 jsNontrivialString.
24337 * bindings/js/JSSVGLazyEventListener.cpp:
24338 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
24339
beidson@apple.com21c821f2008-08-30 00:26:01 +0000243402008-08-29 Brady Eidson <beidson@apple.com>
24341
beidson@apple.come1bd6032008-08-30 00:30:11 +000024342 Reviewed by Anders' rubberstamp
24343
24344 Style cleanup to match MediaTokenizer::writeRawData()
24345
24346 * loader/PluginDocument.cpp:
24347 (WebCore::PluginTokenizer::writeRawData):
24348
243492008-08-29 Brady Eidson <beidson@apple.com>
24350
beidson@apple.com21c821f2008-08-30 00:26:01 +000024351 Reviewed by Anders
24352
mitz@apple.com098b1e62008-09-24 16:39:55 +000024353 https://bugs.webkit.org/show_bug.cgi?id=20556
24354 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
24355
beidson@apple.com21c821f2008-08-30 00:26:01 +000024356 Fix regression I introducted in 35946
24357 Already covered by media/video-click-dlbclick-standalone.html
24358
24359 * loader/MediaDocument.cpp:
24360 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
24361 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
24362 an ASSERT signifying that this method should only be called once, to more closely follow the
24363 PluginDocument case.
24364
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000243652008-08-29 Beth Dakin <bdakin@apple.com>
24366
24367 Reviewed by Sam Weinig.
24368
24369 Fix for <rdar://problem/6181588>
24370
24371 This patch makes hit testing take into account the new concept of a
24372 disconnected frame, in which some of the content may not be
24373 visible. The current hit testing mechanism starts at a target frame
24374 and drills down for a HitTestResult. In some cases, drilling down
24375 will find a non-visible result. When this happens, we need to try
24376 again, starting at a higher level -- namely, starting at the main
24377 frame.
24378
24379 * editing/Editor.cpp:
24380 (WebCore::Editor::insideVisibleArea): New function that tests if a
24381 point is inside the visible area for a disconnected frame.
24382 * editing/Editor.h:
24383 * page/EventHandler.cpp:
24384 (WebCore::EventHandler::hitTestResultAtPoint):
24385
adele@apple.comfb903062008-08-29 22:30:18 +0000243862008-08-29 Adele Peterson <adele@apple.com>
24387
24388 Reviewed by Adam Roben.
24389
24390 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
24391
24392 * GNUmakefile.am:
24393 * WebCore.pro:
24394 * WebCore.vcproj/WebCore.vcproj:
24395 * WebCore.xcodeproj/project.pbxproj:
24396 * WebCoreSources.bkl:
24397 * html/HTMLTextFieldInnerElement.cpp: Removed.
24398 * html/HTMLTextFieldInnerElement.h: Removed.
24399 * rendering/RenderTextControl.cpp:
24400 (WebCore::RenderTextControl::createSubtreeIfNeeded):
24401 * rendering/RenderTextControl.h:
24402 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
24403 (WebCore::TextControlInnerElement::TextControlInnerElement):
24404 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
24405 (WebCore::TextControlInnerTextElement::defaultEventHandler):
24406 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
24407 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
24408 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
24409 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
24410 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
24411
eric@webkit.org298c65b2008-08-29 21:39:32 +0000244122008-08-29 Eric Seidel <eric@webkit.org>
24413
eric@webkit.org77837ce2008-08-29 21:40:07 +000024414 Rubber-stamped by aroben.
24415
24416 Add GraphicsContext.h include to GraphcisContextPrivate.h
24417
24418 GraphicsContextPrivate uses StrokeStyle which is defined
24419 in GraphicsContext.h but it doesn't include that header.
24420 CoreGraphics build doesn't fail here due to the order
24421 it happens to include files.
24422
24423 * platform/graphics/GraphicsContextPrivate.h:
24424
244252008-08-29 Eric Seidel <eric@webkit.org>
24426
eric@webkit.org298c65b2008-08-29 21:39:32 +000024427 Reviewed by hyatt.
24428
24429 Fix GeneratedImage to respect Image's refcounting
24430 Fixing potential crashers (future if not current)
24431 https://bugs.webkit.org/show_bug.cgi?id=20567
24432
24433 I don't know if it's possible to make the current code
24434 crash, thus I've not made a test.
24435
24436 * css/CSSGradientValue.cpp:
24437 (WebCore::CSSGradientValue::image):
24438 * css/CSSImageGeneratorValue.cpp:
24439 (WebCore::CSSImageGeneratorValue::removeClient):
24440 (WebCore::CSSImageGeneratorValue::getImage):
24441 * css/CSSImageGeneratorValue.h:
24442 * platform/graphics/GeneratedImage.h:
24443 (WebCore::GeneratedImage::GeneratedImage):
24444 * rendering/style/RenderStyle.cpp:
24445 (WebCore::RenderStyle::setContent):
24446 * rendering/style/RenderStyle.h:
24447
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000244482008-08-29 Eric Carlson <eric.carlson@apple.com>
24449
24450 Reviewed by Adele.
24451
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000024452 Fix for <rdar://problem/6093767>
24453 https://bugs.webkit.org/show_bug.cgi?id=20526
24454
24455 Don't allow video to render until unsupported track types have been disabled.
24456
24457 * platform/graphics/win/QTMovieWin.cpp:
24458 (QTMovieWinPrivate::task):
24459 (QTMovieWinPrivate::drawingComplete):
24460 (QTMovieWinPrivate::clearGWorld):
24461
244622008-08-29 Eric Carlson <eric.carlson@apple.com>
24463
24464 Reviewed by Adele.
24465
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000024466 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
24467 <rdar://problem/6169301>
24468
24469 Return the size of the movie data instead of 1000.
24470
24471 Test: media/progress-event-total.html
24472
24473 * platform/graphics/win/QTMovieWin.cpp:
24474 (QTMovieWin::dataSize):
24475
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000244762008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
24477
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000024478 Reviewed by Eric Seidel.
24479
24480 [janitor/qt] Start replacing port specific getters with the generic native getter
24481 To get the native presentation of an image we currently have platform
24482 specific #ifdef's and a generic getter using NativeImagePtr. This patch
24483 extends this to the ImageBuffer and updates the Qt platform to get rid
24484 of the special #ifdefs.
24485
24486 https://bugs.webkit.org/attachment.cgi?id=22861
24487
24488 * platform/graphics/BitmapImage.h:
24489 * platform/graphics/Image.h:
24490 * platform/graphics/qt/ImageQt.cpp:
24491 * platform/graphics/qt/StillImageQt.cpp:
24492 * platform/graphics/qt/StillImageQt.h:
24493 * platform/qt/ClipboardQt.cpp:
24494 (WebCore::ClipboardQt::createDragImage):
24495 (WebCore::ClipboardQt::declareAndWriteDragImage):
24496 * platform/qt/CursorQt.cpp:
24497 * platform/qt/PasteboardQt.cpp:
24498 (WebCore::Pasteboard::writeImage):
24499
245002008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
24501
hausmann@webkit.org0367b582008-08-29 15:56:02 +000024502 Reviewed by Simon.
24503
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000024504 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
24505
24506 * svg/graphics/qt/SVGPaintServerQt.cpp:
24507 (WebCore::SVGPaintServer::renderPath):
24508 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
24509 (WebCore::SVGPaintServerSolid::setup):
24510
245112008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
24512
24513 Reviewed by Simon.
24514
hausmann@webkit.org0367b582008-08-29 15:56:02 +000024515 [network/qt] Implement defering of loading ResourceHandle's
24516 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
24517 implementation is simply not forwarding anything to the
24518 ResourceHandleClient until we are allowed to. This might lead to a deadlock
24519 in Qt as we do not empty the QNetworkReply input buffer and wait until we
24520 are allowed to read. If that happens we are forced to buffer the data
24521 within QNetworkReplyHandler, for now this is not done.
24522
24523 Manual test:
24524 - Open http://acid3.acidtests.org
24525 - Wait for the test to complete
24526 - Click on the Reference Rendering link
24527 - Be fast and see the results of acid3
24528 => assert
24529
24530 * platform/network/qt/QNetworkReplyHandler.cpp:
24531 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
24532 (WebCore::QNetworkReplyHandler::setLoadMode):
24533 (WebCore::QNetworkReplyHandler::finish):
24534 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
24535 (WebCore::QNetworkReplyHandler::forwardData):
24536 (WebCore::QNetworkReplyHandler::start):
24537 (WebCore::QNetworkReplyHandler::resetState):
24538 (WebCore::QNetworkReplyHandler::sendQueuedItems):
24539 * platform/network/qt/QNetworkReplyHandler.h:
24540 (WebCore::QNetworkReplyHandler::):
24541 * platform/network/qt/ResourceHandleQt.cpp:
24542 (WebCore::ResourceHandle::start):
24543 (WebCore::ResourceHandle::loadResourceSynchronously):
24544 (WebCore::ResourceHandle::setDefersLoading):
24545
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000245462008-08-29 Simon Hausmann <hausmann@webkit.org>
24547
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000024548 Reviewed by Holger.
24549
24550 Don't crash when drawing patterns with the HTML canvas. Patterns
24551 remain unimplemented but at least they don't crash anymore. This is
24552 done by changing the PlatformPatternPtr to be a brush for the Qt
24553 platform.
24554
24555 * platform/graphics/Pattern.h:
24556 * platform/graphics/qt/GraphicsContextQt.cpp:
24557 (WebCore::GraphicsContext::fillPath):
24558 (WebCore::GraphicsContext::strokePath):
24559 (WebCore::GraphicsContext::fillRect):
24560 * platform/graphics/qt/PatternQt.cpp:
24561 (WebCore::Pattern::createPlatformPattern):
24562
245632008-08-29 Simon Hausmann <hausmann@webkit.org>
24564
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000024565 Fix the Qt build, fontSelector() is not used by the Qt port yet
24566 and we just return 0 in Font::fontSelector().
24567
24568 * platform/graphics/Font.h:
24569
alp@webkit.org97d8c102008-08-29 05:09:39 +0000245702008-08-28 Alp Toker <alp@nuanti.com>
24571
24572 GTK+ dist/build fix. List newly added header files.
24573
24574 * GNUmakefile.am:
24575
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000245762008-08-28 Simon Fraser <simon.fraser@apple.com>
24577
24578 Reviewed by Dave Hyatt
24579
24580 Various WebKitCSSTransformValue-related fixes
24581 https://bugs.webkit.org/show_bug.cgi?id=20562
24582
24583 Test: css3/transform-value-types.html
24584
24585 * bindings/js/JSCSSValueCustom.cpp:
24586 (WebCore::toJS):
24587 * css/CSSValue.h:
24588 * css/WebKitCSSTransformValue.cpp:
24589 (WebCore::WebKitCSSTransformValue::cssText):
24590 * css/WebKitCSSTransformValue.h:
24591 (WebCore::WebKitCSSTransformValue::):
24592 * css/WebKitCSSTransformValue.idl:
24593
mitz@apple.comd7222352008-08-28 22:53:31 +0000245942008-08-28 Dan Bernstein <mitz@apple.com>
24595
24596 Reviewed by Steve Falkenburg.
24597
24598 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
24599
24600 * platform/win/SharedTimerWin.cpp:
24601 (WebCore::TimerWindowWndProc):
24602
hyatt@apple.com7d335232008-08-28 21:38:45 +0000246032008-08-28 David Hyatt <hyatt@apple.com>
24604
24605 RenderStyle cleanup.
24606
24607 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
24608
24609 Reviewed by Adam
24610
24611 * css/CSSImageGeneratorValue.cpp:
24612 * css/CSSImageValue.cpp:
24613 * css/CSSStyleSelector.cpp:
24614 * rendering/RenderImageGeneratedContent.cpp:
24615 * rendering/style/NinePieceImage.cpp: Added.
24616 * rendering/style/NinePieceImage.h: Added.
24617 * rendering/style/RenderStyle.cpp:
24618 (WebCore::FillLayer::operator==):
24619 (WebCore::FillLayer::containsImage):
24620 (WebCore::StyleInheritedData::operator==):
24621 (WebCore::RenderStyle::contentDataEquivalent):
24622 * rendering/style/RenderStyle.h:
24623 * rendering/style/StyleCachedImage.cpp: Added.
24624 * rendering/style/StyleCachedImage.h: Added.
24625 * rendering/style/StyleGeneratedImage.cpp: Added.
24626 * rendering/style/StyleGeneratedImage.h: Added.
24627 * rendering/style/StyleImage.h: Added.
24628
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000246292008-08-28 Simon Fraser <simon.fraser@apple.com>
24630
24631 Reviewed by Dave Hyatt
24632
24633 Make all the 'isFoo()' methods on CSSValue const,
24634 and fix the subclasses.
24635
24636 https://bugs.webkit.org/show_bug.cgi?id=20561
24637
24638 * css/CSSTimingFunctionValue.h:
24639 * css/CSSValue.h:
24640 (WebCore::CSSValue::isFontValue):
24641 (WebCore::CSSValue::isImageGeneratorValue):
24642 (WebCore::CSSValue::isImageValue):
24643 (WebCore::CSSValue::isImplicitInitialValue):
24644 * css/CSSValueList.h:
24645 * css/FontValue.h:
24646
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000246472008-08-28 David Hyatt <hyatt@apple.com>
24648
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000024649 The great RenderStyle cleanup begins!
24650
24651 Move LengthBox and LengthSize out of RenderStyle and into Length.
24652
24653 Reviewed by Adam
24654
24655 * rendering/Length.h:
24656 (WebCore::):
24657 (WebCore::Length::Length):
24658 (WebCore::Length::operator==):
24659 (WebCore::Length::operator!=):
24660 (WebCore::Length::value):
24661 (WebCore::Length::rawValue):
24662 (WebCore::Length::percent):
24663 (WebCore::Length::type):
24664 (WebCore::Length::quirk):
24665 (WebCore::Length::setValue):
24666 (WebCore::Length::setRawValue):
24667 (WebCore::Length::calcValue):
24668 (WebCore::Length::calcMinValue):
24669 (WebCore::Length::calcFloatValue):
24670 (WebCore::Length::isUndefined):
24671 (WebCore::Length::isZero):
24672 (WebCore::Length::isPositive):
24673 (WebCore::Length::isNegative):
24674 (WebCore::Length::isAuto):
24675 (WebCore::Length::isRelative):
24676 (WebCore::Length::isPercent):
24677 (WebCore::Length::isFixed):
24678 (WebCore::Length::isStatic):
24679 (WebCore::Length::isIntrinsicOrAuto):
24680 (WebCore::Length::blend):
24681 (WebCore::LengthBox::LengthBox):
24682 (WebCore::LengthBox::operator=):
24683 (WebCore::LengthBox::operator==):
24684 (WebCore::LengthBox::operator!=):
24685 (WebCore::LengthBox::nonZero):
24686 (WebCore::LengthSize::LengthSize):
24687 * rendering/style/RenderStyle.h:
24688
246892008-08-28 David Hyatt <hyatt@apple.com>
24690
hyatt@apple.com550a95c2008-08-28 19:53:56 +000024691 Reviewed by Darin
24692
24693 https://bugs.webkit.org/show_bug.cgi?id=18091
24694
24695 font-size should be animatable using -webkit-transition.
24696
24697 * page/AnimationController.cpp:
24698 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
24699 * rendering/style/RenderStyle.h:
24700 (WebCore::RenderStyle::setFontSize):
24701
mitz@apple.com30923ad2008-08-28 17:45:47 +0000247022008-08-28 Brad Garcia <bgarcia@google.com>
24703
24704 Reviewed by Dan Bernstein.
24705
24706 https://bugs.webkit.org/show_bug.cgi?id=20549
24707 Correctly determine when cursor is over a resizable border within
24708 a nested frameset.
24709
24710 * rendering/RenderFrameSet.cpp:
24711 (WebCore::RenderFrameSet::canResizeRow):
24712 (WebCore::RenderFrameSet::canResizeColumn):
24713
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000247142008-08-28 Simon Fraser <simon.fraser@apple.com>
24715
24716 Reviewed by Eric Seidel
24717
24718 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
24719 https://bugs.webkit.org/show_bug.cgi?id=20552
24720
24721 Test: animations/animation-css-rule-types.html
24722
24723 * css/CSSRule.idl:
24724
andersca@apple.com12399c32008-08-28 17:26:46 +0000247252008-08-28 Anders Carlsson <andersca@apple.com>
24726
24727 Reviewed by Kevin and Darin.
24728
24729 <rdar://problem/6182541>
24730 https://bugs.webkit.org/show_bug.cgi?id=20202
24731 Missing http status line from the http headers.
24732
24733 Add a status line to the header string.
24734
24735 * plugins/PluginStream.cpp:
24736 (WebCore::PluginStream::startStream):
24737
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000247382008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
24739
24740 Rubber-stamped by Darin Adler.
24741
24742 https://bugs.webkit.org/show_bug.cgi?id=17261
24743
24744 Make it possible to theme the default Url icon and enable this for
24745 the Qt port. To have a minimal usage of #ifdef in the code the setting
24746 of the icon was moved to a new method which comes in two flavors.
24747
24748 * loader/icon/IconDatabase.cpp:
24749 (WebCore::loadDefaultIconRecord): Load or set the default icon
24750 (WebCore::IconDatabase::defaultIcon):
24751
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000247522008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
24753
24754 Unreviewed compile fix
24755
24756 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
24757
aroben@apple.comfacf5032008-08-28 13:34:01 +0000247582008-08-28 Adam Roben <aroben@apple.com>
24759
24760 Windows (and others?) build fix
24761
24762 * page/Chrome.cpp: Added a missing #include.
24763 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
24764
eric@webkit.org22794fd2008-08-28 12:04:40 +0000247652008-08-27 Eric Seidel <eric@webkit.org>
24766
24767 Reviewed by Oliver Hunt.
24768
eric@webkit.org5f874e92008-08-28 12:04:55 +000024769 Qt and Cairo support from krit (and blind stab @ wx compile support)
24770 https://bugs.webkit.org/show_bug.cgi?id=20373
24771
24772 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24773 (WebCore::GraphicsContext::fillPath):
24774 (WebCore::GraphicsContext::strokePath):
24775 (WebCore::GraphicsContext::drawPath):
24776 (WebCore::GraphicsContext::fillRect):
24777 (WebCore::GraphicsContext::setPlatformFillColor):
24778 (WebCore::GraphicsContext::setPlatformStrokeColor):
24779 (WebCore::GraphicsContext::setPlatformStrokeStyle):
24780 (WebCore::GraphicsContext::strokeRect):
24781 (WebCore::GraphicsContext::setImageInterpolationQuality):
24782 (WebCore::GraphicsContext::imageInterpolationQuality):
24783 (WebCore::GraphicsContext::setPlatformFillPattern):
24784 (WebCore::GraphicsContext::setPlatformStrokePattern):
24785 (WebCore::GraphicsContext::setPlatformFillGradient):
24786 (WebCore::GraphicsContext::setPlatformStrokeGradient):
24787 * platform/graphics/qt/GraphicsContextQt.cpp:
24788 (WebCore::GraphicsContext::fillPath):
24789 (WebCore::GraphicsContext::strokePath):
24790 (WebCore::GraphicsContext::fillRect):
24791 (WebCore::GraphicsContext::strokeRect):
24792 (WebCore::GraphicsContext::clipToImageBuffer):
24793 (WebCore::GraphicsContext::setPlatformFillPattern):
24794 (WebCore::GraphicsContext::setPlatformStrokePattern):
24795 (WebCore::GraphicsContext::setPlatformFillGradient):
24796 (WebCore::GraphicsContext::setPlatformStrokeGradient):
24797 (WebCore::GraphicsContext::setImageInterpolationQuality):
24798 (WebCore::GraphicsContext::imageInterpolationQuality):
24799 * platform/graphics/wx/GraphicsContextWx.cpp:
24800 (WebCore::GraphicsContext::clipToImageBuffer):
24801 (WebCore::GraphicsContext::setImageInterpolationQuality):
24802 (WebCore::GraphicsContext::imageInterpolationQuality):
24803 (WebCore::GraphicsContext::fillPath):
24804 (WebCore::GraphicsContext::strokePath):
24805 (WebCore::GraphicsContext::drawPath):
24806 (WebCore::GraphicsContext::fillRect):
24807 (WebCore::GraphicsContext::setPlatformFillPattern):
24808 (WebCore::GraphicsContext::setPlatformStrokePattern):
24809 (WebCore::GraphicsContext::setPlatformFillGradient):
24810
248112008-08-27 Eric Seidel <eric@webkit.org>
24812
24813 Reviewed by Oliver Hunt.
24814
eric@webkit.org22794fd2008-08-28 12:04:40 +000024815 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
24816 https://bugs.webkit.org/show_bug.cgi?id=20373
24817
24818 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
24819
24820 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
24821 have to store large Gradient objects in the GraphicsContextState
24822
24823 Made Pattern RefCounted for the same reason.
24824
24825 Many updates to GraphicsContext to support easier drawing with
24826 Patterns and Gradients.
24827
24828 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
24829 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
24830 (WebCore::toJS):
24831 * css/CSSGradientValue.cpp:
24832 (WebCore::CSSGradientValue::createGradient):
24833 * css/CSSGradientValue.h:
24834 * html/CanvasGradient.cpp:
24835 (WebCore::CanvasGradient::CanvasGradient):
24836 * html/CanvasGradient.h:
24837 (WebCore::CanvasGradient::gradient):
24838 (WebCore::CanvasGradient::addColorStop):
24839 (WebCore::CanvasGradient::getColor):
24840 * html/CanvasPattern.cpp:
24841 * html/CanvasPattern.h:
24842 (WebCore::CanvasPattern::pattern):
24843 (WebCore::CanvasPattern::originClean):
24844 * html/CanvasRenderingContext2D.cpp:
24845 (WebCore::CanvasRenderingContext2D::State::State):
24846 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
24847 (WebCore::CanvasRenderingContext2D::setFillStyle):
24848 (WebCore::CanvasRenderingContext2D::fill):
24849 (WebCore::CanvasRenderingContext2D::stroke):
24850 (WebCore::CanvasRenderingContext2D::fillRect):
24851 (WebCore::CanvasRenderingContext2D::strokeRect):
24852 * html/CanvasRenderingContext2D.h:
24853 * html/CanvasStyle.cpp:
24854 (WebCore::CanvasStyle::applyStrokeColor):
24855 (WebCore::CanvasStyle::applyFillColor):
24856 * html/CanvasStyle.h:
24857 * platform/graphics/GeneratedImage.h:
24858 (WebCore::GeneratedImage::GeneratedImage):
24859 * platform/graphics/Generator.h:
24860 * platform/graphics/Gradient.h:
24861 (WebCore::Gradient::create):
24862 * platform/graphics/GraphicsContext.cpp:
24863 (WebCore::GraphicsContext::fillRule):
24864 (WebCore::GraphicsContext::setFillRule):
24865 (WebCore::GraphicsContext::setStrokePattern):
24866 (WebCore::GraphicsContext::setFillPattern):
24867 (WebCore::GraphicsContext::setStrokeGradient):
24868 (WebCore::GraphicsContext::setFillGradient):
24869 * platform/graphics/GraphicsContext.h:
24870 * platform/graphics/GraphicsContextPrivate.h:
24871 (WebCore::):
24872 (WebCore::GraphicsContextState::GraphicsContextState):
24873 * platform/graphics/GraphicsTypes.h:
24874 * platform/graphics/Path.h:
24875 * platform/graphics/Pattern.h:
24876 (WebCore::Pattern::create):
24877 (WebCore::Pattern::tileImage):
24878 * platform/graphics/cg/GraphicsContextCG.cpp:
24879 (WebCore::GraphicsContext::drawRect):
24880 (WebCore::GraphicsContext::drawEllipse):
24881 (WebCore::GraphicsContext::drawConvexPolygon):
24882 (WebCore::calculateDrawingMode):
24883 (WebCore::GraphicsContext::drawPath):
24884 (WebCore::fillPathWithFillRule):
24885 (WebCore::GraphicsContext::fillPath):
24886 (WebCore::GraphicsContext::strokePath):
24887 (WebCore::GraphicsContext::fillRect):
24888 (WebCore::GraphicsContext::fillRoundedRect):
24889 (WebCore::GraphicsContext::setPlatformStrokePattern):
24890 (WebCore::GraphicsContext::setPlatformFillPattern):
24891 (WebCore::GraphicsContext::setPlatformStrokeGradient):
24892 (WebCore::GraphicsContext::setPlatformFillGradient):
24893
eric@webkit.org70b099f2008-08-28 11:42:26 +0000248942008-08-20 Eric Seidel <eric@webkit.org>
24895
24896 Reviewed by Darin and Alexey.
24897
24898 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
24899 with timeouts paused.
24900 https://bugs.webkit.org/show_bug.cgi?id=20469
24901
24902 I attempted to clean up the memory management of PausedTimeouts, I'm not
24903 sure the solution I came up with is "cleaner", but it's in some ways
24904 "safer", since it no longer uses raw pointers and manual new/delete.
24905
24906 This also now prevents CachedPage from needlessly creating Window
24907 objects when caching pages which didn't already have one. :)
24908
24909 I also made Chrome.cpp no longer depend on the JavaScript bindings
24910 (aka JSDOMWindowBase.h), since there was no real reason for it to.
24911
24912 * bindings/js/JSDOMWindowBase.cpp:
24913 (WebCore::JSDOMWindowBase::pauseTimeouts):
24914 (WebCore::JSDOMWindowBase::resumeTimeouts):
24915 * bindings/js/JSDOMWindowBase.h:
24916 * bindings/js/ScriptController.cpp:
24917 (WebCore::ScriptController::pauseTimeouts):
24918 (WebCore::ScriptController::resumeTimeouts):
24919 * bindings/js/ScriptController.h:
24920 * history/CachedPage.cpp:
24921 (WebCore::CachedPage::CachedPage):
24922 (WebCore::CachedPage::restore):
24923 * page/Chrome.cpp:
24924 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
24925 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
24926 * page/JavaScriptDebugServer.cpp:
24927 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
24928 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
24929
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000249302008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
24931
24932 Unreviewed compile fix
24933
24934 Add the stub for the Qt port.
24935
24936 * WebCore.pro:
24937 * page/qt/AccessibilityObjectQt.cpp: Added.
24938 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24939
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000249402008-08-27 Alp Toker <alp@nuanti.com>
24941
24942 Reviewed by Eric.
24943
24944 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000024945 [GTK] search popup crash
24946
24947 * platform/gtk/SearchPopupMenuGtk.cpp:
24948 (WebCore::SearchPopupMenu::enabled):
24949 Fix a search popup crasher by disabling the history popup since we
24950 don't support this feature yet in the GTK+ port.
24951
249522008-08-27 Alp Toker <alp@nuanti.com>
24953
24954 Reviewed by Eric.
24955
24956 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000024957 [GTK] curl crashers
24958
24959 * platform/network/curl/ResourceHandleManager.cpp:
24960 (WebCore::ResourceHandleManager::startScheduledJobs):
24961 Remove the resource handle from the pending list before starting the
24962 job, not afterwards. Fixes crashers in the test suite.
24963
24964 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
24965 Test: fast/encoding/char-encoding.html
24966
eric@webkit.org712cb892008-08-28 00:26:15 +0000249672008-08-27 Dirk Schulze <vbs85@gmx.de>
24968
24969 Reviewed by eseidel.
24970
24971 Fix canvas drawImage to support composite operations.
24972 Composite had no effect on canvas elements like these:
24973 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
24974
24975 [CAIRO] Canvas composite don't work on canvas-elements.
24976 https://bugs.webkit.org/show_bug.cgi?id=20548
24977
24978 * html/CanvasRenderingContext2D.cpp:
24979 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
24980
eric@webkit.org75c83a02008-08-28 00:04:59 +0000249812008-08-27 Mario Bensi <mbensi@pleyo.com>
24982
24983 Reviewed by Eric Seidel.
24984
24985 Fix the data content of an image with a base64.
24986
24987 * platform/network/curl/ResourceHandleManager.cpp:
24988 (WebCore::parseDataUrl): Remove the String and use only the data
24989 Vector because the data.latin1().data() convert the data content and
24990 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
24991 not drawn correctly.
24992
antti@apple.comf66a86b2008-08-27 23:59:50 +0000249932008-08-27 Antti Koivisto <antti@apple.com>
24994
24995 Reviewed by Eric Seidel.
24996
24997 Crash after OK in dialog box and reloading page in secure mode
24998 https://bugs.webkit.org/show_bug.cgi?id=20493
24999
25000 The new run loop spawned by a modal dialog causes a timer in the loader to run
25001 synchronously inside didFinishLoading() deleting "this" object.
25002
25003 Defer all WebCore timers when a modal dialog is up. They are not
25004 safe to execute.
25005
25006 * page/Chrome.cpp:
25007 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
25008 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
25009
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000250102008-08-27 Chris Marrin <cmarrin@apple.com>
25011
25012 Reviewed by Dave Hyatt
25013
25014 Memory leaks when animating transforms
25015 https://bugs.webkit.org/show_bug.cgi?id=20532
25016
25017 * rendering/style/RenderStyle.cpp:
25018 (WebCore::ScaleTransformOperation::blend):
25019 (WebCore::RotateTransformOperation::blend):
25020 (WebCore::SkewTransformOperation::blend):
25021 (WebCore::TranslateTransformOperation::blend):
25022 (WebCore::MatrixTransformOperation::blend):
25023 * rendering/style/RenderStyle.h:
25024
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000250252008-08-27 Timothy Hatcher <timothy@apple.com>
25026
25027 Add support for support for -webkit-appearance: default-button on the Mac platform.
25028
25029 <rdar://problem/6173530>
25030
25031 Reviewed by Dave Hyatt.
25032
25033 * WebCore.base.exp: Export new symbols.
25034 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
25035 * platform/mac/WebCoreSystemInterface.mm: Ditto.
25036 * rendering/RenderButton.cpp:
25037 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
25038 (WebCore::RenderButton::setStyle): Ditto.
25039 * rendering/RenderButton.h: Ditto.
25040 * rendering/RenderThemeMac.mm:
25041 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
25042 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
25043 key if the button is default, otherwise reset the key equivalent.
25044 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
25045 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
25046 the window's previous default button cell when finished.
25047
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000250482008-08-26 David Hyatt <hyatt@apple.com>
25049
25050 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
25051
25052 Reviewed by weinig
25053
25054 Added fast/forms/zoomed-controls.html
25055
25056 * css/CSSStyleSelector.cpp:
25057 (WebCore::addIntrinsicMargins):
25058 * rendering/RenderSlider.cpp:
25059 (WebCore::RenderSlider::calcPrefWidths):
25060 * rendering/RenderThemeMac.h:
25061 * rendering/RenderThemeMac.mm:
25062 (WebCore::RenderThemeMac::adjustRepaintRect):
25063 (WebCore::RenderThemeMac::inflateRect):
25064 (WebCore::RenderThemeMac::baselinePosition):
25065 (WebCore::RenderThemeMac::setControlSize):
25066 (WebCore::RenderThemeMac::sizeForFont):
25067 (WebCore::RenderThemeMac::sizeForSystemFont):
25068 (WebCore::RenderThemeMac::setFontFromControlSize):
25069 (WebCore::RenderThemeMac::paintCheckbox):
25070 (WebCore::RenderThemeMac::setCheckboxCellState):
25071 (WebCore::RenderThemeMac::paintRadio):
25072 (WebCore::RenderThemeMac::setRadioCellState):
25073 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
25074 (WebCore::RenderThemeMac::adjustButtonStyle):
25075 (WebCore::RenderThemeMac::setButtonCellState):
25076 (WebCore::RenderThemeMac::paintButton):
25077 (WebCore::RenderThemeMac::paintMenuList):
25078 (WebCore::RenderThemeMac::paintMenuListButton):
25079 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
25080 (WebCore::RenderThemeMac::popupInternalPaddingRight):
25081 (WebCore::RenderThemeMac::popupInternalPaddingTop):
25082 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
25083 (WebCore::RenderThemeMac::setPopupButtonCellState):
25084 (WebCore::RenderThemeMac::paintSliderTrack):
25085 (WebCore::RenderThemeMac::paintSliderThumb):
25086 (WebCore::RenderThemeMac::adjustSliderThumbSize):
25087 (WebCore::RenderThemeMac::paintSearchField):
25088 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
25089 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
25090 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
25091
beidson@apple.comd0793872008-08-27 19:59:55 +0000250922008-08-27 Brady Eidson <beidson@apple.com>
25093
25094 Reviewed by Anders
25095
25096 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
25097
25098 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
25099 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
25100 away the virtual address space and a crash.
25101
25102 * loader/EmptyClients.h:
25103 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
25104 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
25105 "plugin will handle load"
25106
25107 * loader/MediaDocument.cpp:
25108 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
25109 and cancel the WebCore-managed load
25110 (WebCore::MediaTokenizer::writeRawData):
25111 (WebCore::MediaTokenizer::finish):
25112
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000251132008-08-26 Simon Fraser <simon.fraser@apple.com>
25114
25115 Reviewed by Eric Seidel
25116
25117 Linear timing functions should have control points 0, 0, 1, 1.
25118 https://bugs.webkit.org/show_bug.cgi?id=20535
25119
25120 * css/CSSStyleSelector.cpp:
25121 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
25122 * rendering/style/RenderStyle.h:
25123
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000251242008-08-27 Adam Roben <aroben@apple.com>
25125
25126 Windows build fix
25127
25128 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
25129
mrowe@apple.com37686d42008-09-04 00:10:39 +0000251302008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000025131
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000025132 Reviewed by Beth Dakin.
25133
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000025134 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
25135
25136 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
25137 to determine if an attachment is ignored through accessibility. Added equivalent
25138 methods in Gtk, Win and Mac
25139
25140 Test: accessibility/plugin.html
25141
25142 * GNUmakefile.am:
25143 * WebCore.vcproj/WebCore.vcproj:
25144 * WebCore.xcodeproj/project.pbxproj:
25145 * page/AccessibilityObject.h:
25146 * page/AccessibilityRenderObject.cpp:
25147 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
25148 * page/gtk/AccessibilityObjectAtk.cpp: Added.
25149 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
25150 * page/mac/AccessibilityObjectMac.mm: Added.
25151 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
25152 * page/mac/AccessibilityObjectWrapper.h:
25153 * page/win/AccessibilityObjectWin.cpp: Added.
25154 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
25155
mrowe@apple.com37686d42008-09-04 00:10:39 +0000251562008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000025157
25158 Reviewed by Beth Dakin.
25159
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000025160 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
25161
25162 * page/mac/AccessibilityObjectWrapper.mm:
25163 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
25164 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
25165
mrowe@apple.com37686d42008-09-04 00:10:39 +0000251662008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000025167
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000025168 Reviewed by Darin Adler.
25169
25170 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
25171
25172 Tests: accessibility/table-notbody.html
25173
25174 * page/AccessibilityTable.cpp:
25175 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
25176
weinig@apple.com33705852008-08-26 19:51:28 +0000251772008-08-26 Sam Weinig <sam@webkit.org>
25178
weinig@apple.comf6f553a2008-08-26 21:21:26 +000025179 Reviewed by Beth Dakin.
25180
25181 Fix typo.
25182
25183 * dom/DOMCoreException.h:
25184
251852008-08-26 Sam Weinig <sam@webkit.org>
25186
weinig@apple.com0f34f002008-08-26 19:56:54 +000025187 Reviewed by Oliver Hunt.
25188
25189 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
25190 <rdar://problem/6167660>
25191 Take image redirects into account when tainting the canvas.
25192
25193 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
25194
25195 * html/CanvasRenderingContext2D.cpp:
25196 (WebCore::CanvasRenderingContext2D::drawImage):
25197 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
25198
251992008-08-26 Sam Weinig <sam@webkit.org>
25200
weinig@apple.com33705852008-08-26 19:51:28 +000025201 Reviewed by Darin Adler.
25202
25203 Change canvas tainting logic to ask the image if it contains
25204 any resources outside of its own origin. Since there is no
25205 way to determine if SVG images contain any resources outside its
25206 origin, we always assume it does.
25207
25208 * html/CanvasRenderingContext2D.cpp:
25209 (WebCore::CanvasRenderingContext2D::drawImage):
25210 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
25211 * platform/graphics/BitmapImage.h:
25212 (WebCore::BitmapImage::hasSingleSecurityOrigin):
25213 * platform/graphics/GeneratedImage.h:
25214 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
25215 * platform/graphics/Image.h:
25216 (WebCore::Image::hasSingleSecurityOrigin):
25217 * platform/graphics/cg/PDFDocumentImage.h:
25218 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
25219 * svg/graphics/SVGImage.h:
25220
britto@apple.com616ef6d2008-08-26 17:51:03 +0000252212008-08-26 Maxime Britto <britto@apple.com>
25222
25223 Reviewed by Adele.
25224
25225 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
25226 This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
25227 This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
25228
25229 * page/EventHandler.cpp:
25230 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
25231 * page/EventHandler.h:
25232 * rendering/RenderLayer.cpp:
25233 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
25234 (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
25235 * rendering/RenderLayer.h:
25236 * rendering/RenderObject.cpp:
25237 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
25238 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
25239 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
25240
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000252412008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
25242
darin@apple.com07c80c62008-09-05 18:15:43 +000025243 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000025244
25245 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
25246 https://bugs.webkit.org/show_bug.cgi?id=20247
25247
25248 <rdar://problem/6118218>
25249
25250 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
25251 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
25252 (case insensitive for HTML elements).
25253
25254 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
25255
25256 * dom/Element.cpp:
25257 (WebCore::Element::getAttribute):
25258 * dom/NamedAttrMap.cpp:
25259 (WebCore::NamedAttrMap::getNamedItem):
25260 (WebCore::NamedAttrMap::getAttributeItem):
25261 * dom/NamedAttrMap.h:
25262
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000252632008-08-25 Sam Weinig <sam@webkit.org>
25264
weinig@apple.com8d3ea722008-08-26 04:19:07 +000025265 Reviewed by Oliver Hunt.
25266
25267 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
25268 <rdar://problem/6174096>
25269 Treat SVG images as dirty when drawing to a canvas.
25270
25271 Test: http/tests/security/canvas-remote-read-svg-image.html
25272
25273 * html/CanvasRenderingContext2D.cpp:
25274 (WebCore::CanvasRenderingContext2D::drawImage):
25275 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
25276 * platform/graphics/Image.h:
25277 (WebCore::Image::isSVGImage):
25278 * svg/graphics/SVGImage.h:
25279 (WebCore::SVGImage::isSVGImage):
25280
252812008-08-25 Sam Weinig <sam@webkit.org>
25282
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000025283 Reviewed by Mark Rowe.
25284
25285 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
25286 Leak in XMLHttpRequest.
25287
25288 * xml/XMLHttpRequest.cpp:
25289 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
25290
beidson@apple.com46421212008-08-25 21:48:56 +0000252912008-08-25 Brady Eidson <beidson@apple.com>
25292
25293 Reviewed by Anders
25294
25295 Speculative fix for <rdar://problem/6173217>
25296
25297 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
25298 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
25299 the first null check invalid.
25300
25301 * loader/FrameLoader.cpp:
25302 (WebCore::FrameLoader::stopAllLoaders):
25303
25304
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000253052008-08-25 Kevin McCullough <kmccullough@apple.com>
25306
25307 Reviewed by Tim.
25308
25309 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
25310 there is no profile, can cause crash
25311
25312 * page/inspector/ProfilesPanel.js:
25313
dino@apple.com1baeea62008-08-25 21:06:21 +0000253142008-08-25 Dean Jackson <dino@apple.com>
25315
25316 Reviewed by Dave Hyatt
25317
25318 Make sure 'inherit' is handled by transition property.
25319 https://bugs.webkit.org/show_bug.cgi?id=20513
25320
25321 Test: transitions/inherit.html
25322 Test: transitions/inherit-other-props.html
25323
25324 * css/CSSStyleSelector.cpp:
25325 fix macro to check existence of list before getting size
25326
andersca@apple.com2866b8302008-08-25 20:56:21 +0000253272008-08-25 Anders Carlsson <andersca@apple.com>
25328
25329 Reviewed by Mark.
25330
25331 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
25332
25333 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
25334 (safely) that any class that needs finalization on the main thread will also need to be deallocated
25335 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
25336 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
25337
25338 * platform/mac/WebCoreObjCExtras.c:
25339 (WebCoreObjCFinalizeOnMainThread):
25340
antti@apple.com60381cb2008-08-25 20:41:11 +0000253412008-08-25 Antti Koivisto <antti@apple.com>
25342
25343 Reviewed by Dan Bernstein.
25344
25345 Rename CachedResource::referenced() to CachedResource::hasClients() to
25346 match previous ref() -> addClient() rename.
25347
25348 * loader/Cache.cpp:
25349 (WebCore::Cache::pruneLiveResources):
25350 (WebCore::Cache::pruneDeadResources):
25351 (WebCore::Cache::remove):
25352 (WebCore::Cache::getStatistics):
25353 (WebCore::Cache::dumpLRULists):
25354 * loader/CachedResource.cpp:
25355 (WebCore::CachedResource::addClient):
25356 (WebCore::CachedResource::removeClient):
25357 (WebCore::CachedResource::setDecodedSize):
25358 (WebCore::CachedResource::setEncodedSize):
25359 * loader/CachedResource.h:
25360 (WebCore::CachedResource::hasClients):
25361 (WebCore::CachedResource::canDelete):
25362
timothy@apple.com7d809242008-08-25 18:33:05 +0000253632008-08-25 Anthony Ricaud <rik24d@gmail.com>
25364
25365 Add a missing Inspector localized string for "other".
25366
25367 https://bugs.webkit.org/show_bug.cgi?id=20509
25368
25369 Reviewed by Tim Hatcher.
25370
25371 * English.lproj/localizedStrings.js:
25372
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000253732008-08-22 Kevin McCullough <kmccullough@apple.com>
25374
25375 Reviewed by Geoff, Mark and Tim.
25376
25377 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
25378 in the console said what file and line number they came from
25379 - Lay the foundation for getting line numbers and other data from the
25380 JavaScript engine.
25381
25382 * ForwardingHeaders/VM: Added.
25383 * ForwardingHeaders/VM/Machine.h: Added.
25384 * page/Console.cpp: Gather the line number and file information when
25385 profileEnd has been called, but don't use it until didFinishProfiling is
25386 called. We won't need to wait once we remove the profiler "zombie" mode
25387 which this patch helps pave the foundation for.
25388 (WebCore::Console::Console):
25389 (WebCore::Console::profileEnd):
25390 (WebCore::Console::finishedProfiling):
25391 * page/Console.h:
25392 * page/InspectorController.cpp: Modify calls to
25393 addProfileMessageToConsole to satisfy the new arguments it takes.
25394 (WebCore::InspectorController::finishedProfiling):
25395 (WebCore::InspectorController::addProfile):
25396 (WebCore::InspectorController::addProfileMessageToConsole):
25397 (WebCore::InspectorController::finishedProfiling):
25398 * page/InspectorController.h:
25399
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000254002008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
25401
25402 Reviewed by Simon.
25403
25404 [inspector] Update the WebKit.qrc Qt resources file
25405 Catchup with the changes in the directory.
25406
25407 * page/inspector/WebKit.qrc:
25408
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000254092008-08-25 Dirk Schulze <vbs85@gmx.de>
25410
25411 Reviewed by Simon.
25412
25413 Transformed the radian to degree, to get rotate()
25414 in canvas work as expected.
25415
25416 [Qt] Canvas.rotate() doesn't work
25417 https://bugs.webkit.org/show_bug.cgi?id=20496
25418
25419 * platform/graphics/qt/GraphicsContextQt.cpp:
25420 (WebCore::GraphicsContext::rotate):
25421
sfalken@apple.com9d442862008-08-25 05:43:33 +0000254222008-08-24 Steve Falkenburg <sfalken@apple.com>
25423
25424 Add a "last chance" WM_TIMER to the Windows shared timer.
25425
25426 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
25427 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
25428 timers if a timer with an earlier expiration is already pending. This results in no timers
25429 firing from that point on.
25430
25431 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
25432 buggy window message hook.
25433
25434 This timer will start when the first WM_TIMER is scheduled, and will
25435 fire every 5 seconds thereafter, causing any lost timers to be fired.
25436
25437 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
25438 and prevents the WebFrame leak.
25439
25440 Reviewed by Darin Adler, Geoff Garen.
25441
25442 * platform/win/SharedTimerWin.cpp:
25443 (WebCore::):
25444 (WebCore::TimerWindowWndProc):
25445 (WebCore::setSharedTimerFireTime):
25446
mitz@apple.com771fb752008-08-25 03:22:44 +0000254472008-08-24 Dan Bernstein <mitz@apple.com>
25448
25449 Reviewed by Darin Adler.
25450
25451 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
25452
25453 Test: fast/css/font-property-priority.html
25454
25455 * css/CSSParser.cpp:
25456 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
25457 to the font-property-parsing functions.
25458 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
25459 changed to use it rather than the m_important member.
25460 (WebCore::CSSParser::parseFontVariant): Ditto.
25461 (WebCore::CSSParser::parseFontWeight): Ditto.
25462 * css/CSSParser.h:
25463
timothy@apple.com4cea2632008-08-24 22:28:44 +0000254642008-08-24 Timothy Hatcher <timothy@apple.com>
25465
25466 Fixes a bug where the Inspector's UI would not animate or
25467 fully function because JavaScript timeouts, intervals and
25468 CSS animation timers where not firing while paused at a
25469 a breakpoint in the inspected page.
25470
25471 https://bugs.webkit.org/show_bug.cgi?id=20042
25472
25473 Reviewed by Darin Adler.
25474
25475 Test: manual-tests/inspector/forzen-ui-while-paused.html
25476
25477 * page/JavaScriptDebugServer.cpp:
25478 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
25479 Add a call to TimerBase::fireTimersInNestedEventLoop before
25480 spinning the EventLoop.
25481
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000254822008-08-24 Rob Buis <buis@kde.org>
25483
25484 Reviewed by Sam Weinig.
25485
25486 https://bugs.webkit.org/show_bug.cgi?id=20324
25487 A change in SVG Glyph wont show up
25488
25489 Invalidate the glyph cache when the d attribute is set.
25490
25491 Test: svg/custom/glyph-setting-d-attribute.svg
25492
25493 * svg/SVGGlyphElement.cpp:
25494 (WebCore::SVGGlyphElement::invalidateGlyphCache):
25495 (WebCore::SVGGlyphElement::parseMappedAttribute):
25496 (WebCore::SVGGlyphElement::insertedIntoDocument):
25497 (WebCore::SVGGlyphElement::removedFromDocument):
25498 * svg/SVGGlyphElement.h:
25499
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000255002008-08-24 Dan Bernstein <mitz@apple.com>
25501
25502 Reviewed by Sam Weinig.
25503
25504 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
25505 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
25506
25507 * rendering/RenderText.cpp:
25508 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
25509 beginWS and endWS before the early return to ensure that they are
25510 initialized in that case.
25511
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000255122008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
25513
25514 Rubber-stamped by Mark Rowe.
25515
25516 Remove modelines.
25517
25518 * WebCore.pro:
25519 * bridge/testbindings.cpp:
25520 * dom/DocPtr.h:
25521 * loader/SubstituteData.h:
25522 * page/Chrome.cpp:
25523 * page/Chrome.h:
25524 * page/ChromeClient.h:
25525 * page/Frame.h:
25526 * page/FrameLoadRequest.h:
25527 * page/FrameTree.cpp:
25528 * page/FrameTree.h:
25529 * page/Page.h:
25530 * page/mac/ChromeMac.mm:
25531 * platform/network/HTTPHeaderMap.h:
25532 * platform/network/ResourceErrorBase.cpp:
25533 * platform/network/ResourceErrorBase.h:
25534 * platform/network/ResourceHandleInternal.h:
25535 * platform/network/ResourceRequestBase.cpp:
25536 * platform/network/ResourceRequestBase.h:
25537 * platform/network/ResourceResponseBase.cpp:
25538 * platform/network/ResourceResponseBase.h:
25539 * platform/network/cf/ResourceError.h:
25540 * platform/network/cf/ResourceRequest.h:
25541 * platform/network/cf/ResourceRequestCFNet.h:
25542 * platform/network/cf/ResourceResponse.h:
25543 * platform/network/cf/ResourceResponseCFNet.h:
25544 * platform/network/curl/ResourceError.h:
25545 * platform/network/curl/ResourceRequest.h:
25546 * platform/network/curl/ResourceResponse.h:
25547 * platform/network/mac/ResourceError.h:
25548 * platform/network/mac/ResourceErrorMac.mm:
25549 * platform/network/mac/ResourceRequest.h:
25550 * platform/network/mac/ResourceRequestMac.mm:
25551 * platform/network/mac/ResourceResponse.h:
25552 * platform/network/mac/ResourceResponseMac.mm:
25553 * platform/network/qt/ResourceError.h:
25554 * platform/network/qt/ResourceRequest.h:
25555 * platform/network/qt/ResourceResponse.h:
25556 * platform/network/soup/CookieJarSoup.cpp:
25557 * platform/network/soup/ResourceError.h:
25558 * platform/network/soup/ResourceRequest.h:
25559 * platform/network/soup/ResourceResponse.h:
25560
mitz@apple.com57a2f482008-08-23 07:16:41 +0000255612008-08-23 Dan Bernstein <mitz@apple.com>
25562
25563 Reviewed by Dave Hyatt.
25564
25565 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
25566
25567 Test: fast/table/vertical-align-baseline.html
25568
25569 * rendering/RenderTable.cpp:
25570 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
25571 baseline of the first table row, if there is one, -1 otherwise.
25572 * rendering/RenderTable.h:
25573 * rendering/RenderTableCell.cpp:
25574 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
25575 CSS2.1 definition of the baseline of a table cell.
25576 * rendering/RenderTableSection.cpp:
25577 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
25578 the baseline of the first row in the section.
25579 * rendering/RenderTableSection.h:
25580
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000255812008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
25582
25583 Add SPI to make a Windows WebView transparent.
25584
25585 Reviewed by Dan Bernstein.
25586
25587 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
25588 determines whether the created context has an alpha channel.
25589 * platform/graphics/win/GraphicsContextCGWin.cpp:
25590 (WebCore::CGContextWithHDC):
25591
timothy@apple.comb63d1172008-08-22 18:39:42 +0000255922008-08-22 Timothy Hatcher <timothy@apple.com>
25593
timothy@apple.com964022d2008-08-22 20:35:20 +000025594 Rolls out r35834 because it caused a regression in the Inspector's
25595 Console where some expressions always threw a syntax error.
25596
25597 https://bugs.webkit.org/show_bug.cgi?id=20487
25598
25599 * page/inspector/Console.js:
25600 (Console.prototype._evalInInspectedWindow): Removes parenthesis
25601 around the expression.
25602
256032008-08-22 Timothy Hatcher <timothy@apple.com>
25604
timothy@apple.com056d4782008-08-22 18:39:52 +000025605 Makes getStyleProperty return a value for the overflow property
25606 when overflow-x and overflow-y are equal.
25607
25608 https://bugs.webkit.org/show_bug.cgi?id=20485
25609
25610 Reviewed by Dan Bernstein.
25611
25612 Test: fast/css/overflow-property.html
25613
25614 * css/CSSMutableStyleDeclaration.cpp:
25615 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
25616
256172008-08-22 Timothy Hatcher <timothy@apple.com>
25618
timothy@apple.comb63d1172008-08-22 18:39:42 +000025619 Fixes a bug where while editing in the Inspector the
25620 sidebar scroll position would jump to the top.
25621
25622 https://bugs.webkit.org/show_bug.cgi?id=20484
25623
25624 Reviewed by Darin Adler.
25625
25626 * page/inspector/treeoutline.js:
25627 (TreeOutline._removeChildren): Remove the offsetTop call that
25628 was forcing a layout, since layout causes scroll positions
25629 to be clamped to the new scrollHeight/Width. Layout will happen
25630 normally when needed.
25631
kevino@webkit.org8271c842008-08-22 16:25:52 +0000256322008-08-22 Kevin Ollivier <kevino@theolliviers.com>
25633
25634 wx build fix. Add AccessibilityTable sources.
25635
25636 * WebCoreSources.bkl:
25637
mitz@apple.com9befc872008-08-22 06:29:33 +0000256382008-08-21 Dan Bernstein <mitz@apple.com>
25639
25640 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
25641
25642 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
25643
25644 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
25645
25646 * platform/graphics/mac/SimpleFontDataMac.mm:
25647 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
25648 ascent and 100% to its reported descent.
25649
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000256502008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
25651
25652 Reviewed by Darin Adler.
25653
mrowe@apple.com22eaa172008-08-22 02:10:15 +000025654 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000025655 [GTK] Crash on some pages due to a plugin
25656
25657 Fix handling of badly formatted and empty plugin mime descriptions
25658
25659 * plugins/gtk/PluginPackageGtk.cpp:
25660 (WebCore::PluginPackage::fetchInfo):
25661
mrowe@apple.com798b3432008-08-22 02:07:48 +0000256622008-08-21 Kevin Watters <kevinwatters@gmail.com>
25663
25664 Reviewed by Darin Adler.
25665
25666 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
25667 animated GIF frame duration of less than 50ms.
25668
25669 * platform/graphics/wx/ImageSourceWx.cpp:
25670 (WebCore::ImageSource::frameDurationAtIndex):
25671
britto@apple.com8ed72772008-08-22 00:39:39 +0000256722008-08-21 Maxime Britto <britto@apple.com>
25673
25674 Reviewed by Kevin McCullough.
25675
25676 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
25677 https://bugs.webkit.org/show_bug.cgi?id=20451
25678
25679 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
25680 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
25681 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
25682
25683 * page/EventHandler.cpp:
25684 (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
25685
25686 (WebCore::EventHandler::handleMousePressEvent): ditto
25687
timothy@apple.com5d492192008-08-21 23:54:01 +0000256882008-08-21 Anthony Ricaud <rik24d@gmail.com>
25689
25690 Small optimization for when the dividers in the Inspector's
25691 Resources panel are updated.
25692
25693 Reviewed by Tim Hatcher.
25694
25695 * page/inspector/ResourcesPanel.js:
25696 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
25697 Combind a for loop and clone the divider element.
25698
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000256992008-08-21 Chris Marrin <cmarrin@apple.com>
25700
25701 Allow 0 (without units) for Time eg. duration
25702 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
25703
25704 Reviewed by Dave Hyatt.
25705
25706 Test: css1/units/zero-duration-without-units.html
25707
25708 * css/CSSParser.cpp:
25709 (WebCore::CSSParser::validUnit):
25710
timothy@apple.com29c12d02008-08-21 20:12:47 +0000257112008-08-21 Timothy Hatcher <timothy@apple.com>
25712
timothy@apple.comca11cd82008-08-21 20:13:12 +000025713 Make deleting all text while editing a DOM attribute in
25714 the Inspector delete the attribute. This also fixes
25715 an exception that would happen before.
25716
25717 https://bugs.webkit.org/show_bug.cgi?id=20472
25718
25719 Reviewed by Kevin McCullough.
25720
25721 * page/inspector/ElementsPanel.js:
25722 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
25723 Don't check for hasAttributes on the parseElement, continuing
25724 through the function will correctly remove the attribute.
25725 If the parseElement is null, call _editingCancelled not
25726 editingCancelled, this fixes an exception.
25727
257282008-08-21 Timothy Hatcher <timothy@apple.com>
25729
timothy@apple.comde831cf2008-08-21 20:12:59 +000025730 Update the Inspector's Metrics pane when editing in
25731 the Styles pane. This makes sure the metrics shown
25732 always match what the Styles pane shows.
25733
25734 https://bugs.webkit.org/show_bug.cgi?id=20470
25735
25736 Reviewed by Kevin McCullough.
25737
25738 * page/inspector/ElementsPanel.js:
25739 (WebInspector.ElementsPanel): Add event listeners for
25740 the "style edited" and "style property toggled" events,
25741 so the Metrics pane is updated.
25742 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
25743 Update the Metrics pane.
25744 * page/inspector/StylesSidebarPane.js:
25745 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
25746 Dispatch the "style property toggled" event.
25747 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
25748 Dispatch the "style edited" event when the CSS text is restored.
25749 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
25750 Dispatch the "style edited" event.
25751
257522008-08-21 Timothy Hatcher <timothy@apple.com>
25753
timothy@apple.com29c12d02008-08-21 20:12:47 +000025754 Make the Inspector's Metrics sidebar pane editable.
25755
25756 https://bugs.webkit.org/show_bug.cgi?id=17218
25757 rdar://problem/5732818
25758
25759 Reviewed by Kevin McCullough.
25760
25761 * page/inspector/ElementsPanel.js:
25762 (WebInspector.ElementsPanel): Add an event listener for
25763 the "metrics edited" event, so the Styles pane is updated.
25764 * page/inspector/MetricsSidebarPane.js:
25765 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
25766 so future updates work. Add a double click event listener for the
25767 metric values to start editing.
25768 (WebInspector.MetricsSidebarPane.prototype.startEditing):
25769 Call WebInspector.startEditing with some context.
25770 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
25771 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
25772 Set the user input on the elements inline style. Fire the
25773 "metrics edited" event.
25774
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000257752008-08-21 Steve Falkenburg <sfalken@apple.com>
25776
25777 Fix a race condition in Windows timer code.
25778 Timer function could end up being called with a 0 timer, leading to a Windows exception.
25779
25780 Don't post a timer message if one is already pending.
25781
25782 Reviewed by Ada Chan.
25783
25784 * platform/win/SharedTimerWin.cpp:
25785 (WebCore::TimerWindowWndProc):
25786 (WebCore::clearTimer):
25787 (WebCore::queueTimerProc):
25788 (WebCore::setSharedTimerFireTime):
25789
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000257902008-08-21 Anthony Ricaud <rik24d@gmail.com>
25791
timothy@apple.com493212c72008-08-21 16:36:06 +000025792 After trying to add the expression, try again with quotes for
25793 easier edition.
25794
25795 https://bugs.webkit.org/show_bug.cgi?id=20466
25796
25797 Reviewed by Tim Hatcher.
25798
25799 * page/inspector/ObjectPropertiesSection.js: Added an
25800 evaluateExpression function.
25801
258022008-08-21 Anthony Ricaud <rik24d@gmail.com>
25803
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000025804 Perform Inspector searches on search event to clear results when
25805 clicking the cross to empty it. Delete the lastQuery when the field
25806 is emptied in order to perform the search if exactly the same query
25807 is entered next.
25808
25809 https://bugs.webkit.org/show_bug.cgi?id=20462
25810
25811 Reviewed by Tim Hatcher.
25812
25813 * page/inspector/inspector.js:
25814
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000258152008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
25816
25817 Reviewed by Mark Rowe.
25818
25819 http://bugs.webkit.org/show_bug.cgi?id=19656
25820 [SOUP] The gio code should call didFail() instead of
25821 didFinishLoading() in case of error
25822
25823 In case of error call didFail() instead of didReceiveResponse() and
25824 didFinishLoading().
25825
25826 * platform/network/soup/ResourceHandleSoup.cpp:
25827 (WebCore::networkErrorForFile):
25828 (WebCore::readCallback):
25829 (WebCore::openCallback):
25830 (WebCore::queryInfoCallback):
25831
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000258322008-08-20 Mark Rowe <mrowe@apple.com>
25833
mrowe@apple.com4e593f42008-08-21 06:52:42 +000025834 Reviewed by Jon Honeycutt.
25835
25836 Fix build failure.
25837
25838 * bridge/c/c_instance.cpp:
25839 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
25840 as that is what NPEnumerationFunctionPtr is declared as accepting.
25841
258422008-08-20 Mark Rowe <mrowe@apple.com>
25843
mrowe@apple.com72a95b12008-08-21 04:01:51 +000025844 Reviewed by Dan Bernstein.
25845
25846 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
25847
25848 * platform/graphics/GraphicsContext.h:
25849 (WebCore::):
25850 * platform/graphics/cg/GraphicsContextCG.cpp:
25851 (WebCore::GraphicsContext::setImageInterpolationQuality):
25852 (WebCore::GraphicsContext::imageInterpolationQuality):
25853
mitz@apple.comaa938792008-08-21 00:33:29 +0000258542008-08-20 Dan Bernstein <mitz@apple.com>
25855
25856 Rubber-stamped by John Sullivan.
25857
25858 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
25859 rename related methods and variables accordingly.
25860
25861 * WebCore.base.exp:
25862 * page/FrameView.cpp:
25863 (WebCore::FrameViewPrivate::FrameViewPrivate):
25864 (WebCore::FrameView::shouldUpdateWhileOffscreen):
25865 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
25866 * page/FrameView.h:
25867 * platform/ScrollView.h:
25868 * platform/mac/ScrollViewMac.mm:
25869 (WebCore::ScrollView::updateContents):
25870
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000258712008-08-20 Brady Eidson <beidson@apple.com>
25872
25873 Reviewed by Mitzpettel
25874
25875 <rdar://problem/6163636> - Many images broken in Mail
25876
25877 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
25878 sooner than before and confuse the WebArchive machinery.
25879
25880 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
25881 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
25882 machinery and nothing is known about where the data will eventually come from.
25883
25884 * loader/DocumentLoader.cpp:
25885 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
25886 CachedResource::PreloadReferenced.
25887
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000258882008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
25889
25890 Unreviewed compile fix
25891
25892 Catch up with the JSValue::type elimination.
25893
25894 * bridge/qt/qt_instance.cpp:
25895 (KJS::Bindings::QtRuntimeObjectImp::construct):
25896 (KJS::Bindings::QtInstance::defaultValue):
25897 * bridge/qt/qt_runtime.cpp:
25898 (KJS::Bindings::QtRuntimeConnectionMethod::call):
25899
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000259002008-08-20 Chris Teague <chris.teague@gmail.com>
25901
25902 Reviewed by Mark Rowe.
25903
25904 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
25905 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
25906
25907 * ChangeLog:
25908 * loader/FrameLoader.cpp:
25909 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
25910
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000259112008-08-20 Simon Fraser <simon.fraser@apple.com>
25912
25913 Reviewed by Dave Hyatt
25914
25915 getComputedStyle() for webkitTransform should return a transform
25916 that does not have the transform origin baked into it.
25917 https://bugs.webkit.org/show_bug.cgi?id=20464
25918
25919 Test: fast/css/getComputedStyle-transform.html
25920
25921 * css/CSSComputedStyleDeclaration.cpp:
25922 (WebCore::computedTransform):
25923 * rendering/style/RenderStyle.cpp:
25924 (WebCore::RenderStyle::applyTransform):
25925 * rendering/style/RenderStyle.h:
25926
andersca@apple.com021ce772008-08-20 21:04:12 +0000259272008-08-20 Josh Aas <joshmoz@gmail.com>
25928
25929 Reviewed and landed by Anders.
25930
25931 <rdar://problem/6163636>
25932 rename NPCocoaEvent's "event" struct to "data" (20446)
25933
25934 * bridge/npapi.h:
25935 (_NPCocoaEvent::):
25936
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000259372008-08-20 Beth Dakin <bdakin@apple.com>
25938
darin@apple.com07c80c62008-09-05 18:15:43 +000025939 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000025940
25941 Fix for <rdar://problem/6145626>
25942 This patch fixes a number of remaining problems getting
25943 disconnected frames to work correctly with markAllMatchesForText()
25944 and findString(). Details inline.
25945
25946 This was a static helper function in Frame, but this patch requires
25947 the same functionality in Editor, so I just added it as a function
25948 on Node.
25949 * dom/Node.cpp:
25950 (WebCore::Node::isInShadowTree):
25951 * dom/Node.h:
25952
25953 * editing/Editor.cpp:
25954 (WebCore::Editor::insideVisibleArea): Returns false if
25955 excludeFromTextSearch() is true.
25956
25957 In a normal (non-disconnected) frame, findString returns a range of
25958 the document node if the text is not found in the frame. I changed
25959 firstVisibleRange and lastVisibleRange to match that behavior when
25960 the text is not found
25961 (WebCore::Editor::firstVisibleRange):
25962 (WebCore::Editor::lastVisibleRange):
25963
25964 Here are the bulk of the changes in the patch. A lot of text was
25965 not being found in disconnected frames because I failed to account
25966 for all of the possible problems associated with shadow trees. That
25967 is fixed here.
25968 (WebCore::Editor::nextVisibleRange):
25969 * editing/Editor.h:
25970
25971 excludeFromTextSearch() is new. It allows a WebKit client to mark a
25972 frame as not-text-searchable through SPI.
25973 * WebCore.base.exp:
25974 * page/Frame.cpp:
25975 (WebCore::Frame::excludeFromTextSearch):
25976 (WebCore::Frame::setExcludeFromTextSearch):
25977 (WebCore::FramePrivate::FramePrivate):
25978 * page/Frame.h:
25979 * page/FramePrivate.h:
25980
25981 (WebCore::Frame::findString):
25982 (WebCore::Frame::markAllMatchesForText): I kept running into an
25983 assertion failure in paining code because of the forced paint on
25984 empty visible rects.
25985
timothy@apple.com301befc2008-08-20 19:10:54 +0000259862008-08-20 Timothy Hatcher <timothy@apple.com>
25987
25988 Adds a positon box to the Inspector's Metrics sidebar
25989 pane. When an element is not statically positioned, there
25990 is now a position box that show top, right, bottom and
25991 left computed values.
25992
25993 Reviewed by Kevin McCullough.
25994
25995 * English.lproj/localizedStrings.js: Updated the strings.
25996 * page/inspector/MetricsSidebarPane.js:
25997 (WebInspector.MetricsSidebarPane.prototype.update):
25998 Renamed the boxPartValue function to createBoxPartElement
25999 and made it create the entire element. Made it understand
26000 how to get position style properties. Don't use the figure dash
26001 when 0px is used for positions, since the 0 is meaningful there.
26002 Instead use the figure dash when a position is auto.
26003 * page/inspector/inspector.css: Added a new rule for position.
26004
mrowe@apple.com37686d42008-09-04 00:10:39 +0000260052008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000026006
26007 Reviewed by Beth Dakin
26008
26009 Qt build fix
26010
26011 * WebCore.pro:
26012
mitz@apple.comedaa9042008-08-20 18:28:07 +0000260132008-08-20 Dan Bernstein <mitz@apple.com>
26014
26015 Reviewed by Anders Carlsson.
26016
26017 - avoid using a deprecated NSScroller method on Leopard
26018
26019 * platform/mac/PlatformScrollBarMac.mm:
26020 (WebCore::PlatformScrollbar::updateThumbPosition):
26021 (WebCore::PlatformScrollbar::updateThumbProportion):
26022
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000260232008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
26024
26025 Reviewed by Oliver Hunt.
26026
26027 Gtk build fix
26028
26029 * GNUmakefile.am:
26030 * page/AccessibilityTable.cpp: Change nil to 0
26031 (WebCore::AccessibilityTable::cellForColumnAndRow):
26032
ap@webkit.org01aff702008-08-20 07:23:06 +0000260332008-08-19 Alexey Proskuryakov <ap@webkit.org>
26034
26035 Reviewed by Geoff Garen.
26036
26037 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
26038
26039 * ForwardingHeaders/kjs/JSLock.h: Added.
26040 * WebCore.vcproj/WebCore.vcproj:
26041 * bindings/js/GCController.cpp:
26042 (WebCore::collect):
26043 (WebCore::GCController::gcTimerFired):
26044 (WebCore::GCController::garbageCollectNow):
26045 * bindings/js/JSCustomSQLStatementCallback.cpp:
26046 (WebCore::JSCustomSQLStatementCallback::handleEvent):
26047 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
26048 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
26049 * bindings/js/JSCustomSQLTransactionCallback.cpp:
26050 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
26051 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
26052 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
26053 * bindings/js/JSCustomVoidCallback.cpp:
26054 (WebCore::JSCustomVoidCallback::handleEvent):
26055 * bindings/js/JSCustomXPathNSResolver.cpp:
26056 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
26057 * bindings/js/JSDOMWindowBase.cpp:
26058 (WebCore::DOMWindowTimer::~DOMWindowTimer):
26059 (WebCore::JSDOMWindowBase::clear):
26060 (WebCore::JSDOMWindowBase::timerFired):
26061 * bindings/js/JSEventCustom.cpp:
26062 (WebCore::toJS):
26063 * bindings/js/JSEventListener.cpp:
26064 (WebCore::JSAbstractEventListener::handleEvent):
26065 * bindings/js/JSNSResolver.cpp:
26066 (WebCore::JSNSResolver::lookupNamespaceURI):
26067 * bindings/js/JSNodeFilterCondition.cpp:
26068 (WebCore::JSNodeFilterCondition::acceptNode):
26069 * bindings/js/ScheduledAction.cpp:
26070 (WebCore::ScheduledAction::execute):
26071 * bindings/js/ScriptController.cpp:
26072 (WebCore::ScriptController::evaluate):
26073 (WebCore::ScriptController::clearWindowShell):
26074 (WebCore::ScriptController::createHTMLEventHandler):
26075 (WebCore::ScriptController::createSVGEventHandler):
26076 (WebCore::ScriptController::initScript):
26077 (WebCore::ScriptController::updateDocument):
26078 (WebCore::ScriptController::bindingRootObject):
26079 (WebCore::ScriptController::windowScriptNPObject):
26080 (WebCore::ScriptController::createScriptObjectForPluginElement):
26081 (WebCore::ScriptController::clearScriptObjects):
26082 * bindings/js/ScriptControllerMac.mm:
26083 (WebCore::ScriptController::windowScriptObject):
26084 * bindings/objc/WebScriptObject.mm:
26085 (_didExecute):
26086 (-[WebScriptObject callWebScriptMethod:withArguments:]):
26087 (-[WebScriptObject evaluateWebScript:]):
26088 (-[WebScriptObject setValue:forKey:]):
26089 (-[WebScriptObject valueForKey:]):
26090 (-[WebScriptObject removeWebScriptKey:]):
26091 (-[WebScriptObject stringRepresentation]):
26092 (-[WebScriptObject webScriptValueAtIndex:]):
26093 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
26094 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
26095 * bridge/NP_jsobject.cpp:
26096 (_NPN_InvokeDefault):
26097 (_NPN_Invoke):
26098 (_NPN_Evaluate):
26099 (_NPN_GetProperty):
26100 (_NPN_SetProperty):
26101 (_NPN_RemoveProperty):
26102 (_NPN_HasProperty):
26103 (_NPN_HasMethod):
26104 (_NPN_Enumerate):
26105 * bridge/c/c_class.cpp:
26106 (KJS::Bindings::CClass::~CClass):
26107 (KJS::Bindings::CClass::methodsNamed):
26108 (KJS::Bindings::CClass::fieldNamed):
26109 * bridge/c/c_instance.cpp:
26110 (KJS::Bindings::CInstance::invokeMethod):
26111 (KJS::Bindings::CInstance::invokeDefaultMethod):
26112 (KJS::Bindings::CInstance::getPropertyNames):
26113 * bridge/c/c_runtime.cpp:
26114 (KJS::Bindings::CField::valueFromInstance):
26115 (KJS::Bindings::CField::setValueToInstance):
26116 * bridge/c/c_utility.cpp:
26117 (KJS::Bindings::convertValueToNPVariant):
26118 (KJS::Bindings::convertNPVariantToValue):
26119 * bridge/jni/jni_class.cpp:
26120 (JavaClass::JavaClass):
26121 (JavaClass::~JavaClass):
26122 * bridge/jni/jni_instance.cpp:
26123 (JavaInstance::stringValue):
26124 * bridge/jni/jni_jsobject.mm:
26125 (JavaJSObject::call):
26126 (JavaJSObject::eval):
26127 (JavaJSObject::getMember):
26128 (JavaJSObject::setMember):
26129 (JavaJSObject::removeMember):
26130 (JavaJSObject::getSlot):
26131 (JavaJSObject::setSlot):
26132 (JavaJSObject::toString):
26133 (JavaJSObject::convertValueToJObject):
26134 (JavaJSObject::convertJObjectToValue):
26135 * bridge/jni/jni_objc.mm:
26136 (KJS::Bindings::dispatchJNICall):
26137 * bridge/jni/jni_runtime.cpp:
26138 (appendClassName):
26139 (JavaMethod::signature):
26140 * bridge/jni/jni_runtime.h:
26141 (KJS::Bindings::JavaString::JavaString):
26142 (KJS::Bindings::JavaString::_commonInit):
26143 (KJS::Bindings::JavaString::~JavaString):
26144 (KJS::Bindings::JavaString::UTF8String):
26145 * bridge/jni/jni_utility.cpp:
26146 (KJS::Bindings::convertValueToJValue):
26147 * bridge/npruntime.cpp:
26148 (_NPN_GetStringIdentifier):
26149 * bridge/objc/objc_instance.mm:
26150 (ObjcInstance::moveGlobalExceptionToExecState):
26151 (ObjcInstance::invokeMethod):
26152 (ObjcInstance::invokeDefaultMethod):
26153 (ObjcInstance::setValueOfUndefinedField):
26154 (ObjcInstance::getValueOfUndefinedField):
26155 * bridge/objc/objc_runtime.mm:
26156 (ObjcField::valueFromInstance):
26157 (ObjcField::setValueToInstance):
26158 * bridge/objc/objc_utility.mm:
26159 (KJS::Bindings::convertValueToObjcValue):
26160 (KJS::Bindings::convertNSStringToString):
26161 (KJS::Bindings::convertObjcValueToValue):
26162 * bridge/qt/qt_instance.cpp:
26163 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
26164 (KJS::Bindings::QtInstance::~QtInstance):
26165 (KJS::Bindings::QtInstance::getQtInstance):
26166 (KJS::Bindings::QtInstance::getRuntimeObject):
26167 * bridge/qt/qt_runtime.cpp:
26168 (KJS::Bindings::convertValueToQVariant):
26169 (KJS::Bindings::convertQVariantToValue):
26170 (KJS::Bindings::QtRuntimeMetaMethod::call):
26171 (KJS::Bindings::QtRuntimeConnectionMethod::call):
26172 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
26173 (KJS::Bindings::QtConnectionObject::execute):
26174 * bridge/runtime.cpp:
26175 (KJS::Bindings::Instance::createRuntimeObject):
26176 * bridge/testbindings.cpp:
26177 (main):
26178 * bridge/testbindings.mm:
26179 (main):
26180 * bridge/testqtbindings.cpp:
26181 (main):
26182 * dom/Document.cpp:
26183 (WebCore::Document::~Document):
26184 * dom/Node.cpp:
26185 (WebCore::Node::setDocument):
26186 * history/CachedPage.cpp:
26187 (WebCore::CachedPage::CachedPage):
26188 (WebCore::CachedPage::restore):
26189 (WebCore::CachedPage::clear):
26190 * loader/FrameLoader.cpp:
26191 (WebCore::getString):
26192 * page/InspectorController.cpp:
26193 (WebCore::ConsoleMessage::ConsoleMessage):
26194 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
26195 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
26196 (WebCore::getResourceDocumentNode):
26197 (WebCore::search):
26198 (WebCore::inspectedWindow):
26199 (WebCore::wrapCallback):
26200 (WebCore::currentCallFrame):
26201 (WebCore::profiles):
26202 (WebCore::InspectorController::focusNode):
26203 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
26204 (WebCore::InspectorController::addDatabaseScriptResource):
26205 (WebCore::InspectorController::addScriptProfile):
26206 * page/JavaScriptCallFrame.cpp:
26207 (WebCore::JavaScriptCallFrame::evaluate):
26208 * page/JavaScriptProfileNode.cpp:
26209 (WebCore::getTotalTime):
26210 (WebCore::getSelfTime):
26211 (WebCore::getTotalPercent):
26212 (WebCore::getSelfPercent):
26213 (WebCore::getNumberOfCalls):
26214 (WebCore::getChildren):
26215 (WebCore::getVisible):
26216 * page/Page.cpp:
26217 * page/mac/FrameMac.mm:
26218 * plugins/PluginView.cpp:
26219 (WebCore::PluginView::start):
26220 (WebCore::getString):
26221 (WebCore::PluginView::performRequest):
26222 (WebCore::PluginView::bindingInstance):
26223 * plugins/gtk/PluginViewGtk.cpp:
26224 (WebCore::PluginView::paint):
26225 (WebCore::PluginView::handleKeyboardEvent):
26226 (WebCore::PluginView::handleMouseEvent):
26227 (WebCore::PluginView::setNPWindowRect):
26228 (WebCore::PluginView::stop):
26229 (WebCore::PluginView::init):
26230 * plugins/qt/PluginViewQt.cpp:
26231 (WebCore::PluginView::setNPWindowRect):
26232 (WebCore::PluginView::stop):
26233 (WebCore::PluginView::init):
26234 * plugins/win/PluginViewWin.cpp:
26235 (WebCore::PluginView::dispatchNPEvent):
26236 (WebCore::PluginView::handleKeyboardEvent):
26237 (WebCore::PluginView::handleMouseEvent):
26238 (WebCore::PluginView::setNPWindowRect):
26239 (WebCore::PluginView::stop):
26240 * xml/XMLHttpRequest.cpp:
26241 (WebCore::XMLHttpRequest::clearResponse):
26242 (WebCore::XMLHttpRequest::didFinishLoading):
26243 (WebCore::XMLHttpRequest::didReceiveData):
26244
eric@webkit.orgbac93762008-08-19 23:33:07 +0000262452008-08-19 Eric Seidel <eric@webkit.org>
26246
26247 Reviewed by Geoff Garen.
26248
26249 Add the beginnings of Skia graphics support to WebCore
26250 as I try to begin the long process of un-forking the changes
26251 needed to WebCore to make Andriod's WebCore build.
26252
26253 I'll follow this up with actual *Skia.cpp files in a separate patch.
26254
26255 * platform/graphics/AffineTransform.h:
26256 * platform/graphics/FloatPoint.h:
26257 * platform/graphics/FloatRect.h:
26258 * platform/graphics/Gradient.h:
26259 * platform/graphics/GraphicsContext.h:
26260 * platform/graphics/Image.h:
26261 * platform/graphics/ImageBuffer.h:
26262 * platform/graphics/ImageSource.h:
26263 * platform/graphics/IntPoint.h:
26264 * platform/graphics/IntRect.h:
26265 * platform/graphics/Path.h:
26266 * platform/graphics/Pattern.h:
26267 * svg/graphics/SVGPaintServerPattern.h:
26268 * svg/graphics/SVGPaintServerSolid.h:
26269
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000262702008-08-19 Steve Falkenburg <sfalken@apple.com>
26271
sfalken@apple.com45d22802008-08-19 22:46:31 +000026272 Fix Windows build more.
26273
26274 * WebCore.vcproj/WebCore.vcproj:
26275
262762008-08-19 Steve Falkenburg <sfalken@apple.com>
26277
sfalken@apple.com3f69b332008-08-19 22:34:37 +000026278 Fix Windows build.
26279
26280 * page/AccessibilityRenderObject.cpp:
26281 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
26282
mrowe@apple.com37686d42008-09-04 00:10:39 +0000262832008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000026284
26285 Reviewed by Beth Dakin.
26286
26287 <rdar://problem/4003764> Expose tables as AXTables
26288
26289 Tests: accessibility/table-attributes.html
26290 accessibility/table-cell-spans.html
26291 accessibility/table-cells.html
26292 accessibility/table-detection.html
26293 accessibility/table-sections.html
26294 accessibility/table-with-rules.html
26295
26296 * WebCore.xcodeproj/project.pbxproj:
26297 * page/AXObjectCache.cpp:
26298 (WebCore::AXObjectCache::get):
26299 * page/AccessibilityObject.h:
26300 (WebCore::):
26301 (WebCore::AccessibilityObject::isDataTable):
26302 (WebCore::AccessibilityObject::isTableRow):
26303 (WebCore::AccessibilityObject::isTableColumn):
26304 (WebCore::AccessibilityObject::isTableCell):
26305 * page/AccessibilityRenderObject.cpp:
26306 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
26307 * page/AccessibilityTable.cpp: Added.
26308 (WebCore::AccessibilityTable::AccessibilityTable):
26309 (WebCore::AccessibilityTable::~AccessibilityTable):
26310 (WebCore::AccessibilityTable::create):
26311 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
26312 (WebCore::AccessibilityTable::clearChildren):
26313 (WebCore::AccessibilityTable::addChildren):
26314 (WebCore::AccessibilityTable::headerContainer):
26315 (WebCore::AccessibilityTable::columns):
26316 (WebCore::AccessibilityTable::rows):
26317 (WebCore::AccessibilityTable::rowHeaders):
26318 (WebCore::AccessibilityTable::columnHeaders):
26319 (WebCore::AccessibilityTable::cells):
26320 (WebCore::AccessibilityTable::columnCount):
26321 (WebCore::AccessibilityTable::rowCount):
26322 (WebCore::AccessibilityTable::cellForColumnAndRow):
26323 (WebCore::AccessibilityTable::roleValue):
26324 (WebCore::AccessibilityTable::accessibilityIsIgnored):
26325 (WebCore::AccessibilityTable::title):
26326 (WebCore::AccessibilityTable::isDataTable):
26327 * page/AccessibilityTable.h: Added.
26328 * page/AccessibilityTableCell.cpp: Added.
26329 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
26330 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
26331 (WebCore::AccessibilityTableCell::create):
26332 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
26333 (WebCore::AccessibilityTableCell::rowIndexRange):
26334 (WebCore::AccessibilityTableCell::columnIndexRange):
26335 * page/AccessibilityTableCell.h: Added.
26336 (WebCore::AccessibilityTableCell::isTableCell):
26337 (WebCore::AccessibilityTableCell::roleValue):
26338 * page/AccessibilityTableColumn.cpp: Added.
26339 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
26340 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
26341 (WebCore::AccessibilityTableColumn::create):
26342 (WebCore::AccessibilityTableColumn::setParentTable):
26343 (WebCore::AccessibilityTableColumn::elementRect):
26344 (WebCore::AccessibilityTableColumn::size):
26345 (WebCore::AccessibilityTableColumn::children):
26346 (WebCore::AccessibilityTableColumn::headerObject):
26347 (WebCore::AccessibilityTableColumn::headerObjectForSection):
26348 (WebCore::AccessibilityTableColumn::addChildren):
26349 * page/AccessibilityTableColumn.h: Added.
26350 (WebCore::AccessibilityTableColumn::parentObject):
26351 (WebCore::AccessibilityTableColumn::roleValue):
26352 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
26353 (WebCore::AccessibilityTableColumn::isTableColumn):
26354 (WebCore::AccessibilityTableColumn::setColumnIndex):
26355 (WebCore::AccessibilityTableColumn::columnIndex):
26356 * page/AccessibilityTableHeaderContainer.cpp: Added.
26357 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
26358 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
26359 (WebCore::AccessibilityTableHeaderContainer::create):
26360 (WebCore::AccessibilityTableHeaderContainer::children):
26361 (WebCore::AccessibilityTableHeaderContainer::elementRect):
26362 (WebCore::AccessibilityTableHeaderContainer::size):
26363 (WebCore::AccessibilityTableHeaderContainer::addChildren):
26364 * page/AccessibilityTableHeaderContainer.h: Added.
26365 (WebCore::AccessibilityTableHeaderContainer::roleValue):
26366 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
26367 (WebCore::AccessibilityTableHeaderContainer::parentObject):
26368 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
26369 * page/AccessibilityTableRow.cpp: Added.
26370 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
26371 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
26372 (WebCore::AccessibilityTableRow::create):
26373 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
26374 (WebCore::AccessibilityTableRow::headerObject):
26375 * page/AccessibilityTableRow.h: Added.
26376 (WebCore::AccessibilityTableRow::isTableRow):
26377 (WebCore::AccessibilityTableRow::roleValue):
26378 (WebCore::AccessibilityTableRow::setRowIndex):
26379 (WebCore::AccessibilityTableRow::rowIndex):
26380 * page/mac/AccessibilityObjectWrapper.mm:
26381 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
26382 (RoleEntry::):
26383 (-[AccessibilityObjectWrapper roleDescription]):
26384 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
26385 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
26386 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
26387
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000263882008-08-19 Steve Falkenburg <sfalken@apple.com>
26389
26390 Build fix.
26391 Add buildfailed support to stop builds early (preventing inaccurate error messages).
26392 Add missing post-build rule to Release.
26393
26394 * WebCore.vcproj/QTMovieWin.vcproj:
26395
timothy@apple.comda3aa632008-08-19 18:33:02 +0000263962008-08-19 Keishi Hattori <casey.hattori@gmail.com>
26397
timothy@apple.com7d08c322008-08-19 18:33:27 +000026398 Added support for console.count in the inspector.
26399
26400 Reviewed by Geoff Garen.
26401
26402 * page/Console.cpp:
26403 (WebCore::Console::count):
26404 * page/Console.h:
26405 * page/Console.idl: Added console.count.
26406 * page/InspectorController.cpp:
26407 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
26408 (WebCore::InspectorController::count): Updates the count number
26409 sing "title@source:line" as the identifier, and adds a
26410 message to the console.
26411 * page/InspectorController.h: Added m_counts.
26412
264132008-08-19 Keishi Hattori <casey.hattori@gmail.com>
26414
timothy@apple.comda3aa632008-08-19 18:33:02 +000026415 Clear console.time timers when changing page.
26416
26417 Reviewed by Geoff Garen.
26418
26419 * page/InspectorController.cpp:
26420 (WebCore::InspectorController::didCommitLoad):
26421
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000264222008-08-19 Eric Carlson <eric.carlson@apple.com>
26423
26424 Reviewed by Adele.
26425
26426 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
26427 https://bugs.webkit.org/show_bug.cgi?id=20404
26428
26429 Ignore setVisible() when visibility doesn't change.
26430
26431 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
26432 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
26433 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
26434 (WebCore::MediaPlayerPrivate::setVisible):
26435
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000264362008-08-19 Timothy Hatcher <timothy@apple.com>
26437
timothy@apple.come058a792008-08-19 17:01:12 +000026438 Fixes a bug in the Profile view where switching sort order, then
26439 switching from heavy to tree mode would show the tree in the
26440 previous sort order.
26441
26442 https://bugs.webkit.org/show_bug.cgi?id=20441
26443
26444 Reviewed by Kevin McCullough.
26445
26446 * page/inspector/ProfileView.js:
26447 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
26448 on the next profile before assigning it to this.profile.
26449 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
26450 (WebInspector.ProfileView.prototype._sortProfile): Moves from
26451 _sortData and takes a profile argument. If the profile passed in
26452 matches the this.profile, then call refresh.
26453
264542008-08-18 Timothy Hatcher <timothy@apple.com>
26455
timothy@apple.come525e402008-08-19 17:01:00 +000026456 Changed the default sort order now that heavy view is the default.
26457 Also fixes a bug where the heavy profile was not sorted at first.
26458
26459 https://bugs.webkit.org/show_bug.cgi?id=20440
26460
26461 Reviewed by Kevin McCullough.
26462
26463 * page/inspector/ProfileView.js:
26464 (WebInspector.ProfileView): Changed the default sort column. Also assign
26465 heavyProfile to profile, so the sortSelfTimeDescending call happens
26466 on the heavy profile before assigning to this.profile.
26467
264682008-08-18 Timothy Hatcher <timothy@apple.com>
26469
timothy@apple.comc9287f32008-08-19 17:00:36 +000026470 Add support for editing DOM properties and scope variables by double
26471 clicking a property to enter edit mode.
26472
26473 https://bugs.webkit.org/show_bug.cgi?id=20415
26474
26475 Reviewed by Kevin McCullough.
26476
26477 * page/inspector/ObjectPropertiesSection.js:
26478 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
26479 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
26480 Factored out code into update, and calls update.
26481 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
26482 Call removeChildren since this method can be called multiple times now.
26483 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
26484 gets made later in onattach.
26485 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
26486 if shouldRefreshChildren is true. Call removeChildren since this method can be
26487 called multiple times now.
26488 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
26489 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
26490 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
26491 this element (code moved from the constructor.)
26492 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
26493 sibling property elements.
26494 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
26495 WebInspector.startEditing after rememebring some context.
26496 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
26497 for the list element, since it might have scrolled during editing.
26498 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
26499 then restore the state from the context. Then call update to restore the title.
26500 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
26501 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
26502 to commit the user input.
26503 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
26504 and stores the result on the object for the property name of this element. If the expression is
26505 empty, delete the property and remove the tree element.
26506 * page/inspector/ScopeChainSidebarPane.js:
26507 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
26508 property on each ObjectPropertiesSection.
26509 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
26510 since it is now implemented.
26511 * page/inspector/ScriptsPanel.js:
26512 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
26513 that defaults to true if omitted. It specifies whether to call update on the scope chain.
26514 * page/inspector/inspector.css: New styles.
26515 * page/inspector/treeoutline.js:
26516 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
26517 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
26518
265192008-08-18 Timothy Hatcher <timothy@apple.com>
26520
timothy@apple.com9d9821a2008-08-19 17:00:26 +000026521 Surround the expression to be evaluated in parenthesis so the
26522 result of the eval is the result of the whole expression not
26523 the last potential sub-expression. So evaluating {x: 123}
26524 will show the Object not 123.
26525
26526 https://bugs.webkit.org/show_bug.cgi?id=20428
26527
26528 Reviewed by Kevin McCullough.
26529
26530 * page/inspector/Console.js:
26531 (Console.prototype._evalInInspectedWindow): Add parenthesis
26532 around the expression. And add couple comments.
26533
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000265342008-08-19 Kevin McCullough <kmccullough@apple.com>
26535
26536 Reviewed by Geoff.
26537
26538 -Implement a page() function to extract a common code pattern.
26539
26540 * WebCore.xcodeproj/project.pbxproj:
26541 * page/Console.cpp:
26542 (WebCore::Console::addMessage):
26543 (WebCore::Console::error):
26544 (WebCore::Console::info):
26545 (WebCore::Console::log):
26546 (WebCore::Console::dir):
26547 (WebCore::Console::assertCondition):
26548 (WebCore::Console::time):
26549 (WebCore::Console::timeEnd):
26550 (WebCore::Console::group):
26551 (WebCore::Console::groupEnd):
26552 (WebCore::Console::finishedProfiling):
26553 (WebCore::Console::warn):
26554 (WebCore::Console::framePage):
26555 * page/Console.h:
26556
darin@apple.com349e1eb2008-08-19 04:39:04 +0000265572008-08-12 Darin Adler <darin@apple.com>
26558
26559 Reviewed by Geoff.
26560
26561 - eliminate JSValue::type()
26562
26563 * bridge/c/c_instance.cpp:
26564 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
26565 argument instead of JSType argument. Removed unneeded code to handle
26566 boolean, since that's never passed.
26567 * bridge/c/c_instance.h: Ditto.
26568
26569 * bridge/c/c_utility.cpp:
26570 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
26571 instead of JSValue::type(). Removed unneeded code to handle
26572 "unspecified".
26573
26574 * bridge/jni/jni_instance.cpp:
26575 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
26576 instead of JSType argument. Removed unneeded code to handle boolean.
26577 * bridge/jni/jni_instance.h: Ditto.
26578
26579 * bridge/jni/jni_jsobject.mm:
26580 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
26581 instead of JSValue::type().
26582
26583 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
26584 instead of JSType argument. Removed unused argument.
26585 * bridge/objc/objc_instance.mm:
26586 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
26587 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
26588 instead of JSType argument. Removed unneeded code to handle boolean
26589 and another dead code path for unknown types.
26590
26591 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
26592 instead of JSType argument. Removed override of type() that caused
26593 the fallback object to return "UndefinedType" when there is no
26594 invokeUndefinedMethodFromWebScript:withArguments: method defined.
26595 That didn't accomplish much, since most checks for undefined don't
26596 ever call type().
26597 * bridge/objc/objc_runtime.mm:
26598 (ObjcFallbackObjectImp::defaultValue): Ditto.
26599
26600 * bridge/qt/qt_instance.cpp:
26601 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
26602 argument instead of JSType argument. Removed unneeded code to handle
26603 boolean.
26604 * bridge/qt/qt_instance.h: Ditto.
26605
26606 * bridge/runtime.h:
26607 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
26608 unsed argument.
26609 * bridge/runtime_object.cpp:
26610 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
26611 argument instead of JSType argument.
26612 * bridge/runtime_object.h: Ditto.
26613
britto@apple.comaf7f8382008-08-19 00:42:13 +0000266142008-08-18 Maxime Britto <britto@apple.com>
26615
26616 Reviewed by Adele.
26617
26618 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
26619 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
26620 We shouldn't be able to create another window while we are in pan scrolling.
26621 Other browsers behaviors :
26622 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
26623 IE7 : Keys are not disabled but stops immediately the panning.
26624 This patch matches FF3 behavior by disabling every key but the esc key.
26625
26626 * page/EventHandler.cpp:
26627 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
26628 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
26629
mitz@apple.com12404d82008-08-19 00:20:38 +0000266302008-08-18 Dan Bernstein <mitz@apple.com>
26631
26632 Reviewed by Dave Hyatt.
26633
26634 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
26635
26636 Test: fast/replaced/max-width-percent.html
26637
26638 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
26639 When false, max-width is not factored into the
26640 calculation.
26641 Changed RenderReplaced and subclasses' calcPrefWidths() to call
26642 calcReplacedWidth(false) and then apply max-width only if it has a
26643 fixed, positive value.
26644
26645 * rendering/RenderBox.cpp:
26646 (WebCore::RenderBox::calcReplacedWidth):
26647 * rendering/RenderBox.h:
26648 * rendering/RenderImage.cpp:
26649 (WebCore::RenderImage::calcReplacedWidth):
26650 (WebCore::RenderImage::calcPrefWidths):
26651 * rendering/RenderImage.h:
26652 * rendering/RenderReplaced.cpp:
26653 (WebCore::RenderReplaced::calcPrefWidths):
26654 * rendering/RenderSVGRoot.cpp:
26655 (WebCore::RenderSVGRoot::calcPrefWidths):
26656 * rendering/RenderVideo.cpp:
26657 (WebCore::RenderVideo::calcReplacedWidth):
26658 (WebCore::RenderVideo::calcPrefWidths):
26659 * rendering/RenderVideo.h:
26660
mrowe@apple.comced88732008-08-18 22:47:28 +0000266612008-08-18 Daniel Macks <dmacks@netspace.org>
26662
26663 Reviewed by Mark Rowe.
26664
26665 https://bugs.webkit.org/show_bug.cgi?id=20410
26666 More portable/self-documenting replacement for SIZE_MAX.
26667
26668 * platform/network/curl/FormDataStreamCurl.cpp:
26669 (WebCore::FormDataStream::read):
26670
266712008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000026672
26673 Reviewed by Dave Hyatt
26674
26675 Need to make sure we have an Animation in the AnimationList
26676 before setting the initial value.
26677 https://bugs.webkit.org/show_bug.cgi?id=20408
26678
26679 Test: fast/css/transition_shorthand_parsing.html
26680
26681 * css/CSSStyleSelector.cpp:
26682
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000266832008-08-18 Kevin McCullough <kmccullough@apple.com>
26684
kmccullough@apple.com707bd362008-08-18 20:21:57 +000026685 Reviewed by Tim.
26686
26687 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
26688 is another profile.
26689
26690 * page/inspector/ProfilesPanel.js:
26691
266922008-08-18 Kevin McCullough <kmccullough@apple.com>
26693
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000026694 Reviewed by Geoff.
26695
26696 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
26697 all console messages
26698
26699 * page/inspector/Console.js:
26700
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000267012008-08-18 Dirk Schulze <vbs85@gmx.de>
26702
26703 Reviewed by Eric Seidel.
26704
26705 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
26706 the canvas clean up.
26707
26708 https://bugs.webkit.org/show_bug.cgi?id=20405
26709
26710 * html/CanvasRenderingContext2D.cpp:
26711 (WebCore::CanvasRenderingContext2D::fill):
26712 (WebCore::CanvasRenderingContext2D::stroke):
26713 (WebCore::CanvasRenderingContext2D::fillRect):
26714
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000267152008-08-17 Timothy Hatcher <timothy@apple.com>
26716
26717 Complete in scope variables in the Console when paused.
26718
26719 https://bugs.webkit.org/show_bug.cgi?id=19115
26720
26721 Reviewed by Geoffrey Garen.
26722
26723 * page/inspector/Console.js:
26724 (WebInspector.Console.prototype.completions): If the expressionString
26725 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
26726 to get an object that declares all the in scope variables. That way
26727 "top level" expressions are completed.
26728 * page/inspector/ScriptsPanel.js:
26729 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
26730 Return an object that has all the variables that are in scope for the
26731 selected call frame. The value of each property is just true.
26732 The return object is useful for quick lookups or auto completion.
26733
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000267342008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
26735
26736 Not reviewed.
26737
26738 Speculative Qt build fix.
26739
26740 * bridge/qt/qt_runtime.cpp:
26741 (KJS::Bindings::convertValueToQVariant):
26742 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
26743
ggaren@apple.comfea43532008-08-17 20:23:49 +0000267442008-08-17 Geoffrey Garen <ggaren@apple.com>
26745
26746 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000026747
26748 Updated project files to XCode 3.1.
26749
26750 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
26751
267522008-08-17 Geoffrey Garen <ggaren@apple.com>
26753
26754 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000026755
26756 Made room for a free word in JSCell.
26757
26758 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
26759 JSGlobalData, so the two could share a pointer.
26760
26761 Added a bunch of ASSERTs, to help catch over-sized objects.
26762
mrowe@apple.com13570292008-08-16 06:48:10 +0000267632008-08-15 Mark Rowe <mrowe@apple.com>
26764
mitz@apple.comb96c1b92008-08-17 03:28:52 +000026765 Reviewed by Dan Bernstein.
26766
26767 Disable dead code stripping in debug builds.
26768
26769 * Configurations/Base.xcconfig:
26770 * WebCore.xcodeproj/project.pbxproj:
26771
267722008-08-15 Mark Rowe <mrowe@apple.com>
26773
mrowe@apple.com13570292008-08-16 06:48:10 +000026774 Rubber-stamped by Geoff Garen.
26775
26776 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
26777
26778 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
26779 between the Debug configuration and debug Production variant.
26780 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
26781
antti@apple.coma05e8b02008-08-15 22:58:06 +0000267822008-08-15 Antti Koivisto <antti@apple.com>
26783
26784 Reviewed by Anders.
26785
26786 Don't start preloading body resources before the head is complete. This prevents
26787 body preloads from slowing down initial display when there is limited amount
26788 of bandwidth available.
26789
26790 Works by queuing up found body preloads to DocLoader and only issuing them
26791 after document has rendering.
26792
26793 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
26794 without affecting complete load time.
26795
26796 * html/PreloadScanner.cpp:
26797 (WebCore::PreloadScanner::PreloadScanner):
26798 (WebCore::PreloadScanner::scanningBody):
26799 (WebCore::PreloadScanner::emitTag):
26800 (WebCore::PreloadScanner::emitCSSRule):
26801 * html/PreloadScanner.h:
26802 * loader/DocLoader.cpp:
26803 (WebCore::DocLoader::preload):
26804 (WebCore::DocLoader::checkForPendingPreloads):
26805 (WebCore::DocLoader::requestPreload):
26806 * loader/DocLoader.h:
26807 * loader/loader.cpp:
26808 (WebCore::Loader::Host::didFinishLoading):
26809 (WebCore::Loader::Host::didFail):
26810
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000268112008-08-15 Ada Chan <adachan@apple.com>
26812
26813 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
26814 This way style set on an <hr> within a <select> will be honored.
26815
26816 Reviewed by Dave Hyatt and Dan Bernstein.
26817
26818 * rendering/RenderMenuList.cpp:
26819 (WebCore::RenderMenuList::itemStyle):
26820
antti@apple.com9f7911472008-08-15 20:48:06 +0000268212008-08-15 Antti Koivisto <antti@apple.com>
26822
26823 Reviewed by Oliver.
26824
26825 Some loader performance tweaks:
26826 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
26827 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
26828 to not delay rendering.
26829 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
26830 can take long time when latency is high so it is good to get started early.
26831 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
26832 load queues. Issue remaining loads to the network layer.
26833
26834 * loader/loader.cpp:
26835 (WebCore::Loader::determinePriority):
26836 (WebCore::Loader::load):
26837 (WebCore::Loader::Host::servePendingRequests):
26838 * loader/loader.h:
26839
timothy@apple.com2d974c32008-08-15 18:35:39 +0000268402008-08-15 Timothy Hatcher <timothy@apple.com>
26841
26842 Detach the script debugger when the Web Inspector's window closes.
26843 This has always been the intended design, but never fully implemented.
26844
26845 https://bugs.webkit.org/show_bug.cgi?id=20402
26846
26847 Reviewed by Adam Roben.
26848
26849 * page/InspectorController.cpp:
26850 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
26851 if the window is no longer visible.
26852
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000268532008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
26854
26855 Reviewed by Simon.
26856
hausmann@webkit.org58144a72008-08-15 18:12:08 +000026857 Fixes: compile with QT_NO_CONTEXTMENU
26858
26859 * platform/qt/PlatformMouseEventQt.cpp:
26860 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
26861 * platform/qt/PlatformScrollBarQt.cpp:
26862 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
26863 (WebCore::PlatformScrollbar::handleContextMenuEvent):
26864
268652008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
26866
26867 Reviewed by Simon.
26868
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000026869 Fixes: compile with QT_NO_WHEELEVENT
26870
26871 * platform/qt/WheelEventQt.cpp:
26872 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
26873
timothy@apple.com4889e612008-08-15 17:06:14 +0000268742008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26875
timothy@apple.comd64639c2008-08-15 17:48:36 +000026876 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
26877
26878 https://bugs.webkit.org/show_bug.cgi?id=20210
26879
26880 Reviewed by Tim Hatcher.
26881
26882 * page/Console.cpp:
26883 (WebCore::Console::group):
26884 (WebCore::Console::groupEnd):
26885 * page/Console.h:
26886 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
26887 * page/InspectorController.cpp:
26888 (WebCore::InspectorController::startGroup): Increments group level by
26889 one and adds console message with StartGroupMessaageLevel.
26890 (WebCore::InspectorController::endGroup): Decrements group level by one
26891 and adds console message with EndGroupMessaageLevel.
26892 * page/InspectorController.h:
26893 * page/inspector/Console.js:
26894 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
26895 if the message is StartGroupMessaageLevel.
26896 (WebInspector.ConsoleMessage.prototype.toMessageElement):
26897 (WebInspector.ConsoleGroup.prototype.addMessage):
26898 * page/inspector/inspector.js:
26899
269002008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26901
timothy@apple.com7310b6a2008-08-15 17:35:22 +000026902 Adds support for console.dir to the Inspector
26903
26904 https://bugs.webkit.org/show_bug.cgi?id=19155
26905
26906 Reviewed by Tim Hatcher.
26907
26908 * bindings/js/JSConsoleCustom.cpp:
26909 (WebCore::JSConsole::dir):
26910 * page/Console.cpp:
26911 (WebCore::Console::dir):
26912 * page/Console.h: Added ObjectMessageLevel.
26913 * page/Console.idl: Added console.dir.
26914 * page/inspector/Console.js:
26915 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
26916 ObjectPropertiesSection if the MessageLevel is Object.
26917 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
26918 used on primitive data types.
26919 * page/inspector/inspector.css:
26920
269212008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26922
timothy@apple.com4889e612008-08-15 17:06:14 +000026923 Adds support for clear() in the Inspector console.
26924
26925 https://bugs.webkit.org/show_bug.cgi?id=19873
26926
26927 Reviewed by Tim Hatcher.
26928
26929 * page/inspector/Console.js:
26930
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000269312008-08-15 Anthony Ricaud <rik24d@gmail.com>
26932
26933 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
26934
26935 Platform distinction and modifier key matching adjusted
26936 by Daniel Jalkut <jalkut@red-sweater.com>
26937
26938 Bug 16313: text search (find) keybindings should work in the Web Inspector
26939 https://bugs.webkit.org/show_bug.cgi?id=16313
26940
26941 Reviewed by Tim Hatcher.
26942
26943 * page/inspector/inspector.js: Added a case for the F key
26944
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000269452008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26946
26947 Fix for error when the string doesn't contain a webkit-profile link.
26948
26949 https://bugs.webkit.org/show_bug.cgi?id=20399
26950
26951 Reviewed by Tim Hatcher.
26952
26953 * page/inspector/inspector.js:
26954
timothy@apple.com895b2652008-08-15 16:33:27 +0000269552008-08-15 Timothy Hatcher <timothy@apple.com>
26956
26957 Fixes two bugs where JavaScript could be executed from the page
26958 while the debugger is paused.
26959
26960 The first issue was JSLazyEventListener not checking the paused
26961 state before parsing the code.
26962
26963 The second issue was with the PageGroup version of
26964 JavaScriptDebugServer::setJavaScriptPaused always passing false
26965 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
26966 and not the paused argument.
26967
26968 https://bugs.webkit.org/show_bug.cgi?id=20284
26969
26970 Reviewed by Adam Roben.
26971
26972 * bindings/js/JSEventListener.cpp:
26973 (WebCore::JSLazyEventListener::parseCode): Check the paused
26974 state of the ScriptController. Return early if paused.
26975 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
26976 * page/JavaScriptDebugServer.cpp:
26977 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
26978 Pass the paused argument to the Page version of setJavaScriptPaused.
26979
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000269802008-08-15 Alexey Proskuryakov <ap@webkit.org>
26981
26982 Reviewed by Geoff Garen.
26983
26984 JSStringRef is created context-free, but can get linked to one via an identifier table,
26985 breaking an implicit API contract.
26986
26987 * page/InspectorController.cpp:
26988 (WebCore::jsStringRef):
26989 (WebCore::InspectorController::didParseSource):
26990 (WebCore::InspectorController::failedToParseSource):
26991 * page/JavaScriptProfile.cpp:
26992 (WebCore::getTitleCallback):
26993 Updated for JavaScriptCore changes.
26994
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000269952008-08-14 Kevin Ollivier <kevino@theolliviers.com>
26996
26997 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
26998 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
26999
27000 * platform/graphics/AffineTransform.h:
27001
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000270022008-08-14 Eric Carlson <eric.carlson@apple.com>
27003
27004 Reviewed by Adele.
27005
27006 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
27007 <video> elements on Windows never becomes visible when a page is restored from the cache
27008
27009 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
27010 value is different from the cached value. Let the implementation decide when
27011 to avoid work because nothing has changed.
27012
27013 * platform/graphics/MediaPlayer.cpp:
27014 (WebCore::MediaPlayer::setVolume):
27015 (WebCore::MediaPlayer::setRate):
27016 (WebCore::MediaPlayer::setRect):
27017 (WebCore::MediaPlayer::setVisible):
27018
timothy@apple.comda810f42008-08-14 23:57:14 +0000270192008-08-14 Keishi Hattori <casey.hattori@gmail.com>
27020
27021 Make Firebug command line API respect predefined variables.
27022
timothy@apple.com90751f02008-08-14 23:58:19 +000027023 https://bugs.webkit.org/show_bug.cgi?id=20385
27024
timothy@apple.comda810f42008-08-14 23:57:14 +000027025 Reviewed by Tim Hatcher.
27026
27027 * page/inspector/Console.js:
27028
weinig@apple.com4b51d002008-08-14 23:33:22 +0000270292008-08-14 Sam Weinig <sam@webkit.org>
27030
27031 Reviewed by Geoffrey Garen and Timothy Hatcher.
27032
27033 Allow programatically setting the HTMLTokenizers time delay and chunk size
27034 which are used for determining how aggressively we yield.
27035
27036 * WebCore.base.exp:
27037 * html/HTMLTokenizer.cpp:
27038 (WebCore::HTMLTokenizer::begin):
27039 (WebCore::HTMLTokenizer::continueProcessing):
27040 * html/HTMLTokenizer.h:
27041 * page/Page.cpp:
27042 (WebCore::Page::Page):
27043 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
27044 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
27045 * page/Page.h:
27046 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
27047 (WebCore::Page::customHTMLTokenizerTimeDelay):
27048 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
27049 (WebCore::Page::customHTMLTokenizerChunkSize):
27050
eric@webkit.org89613d22008-08-14 23:19:17 +0000270512008-08-14 Eric Seidel <eric@webkit.org>
27052
eric@webkit.org7e897c32008-08-14 23:20:00 +000027053 Reviewed by Beth.
27054
27055 Move us one step closer to cross-platform svg/graphics code
27056
27057 * WebCore.xcodeproj/project.pbxproj:
27058 * html/CanvasStyle.cpp:
27059 * platform/graphics/Color.cpp:
27060 (WebCore::colorWithOverrideAlpha):
27061 * platform/graphics/Color.h:
27062 * svg/graphics/cg/CgSupport.cpp:
27063 (WebCore::applyStrokeStyleToContext):
27064 (WebCore::strokeBoundingBox):
27065 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
27066 (WebCore::SVGPaintServerSolid::setup):
27067
270682008-08-14 Eric Seidel <eric@webkit.org>
27069
eric@webkit.org4f490652008-08-14 23:19:31 +000027070 Reviewed by Alexey.
27071
eric@webkit.org73fa9d12008-08-14 23:19:44 +000027072 Remove un-need includes from HTMLCanvas and use the
27073 Gradient platform abstraction in one place in CanvasStyle
27074
27075 * html/CanvasRenderingContext2D.cpp:
27076 (WebCore::CanvasRenderingContext2D::fillRect):
27077 * html/CanvasStyle.cpp:
27078 * html/HTMLCanvasElement.cpp:
27079
270802008-08-14 Eric Seidel <eric@webkit.org>
27081
27082 Reviewed by Alexey.
27083
eric@webkit.org4f490652008-08-14 23:19:31 +000027084 Clean up GlyphBuffer.h, removing more #ifdefs
27085
27086 * platform/graphics/GlyphBuffer.h:
27087 (WebCore::GlyphBuffer::glyphAt):
27088 (WebCore::GlyphBuffer::advanceAt):
27089 (WebCore::GlyphBuffer::add):
27090
270912008-08-14 Eric Seidel <eric@webkit.org>
27092
eric@webkit.org89613d22008-08-14 23:19:17 +000027093 Reviewed by Sam.
27094
27095 Clean up AffineTransform.h, removing #ifdefs
27096
27097 * platform/graphics/AffineTransform.h:
27098 * platform/graphics/cairo/AffineTransformCairo.cpp:
27099 * platform/graphics/cg/AffineTransformCG.cpp:
27100 * platform/graphics/qt/AffineTransformQt.cpp:
27101 * platform/graphics/wx/AffineTransformWx.cpp:
27102
mitz@apple.com551d6252008-08-14 23:08:09 +0000271032008-08-14 Dan Bernstein <mitz@apple.com>
27104
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000027105 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
27106
27107 * platform/graphics/cairo/ImageSourceCairo.cpp:
27108 (WebCore::ImageSource::frameSizeAtIndex):
27109 * platform/graphics/qt/ImageSourceQt.cpp:
27110 (WebCore::ImageSource::frameSizeAtIndex):
27111 * platform/graphics/wx/ImageSourceWx.cpp:
27112 (WebCore::ImageSource::frameSizeAtIndex):
27113
271142008-08-14 Dan Bernstein <mitz@apple.com>
27115
mitz@apple.com551d6252008-08-14 23:08:09 +000027116 Reviewed by Brady Eidson.
27117
27118 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
27119
27120 * platform/graphics/BitmapImage.cpp:
27121 (WebCore::BitmapImage::BitmapImage): Added initialization of
27122 m_hasUniformFrameSize.
27123 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
27124 cached frame for use in decoded size computation and for setting
27125 m_hasUniformFrameSize.
27126 (WebCore::BitmapImage::currentFrameSize): Added.
27127 (WebCore::BitmapImage::dataChanged): Added code to reset
27128 m_hasUniformFrameSize.
27129 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
27130 m_hasUniformFrameSize.
27131 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
27132 * platform/graphics/cg/ImageCG.cpp:
27133 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
27134 fixes the bug, which resulted from assuming that the frame being drawn
27135 was the same size as the first frame.
27136 * platform/graphics/cg/ImageSourceCG.cpp:
27137 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
27138 changed to get the size of the frame at the given index.
27139 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
27140
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000271412008-08-13 Simon Fraser <simon.fraser@apple.com>
27142
27143 Reviewed by Eric Seidel
27144
27145 Fix @font-face inside @media rule crash.
27146 https://bugs.webkit.org/show_bug.cgi?id=20367
27147
27148 Test: fast/css/font-face-in-media-rule.html
27149
27150 * css/CSSStyleSelector.cpp:
27151 (WebCore::CSSRuleSet::addRulesFromSheet):
27152
kevino@webkit.org141c4602008-08-14 22:52:55 +0000271532008-08-14 Kevin Ollivier <kevino@theolliviers.com>
27154
27155 wx build fixes after recent changes to Canvas and Image classes.
27156
27157 * platform/graphics/Pattern.h:
27158 * platform/graphics/wx/GradientWx.cpp:
27159 (WebCore::Gradient::fill):
27160 * platform/graphics/wx/GraphicsContextWx.cpp:
27161 (WebCore::GraphicsContext::applyFillPattern):
27162 (WebCore::GraphicsContext::applyStrokePattern):
27163 * platform/graphics/wx/ImageBufferWx.cpp:
27164 (WebCore::ImageBuffer::image):
27165 * platform/graphics/wx/ImageWx.cpp:
27166 (WebCore::Image::loadPlatformResource):
27167
britto@apple.comd7008662008-08-14 19:26:02 +0000271682008-08-14 Maxime Britto <britto@apple.com>
27169
27170 Reviewed by Sam Weinig.
27171
27172 rdar://6102511
27173 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
27174 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
27175 Some differences exist between them concerning the kind of key which is pressed :
27176 IE7 : every key leads to a stop of the panning
27177 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
27178 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
27179
27180 * page/EventHandler.cpp:
27181 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
27182
christian@webkit.org0e20f322008-08-14 19:14:47 +0000271832008-08-14 Christian Dywan <christian@twotoasts.de>
27184
27185 Gtk+/ Cairo build fix, patch by Dirk Schulze.
27186
27187 * html/CanvasStyle.cpp:
27188 * platform/graphics/cairo/PatternCairo.cpp:
27189 (WebCore::Pattern::createPlatformPattern):
27190 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
27191
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000271922008-08-14 Kevin McCullough <kmccullough@apple.com>
27193
27194 Reviewed by Tim.
27195
27196 <rdar://problem/6115819> Notify of profile in console
27197
27198 * page/InspectorController.cpp:
27199 (WebCore::InspectorController::addProfile):
27200 (WebCore::InspectorController::addProfileMessageToConsole): Called by
27201 addProfile this is the function that adds a message to the console that
27202 a profile finished.
27203 * page/InspectorController.h:
27204 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
27205 the console log to the profile in the web inspector.
27206 (WebCore::getUniqueIdCallback):
27207 (WebCore::ProfileClass):
27208 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
27209 Id to bring up the requested profile. Also select and reveal the
27210 profile in the profile panel. And created displayTitleForProfileLink()
27211 which formats a title taking into account if it's user initiated or if
27212 there are multiples. Lasty, I put the user initiated profile in a
27213 variable.
27214 * page/inspector/inspector.js: Make the profile title be a clickable
27215 link that will take the user to the identified profile. Also expose
27216 the count of user initiated profiles so they can be displayed in the
27217 console with the correct count.
27218
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000272192008-08-14 Timothy Hatcher <timothy@apple.com>
27220
27221 Avoid formating ConsoleMessages twice unless the message will be
27222 displayed in bubbles of a SourceFrame.
27223
27224 Reviewed by Kevin McCullough.
27225
27226 * page/inspector/Console.js:
27227 (WebInspector.ConsoleMessage): Only format the plain text message
27228 if the URL and line are valid and the level is error or warning.
27229 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
27230 Helper to test for error or warning level.
27231 * page/inspector/SourceFrame.js:
27232 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
27233 message if there is no message or valid line or if the msg
27234 isn't an error or warning.
27235
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000272362008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
27237
27238 partial Gtk build fix, not reviewed
27239
27240 * platform/graphics/cairo/PatternCairo.cpp:
27241
weinig@apple.com45e83142008-08-14 04:49:30 +0000272422008-08-13 Sam Weinig <sam@webkit.org>
27243
weinig@apple.com1c615fe2008-09-29 04:17:33 +000027244 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000027245
27246 Fix style issue.
27247
27248 * html/HTMLMediaElement.cpp:
27249 (WebCore::HTMLMediaElement::pickMedia):
27250
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000272512008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27252
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000027253 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
27254 Continue Erics build fixes, after the Image cleanup.
27255
27256 * platform/graphics/cairo/ImageBufferCairo.cpp:
27257 (WebCore::ImageBuffer::image):
27258
272592008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27260
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000027261 Build fix for Qt, not reviewed.
27262 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
27263
27264 * dom/XMLTokenizer.cpp:
27265 (WebCore::eventuallyMarkAsParserCreated): Was erre
27266
272672008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27268
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000027269 Build fix, not reviewed.
27270 Add ScriptElement.cpp to Gtk build.
27271
27272 * GNUmakefile.am:
27273
272742008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27275
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000027276 Reviewed by Eric.
27277
27278 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
27279
27280 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
27281 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
27282
27283 This resolves code duplications and allows us to completly replace the old
27284 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
27285
27286 As ScriptElement, doesn't actually inherit from Element, we may want to rename
27287 it, though StyleElement uses the same naming convention, so I left it as is for now.
27288 Eventually we'll rename both files in future.
27289
27290 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
27291
27292 * WebCore.pro: Add new ScriptElement.cpp to build.
27293 * WebCore.vcproj/WebCore.vcproj: Ditto.
27294 * WebCore.xcodeproj/project.pbxproj: Ditto.
27295 * WebCoreSources.bkl: Dutto.
27296 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
27297 (WebCore::ScriptElement::insertedIntoDocument):
27298 (WebCore::ScriptElement::removedFromDocument):
27299 (WebCore::ScriptElement::childrenChanged):
27300 (WebCore::ScriptElement::finishParsingChildren):
27301 (WebCore::ScriptElement::handleSourceAttribute):
27302 (WebCore::isSupportedJavaScriptLanguage):
27303 (WebCore::ScriptElementData::ScriptElementData):
27304 (WebCore::ScriptElementData::~ScriptElementData):
27305 (WebCore::ScriptElementData::requestScript):
27306 (WebCore::ScriptElementData::evaluateScript):
27307 (WebCore::ScriptElementData::stopLoadRequest):
27308 (WebCore::ScriptElementData::notifyFinished):
27309 (WebCore::ScriptElementData::ignoresLoadRequest):
27310 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
27311 (WebCore::ScriptElementData::scriptCharset):
27312 (WebCore::ScriptElementData::scriptContent):
27313 * dom/ScriptElement.h: Added.
27314 (WebCore::ScriptElement::ScriptElement):
27315 (WebCore::ScriptElement::~ScriptElement):
27316 (WebCore::ScriptElementData::element):
27317 (WebCore::ScriptElementData::createdByParser):
27318 (WebCore::ScriptElementData::setCreatedByParser):
27319 * dom/XMLTokenizer.cpp:
27320 (WebCore::isScriptElement):
27321 (WebCore::castToScriptElement):
27322 (WebCore::eventuallyMarkAsParserCreated):
27323 (WebCore::XMLTokenizer::startElementNs):
27324 (WebCore::XMLTokenizer::endElementNs):
27325 (WebCore::createXHTMLParserErrorHeader):
27326 (WebCore::XMLTokenizer::insertErrorMessageBlock):
27327 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
27328 (WebCore::HTMLScriptElement::HTMLScriptElement):
27329 (WebCore::HTMLScriptElement::~HTMLScriptElement):
27330 (WebCore::HTMLScriptElement::isURLAttribute):
27331 (WebCore::HTMLScriptElement::setCreatedByParser):
27332 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
27333 (WebCore::HTMLScriptElement::childrenChanged):
27334 (WebCore::HTMLScriptElement::parseMappedAttribute):
27335 (WebCore::HTMLScriptElement::finishParsingChildren):
27336 (WebCore::HTMLScriptElement::insertedIntoDocument):
27337 (WebCore::HTMLScriptElement::removedFromDocument):
27338 (WebCore::HTMLScriptElement::text):
27339 (WebCore::HTMLScriptElement::setText):
27340 (WebCore::HTMLScriptElement::setHtmlFor):
27341 (WebCore::HTMLScriptElement::setEvent):
27342 (WebCore::HTMLScriptElement::charset):
27343 (WebCore::HTMLScriptElement::src):
27344 (WebCore::HTMLScriptElement::type):
27345 (WebCore::HTMLScriptElement::scriptCharset):
27346 (WebCore::HTMLScriptElement::scriptContent):
27347 (WebCore::HTMLScriptElement::sourceAttributeValue):
27348 (WebCore::HTMLScriptElement::charsetAttributeValue):
27349 (WebCore::HTMLScriptElement::typeAttributeValue):
27350 (WebCore::HTMLScriptElement::languageAttributeValue):
27351 (WebCore::HTMLScriptElement::dispatchLoadEvent):
27352 (WebCore::HTMLScriptElement::dispatchErrorEvent):
27353 * html/HTMLScriptElement.h:
27354 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
27355 * svg/SVGScriptElement.cpp:
27356 (WebCore::SVGScriptElement::SVGScriptElement):
27357 (WebCore::SVGScriptElement::scriptContent):
27358 (WebCore::SVGScriptElement::sourceAttributeValue):
27359 (WebCore::SVGScriptElement::charsetAttributeValue):
27360 (WebCore::SVGScriptElement::typeAttributeValue):
27361 (WebCore::SVGScriptElement::languageAttributeValue):
27362 (WebCore::SVGScriptElement::dispatchLoadEvent):
27363 (WebCore::SVGScriptElement::dispatchErrorEvent):
27364 * svg/SVGScriptElement.h:
27365 (WebCore::SVGScriptElement::setCreatedByParser):
27366
eric@webkit.org7811ef02008-08-14 00:28:51 +0000273672008-08-13 Eric Seidel <eric@webkit.org>
27368
eric@webkit.org3562c592008-08-14 02:17:29 +000027369 Attempt to fix the Gtk build, no review.
27370
27371 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
27372
27373 * platform/graphics/GraphicsContext.h:
27374 * platform/graphics/cairo/GraphicsContextCairo.cpp:
27375 * platform/graphics/qt/GradientQt.cpp:
27376 * platform/graphics/qt/GraphicsContextQt.cpp:
27377 * platform/gtk/RenderThemeGtk.cpp:
27378 (WebCore::paintMozWidget):
27379
273802008-08-13 Eric Seidel <eric@webkit.org>
27381
eric@webkit.org2ec42072008-08-14 02:03:09 +000027382 Yet another attempt to fix the Qt build, no review.
27383
27384 * platform/graphics/qt/GradientQt.cpp:
27385 * platform/graphics/qt/GraphicsContextQt.cpp:
27386 (WebCore::GraphicsContext::applyStrokePattern):
27387 (WebCore::GraphicsContext::applyFillPattern):
27388
273892008-08-13 Eric Seidel <eric@webkit.org>
27390
27391 Attempt to fix the Windows build, no review.
27392
27393 * platform/win/CursorWin.cpp:
27394 (WebCore::loadCursorByName):
27395 * platform/win/ScrollViewWin.cpp:
27396 (WebCore::ScrollView::paint):
27397
273982008-08-13 Eric Seidel <eric@webkit.org>
27399
eric@webkit.org508c0282008-08-14 01:29:34 +000027400 Attempt to fix the Windows build, no review.
27401
27402 * platform/win/CursorWin.cpp:
27403 (WebCore::loadCursorByName):
27404 * platform/win/ScrollViewWin.cpp:
27405 (WebCore::ScrollView::paint):
27406
274072008-08-13 Eric Seidel <eric@webkit.org>
27408
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000027409 Attempt to fix the Qt build, no review.
27410
27411 * platform/graphics/qt/ImageBufferQt.cpp:
27412 (WebCore::ImageBuffer::image):
27413
274142008-08-13 Eric Seidel <eric@webkit.org>
27415
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000027416 Attempt to fix the Windows build, no review.
27417
27418 * platform/graphics/win/ImageWin.cpp:
27419 (WebCore::Image::loadPlatformResource):
27420 * plugins/win/PluginViewWin.cpp:
27421 (WebCore::PluginView::paintMissingPluginIcon):
27422
274232008-08-13 Eric Seidel <eric@webkit.org>
27424
eric@webkit.orgac3f6662008-08-14 01:15:50 +000027425 Another attempt to fix the Qt build, no review.
27426
27427 * platform/graphics/qt/ImageQt.cpp:
27428 * platform/graphics/qt/StillImageQt.h:
27429
274302008-08-13 Eric Seidel <eric@webkit.org>
27431
eric@webkit.org31e0d812008-08-14 01:05:42 +000027432 No review, build fix only.
27433
27434 Fix mac build, due to change in new code since my patch was written.
27435
27436 * svg/graphics/cg/SVGResourceMaskerCg.mm:
27437 (WebCore::SVGResourceMasker::applyMask):
27438
274392008-08-13 Eric Seidel <eric@webkit.org>
27440
eric@webkit.orga20a0032008-08-14 00:42:54 +000027441 Build fix only, no review.
27442
27443 Attempt to fix the Qt build.
27444
eric@webkit.org923255c2008-08-14 00:59:20 +000027445 * platform/graphics/qt/ImageBufferQt.cpp:
27446 * platform/graphics/qt/StillImageQt.h:
27447 (WebCore::StillImage::create):
27448 (WebCore::StillImage::destroyDecodedData):
27449 (WebCore::StillImage::decodedSize):
27450
274512008-08-13 Eric Seidel <eric@webkit.org>
27452
27453 Build fix only, no review.
27454
27455 Attempt to fix the Qt build.
27456
eric@webkit.orga20a0032008-08-14 00:42:54 +000027457 * html/CanvasStyle.cpp:
27458 (WebCore::CanvasStyle::applyStrokeColor):
27459 (WebCore::CanvasStyle::applyFillColor):
27460
274612008-08-13 Eric Seidel <eric@webkit.org>
27462
eric@webkit.org4aca3be2008-08-14 00:30:04 +000027463 Reviewed by Sam.
27464
27465 Match HTML5 spec by throwing INVALID_STATE_ERR when
27466 createPattern is called and the HTMLImageElement is not
27467 yet done loading the image (!isComplete)
27468 https://bugs.webkit.org/show_bug.cgi?id=20351
27469
27470 Test: http/misc/canvas-pattern-from-incremental-image.html
27471
27472 * html/CanvasRenderingContext2D.cpp:
27473 (WebCore::CanvasRenderingContext2D::createPattern):
27474
274752008-08-13 Eric Seidel <eric@webkit.org>
27476
eric@webkit.org5b265602008-08-14 00:29:26 +000027477 Reviewed by Niko.
27478
eric@webkit.orgf0124f62008-08-14 00:29:50 +000027479 Split out a Pattern class from CanvasPattern
27480 and remove all the Pattern-related #ifdefs
27481 (This will break non-mac platforms! I will fix them.)
27482 https://bugs.webkit.org/show_bug.cgi?id=20351
27483
27484 * GNUmakefile.am:
27485 * WebCore.pro:
27486 * WebCore.vcproj/WebCore.vcproj:
27487 * WebCore.xcodeproj/project.pbxproj:
27488 * WebCoreSources.bkl:
27489 * html/CanvasPattern.cpp:
27490 (WebCore::CanvasPattern::parseRepetitionType):
27491 (WebCore::CanvasPattern::CanvasPattern):
27492 * html/CanvasPattern.h:
27493 (WebCore::CanvasPattern::create):
27494 (WebCore::CanvasPattern::pattern):
27495 (WebCore::CanvasPattern::originClean):
27496 * html/CanvasRenderingContext2D.cpp:
27497 (WebCore::CanvasRenderingContext2D::createPattern):
27498 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
27499 (WebCore::CanvasRenderingContext2D::applyFillPattern):
27500 * html/CanvasRenderingContext2D.h:
27501 * html/HTMLCanvasElement.cpp:
27502 * html/HTMLCanvasElement.h:
27503 * loader/FrameLoader.cpp:
27504 (WebCore::FrameLoader::createHistoryItem):
27505 * platform/graphics/GraphicsContext.h:
27506 * platform/graphics/cairo/GraphicsContextCairo.cpp:
27507 (WebCore::GraphicsContext::applyStrokePattern):
27508 (WebCore::GraphicsContext::applyFillPattern):
27509 * platform/graphics/cg/GraphicsContextCG.cpp:
27510 (WebCore::GraphicsContext::clipToImageBuffer):
27511 (WebCore::GraphicsContext::applyStrokePattern):
27512 (WebCore::GraphicsContext::applyFillPattern):
27513
275142008-08-13 Eric Seidel <eric@webkit.org>
27515
27516 Reviewed by Niko.
27517
eric@webkit.org5b265602008-08-14 00:29:26 +000027518 Make Images RefCounted (and clean up callers)
27519 https://bugs.webkit.org/show_bug.cgi?id=20351
27520
27521 * editing/DeleteButtonController.cpp:
27522 (WebCore::DeleteButtonController::createDeletionUI):
27523 * loader/CachedImage.cpp:
27524 (WebCore::CachedImage::CachedImage):
27525 (WebCore::brokenImage):
27526 (WebCore::nullImage):
27527 (WebCore::CachedImage::image):
27528 (WebCore::CachedImage::notifyObservers):
27529 (WebCore::CachedImage::createImage):
27530 * loader/CachedImage.h:
27531 * loader/icon/IconRecord.cpp:
27532 (WebCore::IconRecord::setImageData):
27533 (WebCore::IconRecord::loadImageFromResource):
27534 * loader/icon/IconRecord.h:
27535 * platform/graphics/BitmapImage.h:
27536 (WebCore::BitmapImage::create):
27537 * platform/graphics/GeneratedImage.h:
27538 * platform/graphics/Gradient.cpp:
27539 * platform/graphics/Gradient.h:
27540 * platform/graphics/Image.cpp:
27541 (WebCore::Image::nullImage):
27542 * platform/graphics/Image.h:
27543 * platform/graphics/ImageBuffer.h:
27544 * platform/graphics/cairo/ImageBufferCairo.cpp:
27545 (WebCore::ImageBuffer::image):
27546 * platform/graphics/cg/ImageBufferCG.cpp:
27547 (WebCore::ImageBuffer::image):
27548 (WebCore::ImageBuffer::getImageData):
27549 (WebCore::ImageBuffer::putImageData):
27550 * platform/graphics/cg/PDFDocumentImage.h:
27551 (WebCore::PDFDocumentImage::create):
27552 (WebCore::PDFDocumentImage::destroyDecodedData):
27553 (WebCore::PDFDocumentImage::decodedSize):
27554 * platform/graphics/gtk/ImageGtk.cpp:
27555 (WebCore::Image::loadPlatformResource):
27556 * platform/graphics/mac/ImageMac.mm:
27557 (WebCore::Image::loadPlatformResource):
27558 * rendering/RenderImage.cpp:
27559 * rendering/RenderLayer.cpp:
27560 (WebCore::RenderLayer::paintOverflowControls):
27561 * svg/graphics/SVGImage.cpp:
27562 (WebCore::SVGImage::nativeImageForCurrentFrame):
27563 * svg/graphics/SVGImage.h:
27564 (WebCore::SVGImage::create):
27565 (WebCore::SVGImage::destroyDecodedData):
27566 (WebCore::SVGImage::decodedSize):
27567 (WebCore::SVGImage::frameAtIndex):
27568 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
27569 (WebCore::SVGPaintServerPattern::setup):
27570 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
27571 (WebCore::SVGResourceMasker::applyMask):
27572 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
27573 (WebCore::patternCallback):
27574 * svg/graphics/cg/SVGResourceMaskerCg.mm:
27575 (WebCore::SVGResourceMasker::applyMask):
27576
275772008-08-13 Eric Seidel <eric@webkit.org>
27578
27579 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000027580
27581 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000027582 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000027583
27584 There are some down-sides to this commit.
27585 This commit limits us to 255 levels of grey for calls like:
27586 context.setStrokeStyle(.37, 1.0)
27587 previously CG might have used up to 32bits to store the grey level
27588 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
27589
27590 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
27591 to RGBA32 (like all the rest of colors in WebCore), thus:
27592 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
27593 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
27594
27595 If this is a problem for Dashboard, we can either roll out this commit
27596 or add a beefier Color abstraction, which can be used internally by GraphicsContext
27597 when keeping state, and then GraphicsContext can grow some additional set* routines
27598 for setting the a grey/float/whatever fill and stroke.
27599
27600 * html/CanvasRenderingContext2D.cpp:
27601 (WebCore::CanvasRenderingContext2D::setFillStyle):
27602 * html/CanvasStyle.cpp:
27603 (WebCore::CanvasStyle::CanvasStyle):
27604 (WebCore::colorWithOverrideAlpha):
27605 (WebCore::CanvasStyle::applyStrokeColor):
27606 (WebCore::CanvasStyle::applyFillColor):
27607 * html/CanvasStyle.h:
27608 * platform/graphics/Color.cpp:
27609 (WebCore::colorFloatToRGBAByte):
27610 (WebCore::makeRGBA32FromFloats):
27611 * platform/graphics/Color.h:
27612
adele@apple.com83e44822008-08-13 23:50:41 +0000276132008-08-13 Eric Carlson <eric.carlson@apple.com>
27614
27615 Reviewed by Adele Peterson.
27616
27617 Fix for <rdar://problem/6137931>
27618 https://bugs.webkit.org/show_bug.cgi?id=20360
27619 Remove all parameters from the MIME type before checking with the MIME type registry
27620
27621 Tests: media/video-source-type-params.html
27622
27623 * html/HTMLMediaElement.cpp:
27624 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
27625 to isSupportedMediaMIMEType()
27626
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000276272008-08-13 Beth Dakin <bdakin@apple.com>
27628
27629 Reviewed by Sam Weinig.
27630
27631 Fix for <rdar://problem/6141345>
27632
27633 This patch refines findString and markAllMatchesForText functions'
27634 interactions with disconnected frames. They no longer rely on
27635 knowing where a range is relative to the visible region and work
27636 with disconnected frames that contain frames.
27637
27638 * editing/Editor.cpp:
27639 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
27640 the visiblity enum.
27641 (WebCore::Editor::firstVisibleRange): This now returns the very
27642 first visible range in the document. It's no longer dependent on
27643 searching forward.
27644 (WebCore::Editor::lastVisibleRange): This now returns the very last
27645 visible range in the document. It's no longer dependent on
27646 searching backwards.
27647 (WebCore::Editor::nextVisibleRange): This returns the next visible
27648 range in the appropriate direction from the current range.
27649 * editing/Editor.h:
27650 * page/Frame.cpp:
27651 (WebCore::Frame::findString):
27652 (WebCore::Frame::markAllMatchesForText):
27653
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000276542008-08-13 Kevin Ollivier <kevino@theolliviers.com>
27655
27656 wx build fix for case-sensitive platforms, like Linux.
27657
27658 * WebCoreSources.bkl:
27659
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000276602008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
27661
27662 Reviewed by Holger Freyther.
27663
27664 http://bugs.webkit.org/show_bug.cgi?id=16881
27665 [GTK] PlatformScreenGtk is unimplemented
27666
27667 Original patch by Christian Dywan.
27668
27669 * platform/gtk/PlatformScreenGtk.cpp:
27670 (WebCore::screenDepth):
27671 (WebCore::screenDepthPerComponent):
27672 (WebCore::screenIsMonochrome):
27673 (WebCore::screenRect):
27674 (WebCore::screenAvailableRect):
27675
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000276762008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
27677
27678 Reviewed by Holger Freyther.
27679
27680 http://bugs.webkit.org/show_bug.cgi?id=20318
27681 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
27682
27683 g_idle_add is the same as g_idle_add_full with a priority of
27684 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
27685
27686 * platform/gtk/SharedTimerGtk.cpp:
27687 (WebCore::setSharedTimerFireTime):
27688
timothy@apple.comf0426602008-08-13 18:11:01 +0000276892008-08-13 Timothy Hatcher <timothy@apple.com>
27690
27691 Changed the InspectorController so it can be notified when the
27692 attached state of the Inspector changes in WebKit.
27693
27694 Reviewed by Kevin McCullough.
27695
27696 * WebCore.base.exp: Updated the symbol for setWindowVisible.
27697 * page/InspectorController.cpp:
27698 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
27699 that defaults to false.Call setAttachedWindow with the attached argument.
27700 (WebCore::InspectorController::setAttachedWindow): Call the script version
27701 of setAttachedWindow.
27702 * page/InspectorController.h:
27703 * page/inspector/inspector.js:
27704 (WebInspector.setAttachedWindow): Set the attached property.
27705
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000277062008-08-12 Timothy Hatcher <timothy@apple.com>
27707
timothy@apple.com72c92ae2008-08-13 18:10:45 +000027708 Added a close button to the Inspector's toolbar when docked.
27709
27710 https://bugs.webkit.org/show_bug.cgi?id=14270
27711
27712 Reviewed by Kevin McCullough.
27713
27714 * page/InspectorController.cpp:
27715 (WebCore::closeWindow): Call InspectorController::closeWindow.
27716 (WebCore::InspectorController::windowScriptObjectAvailable):
27717 Added closeWindow to the script class.
27718 * page/InspectorController.h:
27719 * page/inspector/Images/closeButtons.png: Added.
27720 * page/inspector/inspector.css: Added and changed styles.
27721 * page/inspector/inspector.html: Added the close button.
27722 * page/inspector/inspector.js:
27723 (WebInspector.loaded): Added click event listener to the close button.
27724 (WebInspector.close): Call InspectorController.closeWindow.
27725
277262008-08-12 Timothy Hatcher <timothy@apple.com>
27727
timothy@apple.com9ea832b2008-08-13 18:10:36 +000027728 Make the docked Web Inspector resizable. This is the cross platform
27729 portion of the code. Each InspectorClient needs to implement the
27730 real resize code.
27731
27732 https://bugs.webkit.org/show_bug.cgi?id=14282
27733
27734 Reviewed by Kevin McCullough.
27735
27736 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
27737 * page/InspectorClient.h: Added setAttachedWindowHeight.
27738 * page/InspectorController.cpp:
27739 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
27740 on the InspectorController.
27741 (WebCore::InspectorController::setAttachedWindowHeight): Call
27742 setAttachedWindowHeight on the client.
27743 (WebCore::InspectorController::windowScriptObjectAvailable):
27744 Added setAttachedWindowHeight to the script class.
27745 * page/InspectorController.h:
27746 * page/inspector/inspector.css: Make the cursor on the toolbar be
27747 row-resize when docked.
27748 * page/inspector/inspector.js:
27749 (WebInspector.loaded): Always add the toolbarDragStart event listener.
27750 (WebInspector.toolbarDragStart): Return early if we are not attached
27751 and not on Leopard. Call WebInspector.elementDragStart.
27752 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
27753 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
27754 otherwise call moveByUnrestricted.
27755
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000277562008-08-13 Simon Hausmann <hausmann@webkit.org>
27757
27758 Reviewed by Holger.
27759
27760 Initialize m_zoomsTextOnly in the Settings constructor.
27761
27762 * page/Settings.cpp:
27763 (WebCore::Settings::Settings):
27764
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000277652008-08-13 Brad Hughes <bhughes@trolltech.com>
27766
27767 Reviewed by Simon.
27768
27769 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
27770
27771 The latest upgrade of the intel compiler allows us to compile all of
27772 Qt with optimizations enabled (yay!).
27773
27774 * WebCore.pro:
27775
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000277762008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
27777
27778 Reviewed by Simon.
27779
27780 Fix QtWebKit not displaying content on 403 HTTP responses
27781
27782 Just like with 404 responses also display content with 403, as
27783 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
27784
27785 * platform/network/qt/QNetworkReplyHandler.cpp:
27786 (WebCore::QNetworkReplyHandler::finish):
27787
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000277882008-08-13 Simon Hausmann <hausmann@webkit.org>
27789
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000027790 Reviewed by Holger.
27791
27792 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
27793
27794 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
27795
27796 * platform/text/String.cpp:
27797 (WebCore::String::format):
27798
277992008-08-13 Simon Hausmann <hausmann@webkit.org>
27800
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000027801 Reviewed by Lars.
27802
27803 Fix QWebFrame::setHtml() not setting the new contents immediately.
27804
27805 Added a setter to the DocumentLoader to toggle the deferred loading of the main
27806 resource when it comes from substitute data.
27807
27808 Disable deferred loading of the main resource when we have valid substitute data,
27809 as used by QWebFrame::setHtml.
27810
27811 * loader/DocumentLoader.h:
27812
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000278132008-08-13 Mark Rowe <mrowe@apple.com>
27814
27815 Speculative GTK build fix.
27816
27817 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
27818
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000278192008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
27820
27821 Reviewed by Simon.
27822
27823 Fix encoding of [ and ] in the host part of the URL
27824
27825 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
27826 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
27827 doesn't encode [ and ] when they are found in the host part. That is, the
27828 following URL:
27829 http://[::1]/
27830 is valid and should not be reencoded to:
27831 http://%5b::1%5d/
27832
27833 * platform/qt/KURLQt.cpp:
27834 (WebCore::KURL::operator QUrl):
27835
mitz@apple.come198b012008-08-12 21:49:07 +0000278362008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
27837
27838 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
27839 Broken HTML object elements cause de-reference of pointer to freed memory.
27840 If we fail to load an image for an object tag and we no longer believe the object tag points at
27841 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
27842 fall back content.
27843
27844 Reviewed by Dave Hyatt and Alexey Proskuryakov.
27845
27846 Test: http/tests/misc/object-image-error-with-onload.html
27847
27848 * html/HTMLObjectElement.cpp:
27849 (WebCore::HTMLObjectElement::renderFallbackContent):
27850 * page/Frame.cpp:
27851 (WebCore::Frame::Frame):
27852
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000278532008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
27854
27855 Reviewed by Dave.
27856
27857 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
27858 Masks are translated, and the mask images are swapped on the y-axis.
27859
27860 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
27861 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
27862
27863 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
27864 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
27865
27866 * svg/graphics/cg/SVGResourceMaskerCg.mm:
27867 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
27868
mitz@apple.comf8a98692008-08-12 17:04:42 +0000278692008-08-12 Dan Bernstein <mitz@apple.com>
27870
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000027871 - WebCore part of <rdar://problem/6121636>
27872 Make fast*alloc() abort() on failure and add "try" variants that
27873 return NULL on failure.
27874
27875 Reviewed by Darin Adler.
27876
27877 * platform/Arena.cpp:
27878 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
27879 result.
27880 * platform/graphics/cg/ImageBufferCG.cpp:
27881 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
27882
278832008-08-12 Dan Bernstein <mitz@apple.com>
27884
mitz@apple.com1e09cd72008-08-12 18:27:58 +000027885 Reviewed by Darin Adler.
27886
27887 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
27888 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
27889
27890 Test: fast/frames/frameset-style-recalc.html
27891
27892 * html/HTMLFrameSetElement.cpp:
27893 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
27894 class implementation after marking for layout.
27895
278962008-08-12 Dan Bernstein <mitz@apple.com>
27897
mitz@apple.comf8a98692008-08-12 17:04:42 +000027898 Reviewed by John Sullivan.
27899
27900 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
27901
27902 * WebCore.base.exp:
27903 * page/FrameView.cpp:
27904 (WebCore::FrameViewPrivate::FrameViewPrivate):
27905 (WebCore::FrameView::shouldUpdateWhileHidden):
27906 (WebCore::FrameView::setShouldUpdateWhileHidden):
27907 * page/FrameView.h:
27908 * page/Settings.cpp:
27909 * page/Settings.h:
27910
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000279112008-08-12 Adam Roben <aroben@apple.com>
27912
27913 Windows build fix
27914
27915 * bindings/js/JSSVGPODTypeWrapper.h: Align
27916 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
27917 members on 16-byte boundaries to avoid an alignment warning.
27918
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000279192008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
27920
27921 Reviewed by Oliver.
27922
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000027923 Add new dynamice-update layout tests covering SVGMarkerElement.
27924 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
27925 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
27926
27927 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
27928 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
27929 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
27930 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
27931 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
27932 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
27933 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
27934 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
27935 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
27936 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
27937 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
27938 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
27939 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
27940 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
27941 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
27942
27943 * svg/SVGMarkerElement.cpp:
27944 (WebCore::SVGMarkerElement::SVGMarkerElement):
27945 (WebCore::SVGMarkerElement::parseMappedAttribute):
27946 (WebCore::SVGMarkerElement::svgAttributeChanged):
27947 (WebCore::SVGMarkerElement::childrenChanged):
27948 (WebCore::SVGMarkerElement::setOrientToAuto):
27949 (WebCore::SVGMarkerElement::setOrientToAngle):
27950 (WebCore::SVGMarkerElement::canvasResource):
27951
279522008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
27953
27954 Reviewed by Oliver.
27955
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000027956 Add new dynamic-update layout tests covering SVGImageElement.
27957 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
27958
27959 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
27960 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
27961 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
27962 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
27963 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
27964 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
27965 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
27966 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
27967 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
27968 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
27969
27970 * svg/SVGImageElement.cpp:
27971 (WebCore::SVGImageElement::svgAttributeChanged):
27972
timothy@apple.com93114722008-08-12 04:20:25 +0000279732008-08-11 Anthony Ricaud <rik24d@gmail.com>
27974
timothy@apple.com2f2cde32008-08-12 04:28:16 +000027975 Changed Option/Alt-Up or Down in CSS editing when the value is
27976 near zero to jump to the next integer.
27977
27978 Reviewed by Tim Hatcher.
27979
27980 https://bugs.webkit.org/show_bug.cgi?id=20326
27981
27982 * page/inspector/StylesSidebarPane.js:
27983
279842008-08-11 Anthony Ricaud <rik24d@gmail.com>
27985
timothy@apple.com93114722008-08-12 04:20:25 +000027986 Changed the line highlight transition for an easier animation.
27987
27988 Reviewed by Tim Hatcher.
27989
27990 * page/inspector/SourceFrame.js:
27991
timothy@apple.com24a14852008-08-12 03:57:39 +0000279922008-08-11 Keishi Hattori <casey.hattori@gmail.com>
27993
27994 Added support for some Firebug Command Line APIs.
27995
27996 Reviewed by Tim Hatcher.
27997
27998 https://bugs.webkit.org/show_bug.cgi?id=19867
27999 https://bugs.webkit.org/show_bug.cgi?id=19868
28000 https://bugs.webkit.org/show_bug.cgi?id=19869
28001 https://bugs.webkit.org/show_bug.cgi?id=19875
28002 https://bugs.webkit.org/show_bug.cgi?id=19876
28003 https://bugs.webkit.org/show_bug.cgi?id=19880
28004
28005 * page/inspector/Console.js:
28006 (WebInspector.Console.prototype._evalInInspectedWindow):
28007 Create an object on the inspected window that holds the console
28008 command line API functions. This object is used in a with statement
28009 around the typed expression.
28010
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000280112008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
28012
28013 Reviewed by Antti.
28014
28015 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
28016
28017 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
28018 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
28019
28020 Added tests: svg/custom/svg-modify-currentTranslate.html
28021 svg/custom/tearoffs-with-tearoffs.html
28022 svg/custom/immutable-properties.html
28023
28024 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
28025
28026 * bindings/js/JSSVGPODTypeWrapper.h:
28027 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
28028 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
28029 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
28030 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
28031 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
28032 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
28033 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
28034 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
28035 * bindings/scripts/CodeGenerator.pm:
28036 * bindings/scripts/CodeGeneratorJS.pm:
28037 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
28038 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
28039
beidson@apple.com0e772f72008-08-12 00:34:46 +0000280402008-08-11 Brady Eidson <beidson@apple.com>
28041
28042 Reviewed by John and Anders
28043
28044 Fix for <rdar://problem/6141797>
28045
28046 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
28047 would never have nil data.
28048
28049 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
28050 semantics with some WebKit applications.
28051
28052 The guarantee was a good one and should be restored.
28053
28054 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
28055 creates an empty data object in the case of null data for its own purposes.
28056
28057 * loader/SubstituteResource.h:
28058 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
28059 well help any future subclassers not make this mistake.
28060
28061 * loader/archive/ArchiveResource.cpp:
28062 (WebCore::ArchiveResource::create): Return 0 if the data is null.
28063
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000280642008-08-11 Simon Fraser <simon.fraser@apple.com>
28065
28066 Reviewed by Dave Hyatt
28067
28068 https://bugs.webkit.org/show_bug.cgi?id=20328
28069 Fix a problem when an 'all' transition transition with more than
28070 one property changing is interrupted, and did some AnimationController
28071 cleanup.
28072
28073 Test: transitions/interrupted-all-transition.html
28074
28075 * page/AnimationController.cpp:
28076 (WebCore::ImplicitAnimation::ImplicitAnimation):
28077 (WebCore::AnimationControllerPrivate::blendProperties):
28078 (WebCore::CompositeAnimation::updateTransitions):
28079 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
28080 (WebCore::CompositeAnimation::setTransitionStartTime):
28081 (WebCore::CompositeAnimation::overrideImplicitAnimations):
28082 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
28083 (WebCore::ImplicitAnimation::animate):
28084 (WebCore::ImplicitAnimation::onAnimationEnd):
28085 (WebCore::ImplicitAnimation::sendTransitionEvent):
28086 (WebCore::ImplicitAnimation::affectsProperty):
28087 (WebCore::KeyframeAnimation::endAnimation):
28088 (WebCore::KeyframeAnimation::onAnimationEnd):
28089
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000280902008-08-11 Kevin McCullough <kmccullough@apple.com>
28091
28092 Reviewed by Tim.
28093
28094 - Because console messages have group levels now, newly created messages
28095 that do not specify the level lose their message since the number of
28096 arguments is wrong.
28097
28098 * page/inspector/Console.js:
28099 * page/inspector/Resource.js:
28100
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000281012008-08-11 Alp Toker <alp@nuanti.com>
28102
28103 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
28104 the opportunity to sort the sources lists.
28105
28106 * GNUmakefile.am:
28107
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000281082008-08-11 Timothy Hatcher <timothy@apple.com>
28109
28110 Speed up the the JavaScript syntax highlighter by generating
28111 the finders only once per script instead of per line.
28112
28113 https://bugs.webkit.org/show_bug.cgi?id=20346
28114
28115 Reviewed by Adam Roben.
28116
28117 * page/inspector/SourceFrame.js:
28118 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
28119 Removed, factored into syntaxHighlightJavascript as an inline function.
28120 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
28121 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
28122 Generate the finders before iterating the lines.
28123
aroben@apple.com957d2d32008-08-11 18:31:37 +0000281242008-08-11 Adam Roben <aroben@apple.com>
28125
28126 Windows build fix
28127
28128 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
28129 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
28130 too.
28131
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000281322008-08-11 Dan Bernstein <mitz@apple.com>
28133
28134 Reviewed by Darin Adler.
28135
28136 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
28137
28138 Test: fast/css/counters/invalidate-cached-counter-node.html
28139
28140 * rendering/RenderContainer.cpp:
28141 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
28142 RenderCounters in :before and :after content.
28143 * rendering/RenderContainer.h:
28144 * rendering/RenderCounter.cpp:
28145 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
28146 to match the RenderObject method.
28147 (WebCore::RenderCounter::invalidate): Added. Resets the cached
28148 CounterNode and invalidates the object's layout and preferred widths.
28149 (WebCore::destroyCounterNodeChildren): Added a call to
28150 invalidateCounters().
28151 * rendering/RenderCounter.h:
28152 * rendering/RenderObject.h:
28153 (WebCore::RenderObject::invalidateCounters):
28154
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000281552008-08-11 Dean Jackson <dino@apple.com>
28156
28157 Implement CSS Animation and Transition Events
28158 https://bugs.webkit.org/show_bug.cgi?id=20337
28159
28160 Implement the events defined in the CSS Animations
28161 and Transitions specifications so code can react
28162 to animations and transitions.
28163
28164 Reviewed by Tim Hatcher and Dave Hyatt.
28165
28166 * DerivedSources.make:
28167 * GNUmakefile.am:
28168 * WebCore.pro:
28169 * WebCore.vcproj/WebCore.vcproj:
28170 * WebCore.xcodeproj/project.pbxproj:
28171 * WebCoreSources.bkl:
28172 Build configs for new files
28173
28174 * bindings/js/JSDOMWindowBase.cpp:
28175 * bindings/js/JSDOMWindowBase.h:
28176 * bindings/js/JSEventCustom.cpp:
28177 * dom/Document.h:
28178 * dom/Event.cpp:
28179 * dom/Event.h:
28180 * dom/EventTarget.cpp:
28181 * dom/EventTargetNode.cpp:
28182 * dom/EventTargetNode.h:
28183 * html/HTMLElement.cpp:
28184 * page/AnimationController.cpp:
28185 do all the new event stuff
28186
28187 * html/HTMLAttributeNames.in:
28188 the onwebkitanimation* and onwebkittransitionend attrs
28189
28190 * dom/WebKitAnimationEvent.cpp: Added.
28191 * dom/WebKitAnimationEvent.h: Added.
28192 * dom/WebKitAnimationEvent.idl: Added.
28193 * dom/WebKitTransitionEvent.cpp: Added.
28194 * dom/WebKitTransitionEvent.h: Added.
28195 * dom/WebKitTransitionEvent.idl: Added.
28196 New files for the events
28197
28198 * manual-tests/transition-events.html: Added.
28199 New testfile
28200
aroben@apple.com3eae8622008-08-11 17:21:23 +0000282012008-08-11 Adam Roben <aroben@apple.com>
28202
28203 Add a ForwardingHeader for wtf/NotFound.h
28204
28205 Rubberstamped by Darin Adler.
28206
28207 * ForwardingHeaders/wtf/NotFound.h: Added.
28208
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000282092008-08-11 Timothy Hatcher <timothy@apple.com>
28210
28211 Fixes a bug where error bubbles in JavaScript resources would
28212 be clobbered by the syntax highlighter.
28213
28214 https://bugs.webkit.org/show_bug.cgi?id=20345
28215
28216 Reviewed by Adam Roben.
28217
28218 * manual-tests/inspector/resources/script-error.js: Added.
28219 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
28220 * page/inspector/SourceFrame.js:
28221 (WebInspector.SourceFrame.prototype._addMessageToSource):
28222 Check the nodeType and not the nodeName, this is less fragile.
28223 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
28224 Check if the lastChild is an error bubble, if so remove it before
28225 getting the line's textContent. Add the error bubble back at the end.
28226
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000028227== Rolled over to ChangeLog-2008-08-10 ==