blob: 20c9f14e2e1c953f1ac54bdebb87c47fbab5cdb3 [file] [log] [blame]
darin@apple.com21f89012008-11-16 19:39:03 +000012008-11-16 Darin Adler <darin@apple.com>
2
darin@apple.comda5c6a12008-11-16 19:58:28 +00003 Suggested by Alexey Proskuryakov.
4
5 - fix the GTK build another way
6
7 * GNUmakefile.am: Add the worker-related source files.
8 * bindings/js/JSEventTarget.cpp: Take the #if back out.
9
102008-11-16 Darin Adler <darin@apple.com>
11
darin@apple.com4c044bb2008-11-16 19:51:12 +000012 - try to fix GTK build
13
14 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
15
162008-11-16 Darin Adler <darin@apple.com>
17
darin@apple.com21f89012008-11-16 19:39:03 +000018 Reviewed by Dan Bernstein.
19
20 - https://bugs.webkit.org/show_bug.cgi?id=22295
21 track which history items are from page load failures
22
23 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
24 no-longer-needed ones.
25 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
26 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
27 String, since that's not efficient.
28
29 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
30 setLastVisitWasFailure, and m_lastVisitWasFailure.
31
32 * history/mac/HistoryItemMac.mm: Add newly-needed include
33 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
34 m_transientProperties map around when it is empty.
35
36 * loader/FrameLoader.cpp:
37 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
38 the page was unreachable or an HTTP page with a status code that indicates
39 failure.
40
staikos@webkit.org01b961b2008-11-16 12:45:29 +0000412008-11-16 Yong Li <yong.li@torchmobile.com>
42
43 Reviewed by Timothy Hatcher.
44 Landed by George Staikos.
45
46 Optimization: don't relayout, repaint, or emit a DOM event if the
47 scroll event didn't scroll anywhere.
48
49 * rendering/RenderLayer.cpp:
50 (WebCore::RenderLayer::scrollToOffset): add early exit
51
ap@webkit.org5248e232008-11-16 10:05:23 +0000522008-11-16 Alexey Proskuryakov <ap@webkit.org>
53
54 Reviewed by Dan Bernstein.
55
56 https://bugs.webkit.org/show_bug.cgi?id=22290
57 Remove cross-heap GC and MessagePort multi-threading support
58
59 It is broken (and may not be implementable at all), and no longer needed, as we
60 don't use MessagePorts for communication with workers any more.
61
62 * bindings/js/JSDOMBinding.cpp:
63 * bindings/js/JSDOMBinding.h:
64 * bindings/js/JSDOMWindowBase.cpp:
65 * bindings/js/JSDOMWindowBase.h:
66 Removed cross-heap GC implementation.
67
68 * dom/MessagePort.cpp:
69 (WebCore::MessagePort::hasPendingActivity):
70 * dom/MessagePort.h:
71 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
72 unnecessarily complicated for single threaded case.
73
ap@webkit.orge2011e82008-11-16 09:11:54 +0000742008-11-14 Alexey Proskuryakov <ap@webkit.org>
75
76 Reviewed by Maciej Stachowiak.
77
78 https://bugs.webkit.org/show_bug.cgi?id=22266
79 Stop using MessagePort for communication with workers
80
81 The current MessagePort specification is not well suited for being implemented in a
82 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
83 This patch implements a simpler Mozilla API for workers instead.
84
85 * WebCore.xcodeproj/project.pbxproj:
86 * DerivedSources.make:
87 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
88 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
89 * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
90 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
91 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
92 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
93 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
94 * dom/DedicatedWorker.cpp: Removed.
95 * dom/DedicatedWorker.h: Removed.
96 * dom/DedicatedWorker.idl: Removed.
97 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
98
99 * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
100 Clear worker exceptions to avoid hitting an assertion.
101
102 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
103 * dom/EventTarget.h:
104 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
105 WorkerContext is now an EventTarget, too.
106
107 * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
108 MessagePort. Added postMessage() and onmessage.
109
110 * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
111 when posting a task - this operation is not thread safe. It is also not necessary any more,
112 as the context is kept alive by WorkerMessagingProxy.
113
114 * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
115 (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
116 that on a timer.
117 (WebCore::Worker::~Worker): Notify messaging proxy.
118 (WebCore::Worker::postMessage): Just ask the proxy to post the message.
119 (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
120 available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
121 I'm not sure if this is the right lifetime for workers, as unreachable workers with event
122 listeners should probably be kept alive, but it at least lets the object be collected.
123 (WebCore::Worker::addEventListener): Added an EventTarget implementation.
124 (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
125 (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
126
127 * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
128 * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
129 Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
130
131 * dom/WorkerContext.cpp:
132 (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
133 down successfully.
134 (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
135
136 * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
137
138 * dom/WorkerMessagingProxy.cpp: Added.
139 * dom/WorkerMessagingProxy.h: Added.
140 This new class implements actual messaging. It is notified when a Worker is garbage collected,
141 and asks the thread to shut down. It also owns the thread object, and references script
142 execution context, making it safe to post messages to it remotely.
143
144 * dom/WorkerThread.cpp:
145 * dom/WorkerThread.h:
146 Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
147 keeps itself alive - it is now the job of messaging proxy.
148
darin@apple.com3f57a492008-11-16 04:35:22 +00001492008-11-15 Darin Adler <darin@apple.com>
150
darin@apple.coma9778f92008-11-16 04:40:06 +0000151 Rubber stamped by Geoff Garen.
152
153 - do the long-planned StructureID -> Structure rename
154
155 * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
156 * ForwardingHeaders/runtime/StructureID.h: Removed.
157 * bindings/js/JSAudioConstructor.cpp:
158 (WebCore::JSAudioConstructor::JSAudioConstructor):
159 * bindings/js/JSDOMBinding.cpp:
160 (WebCore::getCachedDOMStructure):
161 (WebCore::cacheDOMStructure):
162 * bindings/js/JSDOMBinding.h:
163 (WebCore::DOMObject::DOMObject):
164 (WebCore::getDOMStructure):
165 * bindings/js/JSDOMGlobalObject.cpp:
166 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
167 * bindings/js/JSDOMGlobalObject.h:
168 * bindings/js/JSDOMWindowBase.cpp:
169 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
170 * bindings/js/JSDOMWindowBase.h:
171 * bindings/js/JSDOMWindowShell.cpp:
172 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
173 (WebCore::JSDOMWindowShell::setWindow):
174 * bindings/js/JSDOMWindowShell.h:
175 (WebCore::JSDOMWindowShell::createStructure):
176 * bindings/js/JSDedicatedWorkerConstructor.cpp:
177 (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
178 * bindings/js/JSHTMLAllCollection.h:
179 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
180 (WebCore::JSHTMLAllCollection::createStructure):
181 * bindings/js/JSImageConstructor.cpp:
182 (WebCore::JSImageConstructor::JSImageConstructor):
183 * bindings/js/JSInspectedObjectWrapper.cpp:
184 (WebCore::JSInspectedObjectWrapper::wrap):
185 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
186 * bindings/js/JSInspectedObjectWrapper.h:
187 * bindings/js/JSInspectorCallbackWrapper.cpp:
188 (WebCore::leakInspectorCallbackWrapperStructure):
189 (WebCore::JSInspectorCallbackWrapper::wrap):
190 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
191 * bindings/js/JSInspectorCallbackWrapper.h:
192 * bindings/js/JSMessageChannelConstructor.cpp:
193 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
194 * bindings/js/JSNamedNodesCollection.h:
195 (WebCore::JSNamedNodesCollection::createStructure):
196 * bindings/js/JSOptionConstructor.cpp:
197 (WebCore::JSOptionConstructor::JSOptionConstructor):
198 * bindings/js/JSQuarantinedObjectWrapper.cpp:
199 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
200 * bindings/js/JSQuarantinedObjectWrapper.h:
201 (WebCore::JSQuarantinedObjectWrapper::createStructure):
202 * bindings/js/JSRGBColor.h:
203 (WebCore::JSRGBColor::createStructure):
204 * bindings/js/JSWorkerContext.cpp:
205 (WebCore::createJSWorkerContextStructure):
206 (WebCore::JSWorkerContext::JSWorkerContext):
207 (WebCore::JSWorkerContext::createPrototype):
208 * bindings/js/JSWorkerContext.h:
209 (WebCore::JSWorkerContext::createStructure):
210 (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
211 (WebCore::JSWorkerContextPrototype::createStructure):
212 * bindings/js/JSXMLHttpRequestConstructor.cpp:
213 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
214 * bindings/js/JSXSLTProcessorConstructor.cpp:
215 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
216 * bindings/scripts/CodeGeneratorJS.pm:
217 * bridge/objc/objc_runtime.h:
218 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
219 * bridge/qt/qt_runtime.cpp:
220 (JSC::Bindings::QtConnectionObject::execute):
221 * bridge/qt/qt_runtime.h:
222 (JSC::Bindings::QtRuntimeMethod::createStructure):
223 * bridge/runtime_array.h:
224 (JSC::RuntimeArray::createStructure):
225 * bridge/runtime_method.h:
226 (JSC::RuntimeMethod::createStructure):
227 * bridge/runtime_object.cpp:
228 (JSC::RuntimeObjectImp::RuntimeObjectImp):
229 * bridge/runtime_object.h:
230 (JSC::RuntimeObjectImp::createStructure):
231
2322008-11-15 Darin Adler <darin@apple.com>
233
darin@apple.com3f57a492008-11-16 04:35:22 +0000234 Reviewed by Dan Bernstein.
235
236 - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
237
238 This gets rid of the crash. It restores the behavior of the CG case from before Dirk
239 Shulze removed the platorm-dependent code, but perhaps it should be changed further
240 in the future so that the default for no style is "no stroke". I think the patch is
241 fine for fill.
242
243 * svg/graphics/SVGPaintServerSolid.cpp:
244 (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
245 (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
246
kevino@webkit.org3aafa582008-11-15 23:39:35 +00002472008-11-15 Kevin Ollivier <kevino@theolliviers.com>
248
249 Reviewed by Timothy Hatcher.
250
251 Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
252
253 https://bugs.webkit.org/show_bug.cgi?id=22284
254
255 * platform/network/NetworkStateNotifier.h:
256 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
257
krit@webkit.org290bb732008-11-15 20:48:41 +00002582008-11-15 Dirk Schulze <krit@webkit.org>
259
krit@webkit.org32f135b2008-11-15 23:24:04 +0000260 Reviewed by Geoffrey Garen.
261
262 r38426 caused a wrong drawing of a LayoutTest. Use another
263 way to set the color to pass this test again.
264
265 * svg/graphics/SVGPaintServerSolid.cpp:
266 (WebCore::SVGPaintServerSolid::setup):
267
2682008-11-15 Dirk Schulze <krit@webkit.org>
269
krit@webkit.org290bb732008-11-15 20:48:41 +0000270 Reviewed by Darin Adler.
271
272 Removed platform dependent code on SVGPaintServerSolid.
273
274 * GNUmakefile.am:
275 * WebCore.pro:
276 * WebCore.vcproj/WebCore.vcproj:
277 * WebCore.xcodeproj/project.pbxproj:
278 * svg/graphics/SVGPaintServerSolid.cpp:
279 (WebCore::SVGPaintServerSolid::setup):
280 (WebCore::SVGPaintServerSolid::renderPath):
281 * svg/graphics/SVGPaintServerSolid.h:
282 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
283 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
284 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
285
ggaren@apple.comb7024cd2008-11-15 19:55:20 +00002862008-11-15 Geoffrey Garen <ggaren@apple.com>
287
288 Reviewed by Sam Weinig.
289
290 Updated for JavaScriptCore renames.
291
292 * bindings/js/JSNodeCustom.cpp:
293 (WebCore::JSNode::mark):
294 * bindings/js/JSXMLHttpRequestCustom.cpp:
295 (WebCore::JSXMLHttpRequest::send):
296 * bindings/js/ScriptController.cpp:
297 (WebCore::ScriptController::evaluate):
298 * bindings/js/WorkerScriptController.cpp:
299 (WebCore::WorkerScriptController::evaluate):
300 * bindings/objc/WebScriptObject.mm:
301 (-[WebScriptObject evaluateWebScript:]):
302 * bridge/NP_jsobject.cpp:
303 (_NPN_Evaluate):
304 * bridge/jni/jni_jsobject.mm:
305 (JavaJSObject::eval):
306 * page/Console.cpp:
307 (WebCore::retrieveLastCaller):
308 (WebCore::Console::trace):
309
bolsinga@apple.com97e42c42008-11-15 04:47:20 +00003102008-11-14 Greg Bolsinga <bolsinga@apple.com>
311
312 Reviewed by Darin Adler.
313
314 https://bugs.webkit.org/show_bug.cgi?id=21810
315 Remove use of static C++ objects that are destroyed at exit time (destructors)
316
317 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
318 exit-time destructor. Update code that was changed to fix this issue that ran
319 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
320 in gcc build 5465). Also typdefs for template types needed to be added in some
321 cases so the type could make it through the macro successfully.
322
323 Basically code of the form:
324 static T m;
325 becomes:
326 DEFINE_STATIC_LOCAL(T, m, ());
327
328 Also any code of the form:
329 static T& m = *new T;
330 also becomes:
331 DEFINE_STATIC_LOCAL(T, m, ());
332
333 * ForwardingHeaders/wtf/StdLibExtras.h: Added.
334 * bindings/js/GCController.cpp:
335 (WebCore::gcController):
336 * bindings/js/JSDOMBinding.cpp:
337 (WebCore::wrapperSet):
338 * bindings/js/JSInspectedObjectWrapper.cpp:
339 (WebCore::wrappers):
340 * bindings/js/JSInspectorCallbackWrapper.cpp:
341 (WebCore::wrappers):
342 * bindings/js/JSNavigatorCustom.cpp:
343 (WebCore::needsYouTubeQuirk):
344 * bridge/runtime_root.cpp:
345 (JSC::Bindings::rootObjectSet):
346 * css/CSSMutableStyleDeclaration.cpp:
347 (WebCore::initShorthandMap):
348 (WebCore::CSSMutableStyleDeclaration::removeProperty):
349 * css/CSSPrimitiveValue.cpp:
350 (WebCore::CSSPrimitiveValue::cssText):
351 * css/CSSSelector.cpp:
352 (WebCore::CSSSelector::extractPseudoType):
353 * css/CSSStyleSelector.cpp:
354 (WebCore::screenEval):
355 (WebCore::printEval):
356 * dom/DOMImplementation.cpp:
357 (WebCore::addString):
358 (WebCore::isSVG10Feature):
359 (WebCore::isSVG11Feature):
360 (WebCore::DOMImplementation::isXMLMIMEType):
361 * dom/Document.cpp:
362 (WebCore::Document::hasPrefixNamespaceMismatch):
363 * dom/ScriptElement.cpp:
364 (WebCore::isSupportedJavaScriptLanguage):
365 * editing/ApplyStyleCommand.cpp:
366 (WebCore::styleSpanClassString):
367 * editing/HTMLInterchange.cpp:
368 (WebCore::):
369 * editing/IndentOutdentCommand.cpp:
370 (WebCore::indentBlockquoteString):
371 * editing/ReplaceSelectionCommand.cpp:
372 (WebCore::isInterchangeNewlineNode):
373 (WebCore::isInterchangeConvertedSpaceSpan):
374 * editing/htmlediting.cpp:
375 (WebCore::stringWithRebalancedWhitespace):
376 (WebCore::nonBreakingSpaceString):
377 * editing/markup.cpp:
378 (WebCore::appendAttributeValue):
379 (WebCore::appendEscapedContent):
380 (WebCore::shouldAddNamespaceAttr):
381 (WebCore::appendNamespace):
382 (WebCore::appendStartMarkup):
383 (WebCore::createMarkup):
384 * html/HTMLButtonElement.cpp:
385 (WebCore::HTMLButtonElement::type):
386 * html/HTMLElement.cpp:
387 (WebCore::HTMLElement::isRecognizedTagName):
388 (WebCore::inlineTagList):
389 (WebCore::blockTagList):
390 * html/HTMLFieldSetElement.cpp:
391 (WebCore::HTMLFieldSetElement::type):
392 * html/HTMLInputElement.cpp:
393 (WebCore::HTMLInputElement::type):
394 * html/HTMLKeygenElement.cpp:
395 (WebCore::HTMLKeygenElement::type):
396 * html/HTMLLegendElement.cpp:
397 (WebCore::HTMLLegendElement::type):
398 * html/HTMLOptGroupElement.cpp:
399 (WebCore::HTMLOptGroupElement::type):
400 * html/HTMLOptionElement.cpp:
401 (WebCore::HTMLOptionElement::type):
402 * html/HTMLParser.cpp:
403 (WebCore::HTMLParser::getNode):
404 (WebCore::HTMLParser::isHeaderTag):
405 (WebCore::HTMLParser::isResidualStyleTag):
406 (WebCore::HTMLParser::isAffectedByResidualStyle):
407 * html/HTMLSelectElement.cpp:
408 (WebCore::HTMLSelectElement::type):
409 * html/HTMLTextAreaElement.cpp:
410 (WebCore::HTMLTextAreaElement::type):
411 * inspector/InspectorController.cpp:
412 (WebCore::platform):
413 * inspector/JavaScriptDebugServer.cpp:
414 (WebCore::JavaScriptDebugServer::shared):
415 * inspector/JavaScriptProfile.cpp:
416 (WebCore::profileCache):
417 * inspector/JavaScriptProfileNode.cpp:
418 (WebCore::profileNodeCache):
419 * loader/FrameLoader.cpp:
420 (WebCore::localSchemes):
421 * loader/appcache/ApplicationCacheStorage.cpp:
422 (WebCore::cacheStorage):
423 * loader/archive/ArchiveFactory.cpp:
424 (WebCore::archiveMIMETypes):
425 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
426 * loader/icon/IconDatabase.cpp:
427 (WebCore::IconDatabase::defaultDatabaseFilename):
428 * page/EventHandler.cpp:
429 (WebCore::EventHandler::dragState):
430 * page/Frame.cpp:
431 (WebCore::createRegExpForLabels):
432 (WebCore::keepAliveSet):
433 * page/Page.cpp:
434 (WebCore::Page::groupName):
435 * page/SecurityOrigin.cpp:
436 (WebCore::isDefaultPortForProtocol):
437 (WebCore::SecurityOrigin::databaseIdentifier):
438 * page/mac/FrameMac.mm:
439 (WebCore::regExpForLabels):
440 * platform/KURL.cpp:
441 (WebCore::blankURL):
442 * platform/graphics/FontCache.cpp:
443 (WebCore::alternateFamilyName):
444 * platform/graphics/mac/FontCacheMac.mm:
445 (WebCore::FontCache::getSimilarFontPlatformData):
446 (WebCore::FontCache::getLastResortFallbackFont):
447 * platform/mac/CursorMac.mm:
448 (WebCore::leakNamedCursor):
449 (WebCore::pointerCursor):
450 (WebCore::crossCursor):
451 (WebCore::handCursor):
452 (WebCore::moveCursor):
453 (WebCore::verticalTextCursor):
454 (WebCore::cellCursor):
455 (WebCore::contextMenuCursor):
456 (WebCore::aliasCursor):
457 (WebCore::zoomInCursor):
458 (WebCore::zoomOutCursor):
459 (WebCore::copyCursor):
460 (WebCore::noneCursor):
461 (WebCore::progressCursor):
462 (WebCore::noDropCursor):
463 (WebCore::notAllowedCursor):
464 (WebCore::iBeamCursor):
465 (WebCore::waitCursor):
466 (WebCore::helpCursor):
467 (WebCore::eastResizeCursor):
468 (WebCore::northResizeCursor):
469 (WebCore::northEastResizeCursor):
470 (WebCore::northWestResizeCursor):
471 (WebCore::southResizeCursor):
472 (WebCore::southEastResizeCursor):
473 (WebCore::southWestResizeCursor):
474 (WebCore::westResizeCursor):
475 (WebCore::northSouthResizeCursor):
476 (WebCore::eastWestResizeCursor):
477 (WebCore::northEastSouthWestResizeCursor):
478 (WebCore::northWestSouthEastResizeCursor):
479 (WebCore::columnResizeCursor):
480 (WebCore::rowResizeCursor):
481 (WebCore::grabCursor):
482 (WebCore::grabbingCursor):
483 * platform/mac/ScrollbarThemeMac.mm:
484 (WebCore::ScrollbarTheme::nativeTheme):
485 * platform/mac/ThemeMac.mm:
486 (WebCore::platformTheme):
487 * platform/mac/ThreadCheck.mm:
488 (WebCoreReportThreadViolation):
489 * platform/network/NetworkStateNotifier.cpp:
490 (WebCore::networkStateNotifier):
491 * platform/network/mac/FormDataStreamMac.mm:
492 (WebCore::getStreamFormDataMap):
493 (WebCore::getStreamResourceHandleMap):
494 * platform/network/mac/ResourceResponseMac.mm:
495 (WebCore::ResourceResponse::platformLazyInit):
496 * platform/text/TextEncoding.cpp:
497 (WebCore::TextEncoding::isJapanese):
498 * plugins/PluginMainThreadScheduler.cpp:
499 (WebCore::PluginMainThreadScheduler::scheduler):
500 * rendering/RenderBlock.cpp:
501 (WebCore::continuationOutlineTable):
502 (WebCore::RenderBlock::addContinuationWithOutline):
503 (WebCore::RenderBlock::paintContinuationOutlines):
504 * rendering/RenderCounter.cpp:
505 (WebCore::counterMaps):
506 * rendering/RenderFlexibleBox.cpp:
507 (WebCore::RenderFlexibleBox::layoutVerticalBox):
508 * rendering/RenderListItem.cpp:
509 (WebCore::RenderListItem::markerText):
510 * rendering/RenderScrollbarTheme.cpp:
511 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
512 * rendering/RenderThemeMac.mm:
513 (WebCore::RenderThemeMac::systemFont):
514 * rendering/bidi.cpp:
515 (WebCore::RenderBlock::checkLinesForTextOverflow):
516 * rendering/style/RenderStyle.cpp:
517 (WebCore::RenderStyle::initialDashboardRegions):
518 (WebCore::RenderStyle::noneDashboardRegions):
519 * storage/Database.cpp:
520 (WebCore::guidMutex):
521 (WebCore::guidToVersionMap):
522 (WebCore::guidToDatabaseMap):
523 (WebCore::Database::databaseInfoTableName):
524 (WebCore::databaseVersionKey):
525 (WebCore::Database::getVersionFromDatabase):
526 (WebCore::Database::setVersionInDatabase):
527 (WebCore::guidForOriginAndName):
528 * storage/DatabaseTracker.cpp:
529 (WebCore::DatabaseTracker::tracker):
530 (WebCore::notificationMutex):
531 (WebCore::notificationQueue):
532 * storage/LocalStorage.cpp:
533 (WebCore::localStorageMap):
534 * svg/SVGAnimateMotionElement.cpp:
535 (WebCore::SVGAnimateMotionElement::rotateMode):
536 * svg/SVGAnimationElement.cpp:
537 (WebCore::SVGAnimationElement::calcMode):
538 (WebCore::SVGAnimationElement::attributeType):
539 (WebCore::SVGAnimationElement::isAdditive):
540 (WebCore::SVGAnimationElement::isAccumulated):
541 * svg/SVGLangSpace.cpp:
542 (WebCore::SVGLangSpace::xmlspace):
543 * svg/SVGSVGElement.cpp:
544 (WebCore::SVGSVGElement::contentScriptType):
545 (WebCore::SVGSVGElement::contentStyleType):
546 * svg/SVGStyleElement.cpp:
547 (WebCore::SVGStyleElement::type):
548 (WebCore::SVGStyleElement::media):
549 * svg/SVGTextContentElement.cpp:
550 (WebCore::SVGTextContentElement::parseMappedAttribute):
551 * svg/animation/SVGSMILElement.cpp:
552 (WebCore::SVGSMILElement::parseClockValue):
553 (WebCore::SVGSMILElement::restart):
554 (WebCore::SVGSMILElement::fill):
555 (WebCore::SVGSMILElement::repeatCount):
556 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
557 * svg/graphics/SVGResource.cpp:
558 (WebCore::clientMap):
559 (WebCore::SVGResource::removeClient):
560 * svg/graphics/SVGResourceMarker.cpp:
561 (WebCore::SVGResourceMarker::draw):
562 * xml/XMLHttpRequest.cpp:
563 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
564 (WebCore::preflightResultCache):
565 (WebCore::appendPreflightResultCacheEntry):
566 (WebCore::isSafeRequestHeader):
567 (WebCore::isOnAccessControlResponseHeaderWhitelist):
568 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
569 * xml/XPathExpressionNode.cpp:
570 (WebCore::XPath::Expression::evaluationContext):
571 * xml/XPathParser.cpp:
572 (WebCore::XPath::setUpAxisNamesMap):
573 (WebCore::XPath::isAxisName):
574 (WebCore::XPath::isNodeTypeName):
575 * xml/XPathValue.cpp:
576 (WebCore::XPath::Value::toNodeSet):
577
mitz@apple.comddf9b8c2008-11-15 04:24:35 +00005782008-11-14 Dan Bernstein <mitz@apple.com>
579
580 - attempt to fix the Qt build
581
582 * platform/qt/Localizations.cpp:
583 (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
584 needs to go somewhere else in addition to here.
585
kevino@webkit.org66e6bed2008-11-15 03:25:08 +00005862008-11-14 Kevin Ollivier <kevino@theolliviers.com>
587
588 wx build fix.
589
590 * platform/wx/LocalizedStringsWx.cpp:
591 (WebCore::contextMenuItemTagTextDirectionMenu):
592
mitz@apple.comd6ceec82008-11-14 23:50:00 +00005932008-11-14 Dan Bernstein <mitz@apple.com>
594
595 Reviewed by Darin Adler.
596
597 - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
598 - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
599
600 * WebCore.base.exp: Exported
601 WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
602
603 * editing/ApplyStyleCommand.cpp:
604 (StyleChange::init): Changed to always include the direction property
605 in the result if the unicode-bidi property is included.
606 (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
607 highest ancestor of the given node that establishes bidi embedding. If
608 that embedding agrees with the given allowed direction, finds the
609 second-highest embedding ancestor. Splits all nodes through that
610 ancestor. If the highest embedding ancestor did not need to be split,
611 it is returned.
612 (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
613 bidi embedding attributes and styles from all ancestors of the given
614 node up to its enclosing block or the given node.
615 (ApplyStyleCommand::applyInlineStyle): Added code to handle the
616 unicode-bidi property. Applying style the includes this property
617 involves removing all bidi embedding in effect, except for one-level
618 embedding that agrees with the desired embedding, then applying the
619 desired embedding where it is not already in effect.
620 (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
621 applyInlineStyle().
622 (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
623 "dir" attribute if necessary and the element if it becomes an unstyled
624 style span.
625 (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
626 property when removing the unicode-bidi property.
627 (ApplyStyleCommand::removeInlineStyle): Added a call to
628 removeHTMLBidiEmbeddingStyle().
629
630 * editing/ApplyStyleCommand.h:
631 * editing/Editor.cpp:
632 (Editor::textDirectionForSelection): Added. Returns the character-level
633 writing direction of the selection if it is uniform and simple (at most
634 one level of embedding).
635 (Editor::hasBidiSelection): Added. Returns true if the selection lies
636 entirely within a single block, and that block has direction:rtl or
637 contains any inline boxes with non-zero bidi embedding level.
638
639 * editing/Editor.h:
640 * editing/EditorCommand.cpp:
641 (stateTextWritingDirection): Added this helper function for deciding
642 the state of Text Direction submenu items.
643 (executeMakeTextWritingDirectionLeftToRight): Added. Applies
644 "unicode-bidi: embed; direction: ltr;".
645 (executeMakeTextWritingDirectionNatural): Added. Applies
646 "unicode-bidi: normal;"
647 (executeMakeTextWritingDirectionRightToLeft): Added. Applies
648 "unicode-bidi: embed; direction: rtl;".
649 (stateTextWritingDirectionLeftToRight): Added.
650 (stateTextWritingDirectionNatural): Added.
651 (stateTextWritingDirectionRightToLeft): Added.
652 (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
653 "MakeTextWritingDirectionNatural",
654 and "MakeTextWritingDirectionRightToLeft".
655
656 * editing/InsertTextCommand.cpp:
657 (InsertTextCommand::input): Added code to maintain the unicode-bidi
658 and direction properties in the typing style. Even if they have the
659 same values as the computed style at the caret, they need to be included
660 in the typing style so that inserted text will not inherit any nested
661 embedding.
662
663 * page/ContextMenuController.cpp:
664 (ContextMenuController::contextMenuItemSelected): Added calls to
665 the editor for the text direction menu items.
666
667 * page/Frame.cpp
668 (Frame::computeAndSetTypingStyle): Added code to maintain the
669 unicode-bidi and direction properties in the typing style.
670
671 * page/Settings.cpp:
672 (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
673
674 * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
675 an m_textDirectionSubmenuInclusionBehavior member, and accessors.
676
677 * page/mac/WebCoreViewFactory.h:
678 * platform/ContextMenu.cpp:
679 (WebCore::createAndAppendTextDirectionSubMenu): Added.
680 (ContextMenu::populate): Added the Text Direction submenu item based on
681 the inclusion behavior and the existence of a bidi selection.
682 (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
683 menu items.
684
685 * platform/ContextMenuItem.h:
686 * platform/LocalizedStrings.h: Declared
687 contextMenuItemTagTextDirectionMenu().
688
689 * platform/mac/LocalizedStringsMac.mm: Defined
690 contextMenuItemTagTextDirectionMenu().
691
692 * rendering/RenderBlock.cpp:
693 (RenderBlock::containsNonZeroBidiLevel): Added.
694 * rendering/RenderBlock.h:
695
bolsinga@apple.comf5045502008-11-14 23:48:26 +00006962008-11-14 Greg Bolsinga <bolsinga@apple.com>
697
698 Reviewed by Darin Adler.
699
700 https://bugs.webkit.org/show_bug.cgi?id=22264
701 Need to update to latest Geolocation spec (13 November 2008)
702
703 Update to new error code constants and values.
704
705 * page/Geolocation.cpp: Use new named ErrorCode enums
706 (WebCore::Geolocation::GeoNotifier::timerFired):
707 (WebCore::Geolocation::getCurrentPosition):
708 (WebCore::Geolocation::watchPosition):
709 * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
710 (WebCore::PositionError::):
711 * page/PositionError.idl: Add new named error constants
712
bdakin@apple.comf6ce38c2008-11-14 23:37:50 +00007132008-11-14 Beth Dakin <bdakin@apple.com>
714
715 Reviewed by Justin Garcia.
716
717 Fix (again) for <rdar://problem/5089327> Too much indentation when
718 pasting quoted paragraphs
719
720 This patch goes back to Justin's original approach to fix this bug,
721 written in revision 38273. That fix was mostly rolled out by
722 revision 38310 because of styling issues created by the addition of
723 extra blockquote nodes. This patch again goes back to Justin's
724 original fix because of cases we discovered the newer fix could not
725 possibly cover. This version of the patch minimizes the styling
726 issues of extra blockquotes by opting into the merge start code.
727
728 * editing/ReplaceSelectionCommand.cpp:
729 (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
730 return true when the quoting level of the end of the inserted
731 content matches the quoting level of the end of the existing
732 content.
733 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
734 hasMatchingQuoteLevel
735 (WebCore::ReplaceSelectionCommand::doApply):
736
eric@webkit.org0dd61062008-11-14 21:41:56 +00007372008-11-14 Dirk Schulze <vbs85@gmx.de>
738
739 Reviewed by Eric Seidel.
740
741 Made SVGResourceClipper platform independent.
742 https://bugs.webkit.org/show_bug.cgi?id=21444
743
744 * GNUmakefile.am:
745 * WebCore.pro:
746 * WebCore.vcproj/WebCore.vcproj:
747 * WebCore.xcodeproj/project.pbxproj:
748 * platform/graphics/GraphicsContext.h:
749 * platform/graphics/cairo/GraphicsContextCairo.cpp:
750 (WebCore::GraphicsContext::clipPath):
751 * platform/graphics/cg/GraphicsContextCG.cpp:
752 (WebCore::GraphicsContext::clipPath):
753 * platform/graphics/qt/GraphicsContextQt.cpp:
754 (WebCore::GraphicsContext::addPath):
755 (WebCore::GraphicsContext::clipPath):
756 * svg/graphics/SVGResourceClipper.cpp:
757 (WebCore::SVGResourceClipper::applyClip):
758 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
759 * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
760 * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
761
antti@apple.comc633dca2008-11-14 21:34:55 +00007622008-11-14 Antti Koivisto <antti@apple.com>
763
764 Reviewed by Anders Carlsson.
765
766 Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
767
768 * loader/FrameLoader.cpp:
769 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
770 * loader/FrameLoader.h:
771
weinig@apple.comd7fe7482008-11-14 20:02:05 +00007722008-11-14 Sam Weinig <sam@webkit.org>
773
774 Reviewed by Eric Seidel.
775
776 Remove unneeded forward declaration.
777
778 * plugins/Plugin.h:
779
darin@chromium.org53564932008-11-14 18:53:39 +00007802008-11-14 Darin Fisher <darin@chromium.org>
781
782 Reviewed by Darin Adler.
783
784 https://bugs.webkit.org/show_bug.cgi?id=22251
785 HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
786
787 * html/HTMLCanvasElement.cpp:
788
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +00007892008-11-14 Yael Aharon <yael.aharon@nokia.com>
790
791 Reviewed by Simon Hausmann.
792
hausmann@webkit.org430f7fe2008-11-14 18:40:14 +0000793 Add new files from the Qt port to the build.
794
795 * WebCore.pro:
796
7972008-11-14 Yael Aharon <yael.aharon@nokia.com>
798
799 Reviewed by Simon Hausmann.
800
hausmann@webkit.org62424c92008-11-14 18:39:56 +0000801 Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
802 port to apply a default quota only if there is no entry in the
803 database for a given origin yet.
804
805 * storage/DatabaseTracker.h:
806
8072008-11-14 Yael Aharon <yael.aharon@nokia.com>
808
809 Reviewed by Simon Hausmann.
810
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +0000811 Make it possible to get the cache directory set in the application
812 cache storage.
813
814 * loader/appcache/ApplicationCacheStorage.cpp:
815 (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
816 * loader/appcache/ApplicationCacheStorage.h:
817
justin.garcia@apple.com5b803002008-11-14 18:30:36 +00008182008-11-14 Justin Garcia <justin.garcia@apple.com>
819
820 Reviewed by Beth Dakin.
821
822 <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
823
824 When applying block styles, we would add block properties to the body element, and Mail's
825 Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
826 but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
827
828 We have code that puts the paragraphs that we're operating on into blocks of their own before
829 adding or removing block properties from the blocks that enclose them. We need to run this code
830 when the enclosing block is the body element.
831
832 * editing/CompositeEditCommand.cpp:
833 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
834 to here.
835 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
836 Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
837 * editing/CompositeEditCommand.h:
838
cwzwarich@webkit.org770a8a82008-11-14 17:49:56 +00008392008-11-14 Cameron Zwarich <zwarich@apple.com>
840
841 Reviewed by Darin Adler.
842
843 Bug 22245: Move wtf/dtoa.h into the WTF namespace
844 <https://bugs.webkit.org/show_bug.cgi?id=22245>
845
846 Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
847
848 * platform/text/String.cpp:
849 (WebCore::charactersToDouble):
850
vestbo@webkit.org6d154272008-11-14 11:20:48 +00008512008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
852
853 Rubber-stamped by Simon Hausmann.
854
vestbo@webkit.org66a87f22008-11-14 11:21:08 +0000855 Make sure Qt scrollbars follow the style with regard to context menus
856
857 * platform/qt/ScrollbarQt.cpp:
858 (WebCore::Scrollbar::contextMenu):
859
8602008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
861
862 Rubber-stamped by Simon Hausmann.
863
vestbo@webkit.org6d154272008-11-14 11:20:48 +0000864 Make scrollbar look active when the window is active on Qt/Mac
865
866 * platform/qt/ScrollbarThemeQt.cpp:
867 (WebCore::styleOptionSlider):
868 (WebCore::ScrollbarThemeQt::paint):
869
eric@webkit.orgf3a46352008-11-14 04:26:21 +00008702008-11-13 Eric Seidel <eric@webkit.org>
871
872 Reviewed by Adam Roben.
873
874 Add a basic Scons-based build system for building
875 Chromium-Mac WebCore.
876 https://bugs.webkit.org/show_bug.cgi?id=21991
877
878 The build currently fails due to missing files from our
879 platform directory (platform skia and platform chromium)
880 I will be sending those up shortly in separate patches.
881 I expect it will be a while before our WebCore build links.
882
883 * SConstruct: Added.
884 * WebCore.scons: Added.
885
darin@chromium.orgf089f552008-11-14 01:54:12 +00008862008-11-13 Darin Fisher <darin@chromium.org>
887
888 Reviewed by Darin Adler.
889
890 https://bugs.webkit.org/show_bug.cgi?id=22248
891 AtomicString.cpp uses JSC types outside of #if USE(JSC)
892
893 * platform/text/AtomicString.cpp:
894 (WebCore::AtomicString::add):
justin.garcia@apple.com5b803002008-11-14 18:30:36 +0000895
justin.garcia@apple.com3de84072008-11-13 21:04:51 +00008962008-11-13 Justin Garcia <justin.garcia@apple.com>
897
898 Reviewed by Darin Adler.
899
900 https://bugs.webkit.org/show_bug.cgi?id=18620
901 Long hang under TextIterator::advance() when loading http://www.lsvd.de/
902
903 A huge section at the beginning of this document is invisible. As we iterate through it,
904 we create VisiblePositions unnecessarily.
905
906 * editing/TextIterator.cpp:
907 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
908 creation if m_node is unrendered or invisible. The answers wouldn't have much meaning
909 and would be wasteful. Also fixed some comments to reflect the fact that this function
910 isn't specifically about emitting a newline.
911
cmarrin@apple.com0a75f9c2008-11-13 18:49:04 +00009122008-11-13 Pierre-Olivier Latour <pol@apple.com>
913
914 Reviewed by Sam Weinig.
915
916 Remove unused or unnecessary code from AnimationBase class.
917
918 * page/animation/AnimationBase.cpp:
919 (WebCore::AnimationBase::AnimationBase):
920 (WebCore::AnimationBase::playStatePlaying):
921 * page/animation/AnimationBase.h:
922
vestbo@webkit.org404a4712008-11-13 15:20:43 +00009232008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
924
925 Reviewed by Simon Hausmann.
926
927 Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
928
929 Currently only used by QtWebKit. See also:
930
931 https://bugs.webkit.org/show_bug.cgi?id=21427
932
933 * WebCore.pro:
934 * platform/qt/TemporaryLinkStubs.cpp:
935 (PluginView::userAgentStatic):
936 (PluginView::getValueStatic):
937 * plugins/PluginView.cpp:
938 (WebCore::PluginView::handleEvent):
939 (WebCore::PluginView::setValue):
940 (WebCore::PluginView::PluginView):
941 * plugins/PluginView.h:
942 (WebCore::PluginView::setPlatformPluginWidget):
943 * plugins/mac/PluginPackageMac.cpp: Added.
944 (WebCore::PluginPackage::determineQuirks):
945 (WebCore::readPListFile):
946 (WebCore::stringListFromResourceId):
947 (WebCore::PluginPackage::fetchInfo):
948 (WebCore::PluginPackage::load):
949 (WebCore::PluginPackage::hash):
950 (WebCore::PluginPackage::equal):
951 (WebCore::PluginPackage::compareFileVersion):
952 * plugins/mac/PluginViewMac.cpp: Added.
953 (WebCore::nativeWindowFor):
954 (WebCore::cgHandleFor):
955 (WebCore::topLevelOffsetFor):
956 (WebCore::PluginView::init):
957 (WebCore::PluginView::~PluginView):
958 (WebCore::PluginView::stop):
959 (WebCore::PluginView::getValueStatic):
960 (WebCore::PluginView::getValue):
961 (WebCore::PluginView::setParent):
962 (WebCore::PluginView::show):
963 (WebCore::PluginView::hide):
964 (WebCore::PluginView::setFocus):
965 (WebCore::PluginView::setParentVisible):
966 (WebCore::PluginView::setNPWindowRect):
967 (WebCore::PluginView::setNPWindowIfNeeded):
968 (WebCore::PluginView::updatePluginWidget):
969 (WebCore::PluginView::paint):
970 (WebCore::PluginView::invalidateRect):
971 (WebCore::PluginView::invalidateRegion):
972 (WebCore::PluginView::forceRedraw):
973 (WebCore::PluginView::handleMouseEvent):
974 (WebCore::PluginView::handleKeyboardEvent):
975 (WebCore::PluginView::nullEventTimerFired):
976 (WebCore::modifiersForEvent):
977 (WebCore::PluginView::globalMousePosForPlugin):
978 (WebCore::PluginView::dispatchNPEvent):
979 (WebCore::PluginView::userAgent):
980 (WebCore::PluginView::userAgentStatic):
981 (WebCore::PluginView::handlePostReadFile):
982
ap@webkit.org3568f132008-11-13 07:27:12 +00009832008-11-12 Alexey Proskuryakov <ap@webkit.org>
984
985 Reviewed by Darin Adler.
986
ap@webkit.org0c815c02008-11-13 07:32:43 +0000987 https://bugs.webkit.org/show_bug.cgi?id=22200
988 Crash when close event is dispatched to MessagePort due to document destruction
989
990 Test: fast/events/message-port-onclose.html
991
992 * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
993 Don't dispatch close event, even though HTML5 currently says that we should. It is not
994 right for GC to have observable effects.
995
9962008-11-12 Alexey Proskuryakov <ap@webkit.org>
997
998 Reviewed by Darin Adler.
999
ap@webkit.org3568f132008-11-13 07:27:12 +00001000 https://bugs.webkit.org/show_bug.cgi?id=22203
1001 Implement Worker messaging
1002
1003 No test cases included, because this functionality is disabled by default.
1004
1005 The implementation is known to still have many race condition, but works quite well for
1006 testing.
1007
1008 * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
1009
1010 * bindings/js/JSDOMBinding.cpp:
1011 (WebCore::markActiveObjectsForContext): Re-worded comments a little.
1012 (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
1013 incorrect, changed it to a much simpler (but still incorrect) version.
1014
1015 * dom/WorkerTask.cpp: Added.
1016 (WebCore::WorkerTask::~WorkerTask):
1017 * dom/WorkerTask.h: Added.
1018 Tasks posted to workers implement this new interface.
1019
1020 * bindings/js/JSDedicatedWorkerCustom.cpp:
1021 (WebCore::JSDedicatedWorker::mark):
1022 (WebCore::JSDedicatedWorker::connect):
1023 * dom/DedicatedWorker.h:
1024 * dom/DedicatedWorker.idl:
1025 Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
1026 WHATWG discussions.
1027
1028 * dom/DedicatedWorker.cpp:
1029 (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
1030 operations.
1031 (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
1032 (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
1033 one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
1034 this port starts with a null context pointer.
1035 (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
1036 after creation, we have to queue tasks until after a WorkerThread object is created. Then we
1037 forward all queued tasks to its queue.
1038
1039 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
1040 * dom/EventTarget.h:
1041 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
1042 Added cases for WorkerContext, which is now an EventTarget, too.
1043
1044 * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
1045 * bindings/js/JSWorkerContext.cpp:
1046 (WebCore::JSWorkerContext::mark): Mark event listeners.
1047 (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
1048 (WebCore::JSWorkerContext::put): Implemented.
1049 (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
1050 (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
1051 (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
1052 (WebCore::jsWorkerContextOnconnect): Added.
1053 (WebCore::setJSWorkerContextOnconnect): Added.
1054
1055 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
1056 Made it actually work by adding necessary setup.
1057
1058 * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
1059 Check the right variable - it is the wrapper that may not be initialized yet.
1060
1061 * dom/ActiveDOMObject.cpp:
1062 (WebCore::ActiveDOMObject::ActiveDOMObject):
1063 (WebCore::ActiveDOMObject::~ActiveDOMObject):
1064 Assert being called from the correct thread, as active DOM object tracking is not thread safe.
1065
1066 * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
1067 for asynchronously executing tasks in context's thread.
1068
1069 * dom/ScriptExecutionContext.cpp:
1070 (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
1071 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
1072 It was an optimization that couldn't be easily preserved without introducing race conditions
1073 in multithreading case.
1074 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
1075 (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
1076 why it's OK to not ref() ports in a frozen copy.
1077 (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
1078 from a wrong thread.
1079 (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
1080 (WebCore::ScriptExecutionContextTaskTimer): Part of
1081 ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
1082 thread.
1083 (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
1084 to a worker.
1085 (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
1086 to main thread from a secondary one.
1087 (WebCore::performTask): A helper function for callOnMainThread().
1088 (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
1089
1090 * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
1091 ref/deref EventData::message from different threads, which is not allowed.
1092
1093 * dom/MessagePort.cpp:
1094 (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
1095 (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
1096 (WebCore::MessagePort::EventData::EventData): Ditto.
1097 (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
1098 first, because we need to create ports for posting to other threads, and it is not possible
1099 to register in a context from another thread.
1100 (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
1101 receiver's job to set the context.
1102 (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
1103 context yet.
1104 (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
1105 (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
1106 (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
1107 context.
1108 (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
1109 (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
1110 (WebCore::MessagePort::queueCloseEvent): Use postTask().
1111 (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
1112 MessagePort cross-heap GC is still quite wrong.
1113
1114 * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
1115 * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
1116 now, but there is no harm in tracking it in release builds, too.
1117
1118 * dom/WorkerThread.cpp:
1119 (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
1120 (WebCore::WorkerThread::workerThread): Implemented a message loop.
1121 * dom/WorkerThread.h:
1122 (WebCore::WorkerThread::threadID): Also only used for assertions.
1123 (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
1124
1125 * page/DOMWindow.cpp:
1126 (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
1127 always sets it to null.
1128 (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
1129
krit@webkit.org5a0e4672008-11-13 07:17:53 +000011302008-11-12 Dirk Schulze <vbs85@gmx.de>
1131
1132 Reviewed Darin Adler.
1133
1134 use strokeColor.alpha() instead of fillColor.alpha()
1135 on GraphicsContext::strokePath()
1136
1137 [Canvas] Transparent fillStyle stops line rendering
1138 https://bugs.webkit.org/show_bug.cgi?id=21888
1139
1140 Test: fast/canvas/canvas-stroke-empty-fill.html
1141
1142 * ChangeLog:
1143 * platform/graphics/cg/GraphicsContextCG.cpp:
1144 (WebCore::GraphicsContext::strokePath):
1145
slewis@apple.com952b90f2008-11-13 06:08:46 +000011462008-11-12 Stephanie <slewis@apple.com>
1147
1148 Reviewed by Mark Rowe.
1149
1150 Fix context leak in XSLStyleSheets.
1151 See bug https://bugs.webkit.org/show_bug.cgi?id=15715
1152
1153 * xml/XSLStyleSheet.cpp:
1154 (WebCore::XSLStyleSheet::parseString):
1155
alp@webkit.org8ad90d42008-11-13 00:44:05 +000011562008-11-12 Alp Toker <alp@nuanti.com>
1157
alp@webkit.org42526642008-11-13 04:26:39 +00001158 autotools: List web worker-related headers needed for a successful
1159 build. distcheck is passing again with this change.
1160
1161 * GNUmakefile.am:
1162
11632008-11-12 Alp Toker <alp@nuanti.com>
1164
alp@webkit.org8044cb92008-11-13 02:30:09 +00001165 autotools build system fix-up only. Add FloatQuad.h to the source
1166 lists and sort them.
1167
1168 * GNUmakefile.am:
1169
11702008-11-12 Alp Toker <alp@nuanti.com>
1171
alp@webkit.org8ad90d42008-11-13 00:44:05 +00001172 Build fixes for r38346. FloatQuad.cpp is missing:
1173
1174 1) #include "config.h"
1175 2) #include <algorithm> for various mathematical definitions it uses.
1176
1177 * platform/graphics/FloatQuad.cpp:
1178
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +000011792008-11-12 Simon Fraser <simon.fraser@apple.com>
1180
simon.fraser@apple.comd12c84b2008-11-13 01:32:11 +00001181 Reviewed by Dan Bernstein
1182
1183 https://bugs.webkit.org/show_bug.cgi?id=22212
1184
1185 Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
1186 it may be the bounding outline box of a transformed element, and fix it
1187 to respect transforms by mapping the outline box to an absolute quad and
1188 taking the enclosing rect.
1189
1190 RenderBox::localToAbsoluteQuad() can no longer assert that there is no
1191 LayoutState, but LayoutState cannot be used during quad mapping (it knows
1192 nothing about transforms).
1193
1194 Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
1195 borderTopExtra() from the object, rather than its container (as localToAbsolute()
1196 does).
1197
1198 Test: fast/repaint/transform-absolute-child.html
1199
1200 * rendering/RenderBlock.cpp:
1201 (WebCore::RenderBlock::layoutBlock):
1202 * rendering/RenderBox.cpp:
1203 (WebCore::RenderBox::localToAbsoluteQuad):
1204 * rendering/RenderFlexibleBox.cpp:
1205 (WebCore::RenderFlexibleBox::layoutBlock):
1206 * rendering/RenderForeignObject.cpp:
1207 (WebCore::RenderForeignObject::layout):
1208 * rendering/RenderLayer.cpp:
1209 (WebCore::RenderLayer::updateLayerPositions):
1210 (WebCore::RenderLayer::setHasVisibleContent):
1211 * rendering/RenderObject.cpp:
1212 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1213 (WebCore::RenderObject::absoluteOutlineBounds):
1214 * rendering/RenderObject.h:
1215 * rendering/RenderPath.cpp:
1216 (WebCore::RenderPath::layout):
1217 * rendering/RenderReplaced.cpp:
1218 (WebCore::RenderReplaced::layout):
1219 * rendering/RenderSVGContainer.cpp:
1220 (WebCore::RenderSVGContainer::layout):
1221 * rendering/RenderSVGImage.cpp:
1222 (WebCore::RenderSVGImage::layout):
1223 * rendering/RenderSVGRoot.cpp:
1224 (WebCore::RenderSVGRoot::layout):
1225 * rendering/RenderSVGText.cpp:
1226 (WebCore::RenderSVGText::layout):
1227 * rendering/RenderSVGViewportContainer.cpp:
1228 (WebCore::RenderSVGViewportContainer::layout):
1229 * rendering/RenderTable.cpp:
1230 (WebCore::RenderTable::layout):
1231
12322008-11-12 Simon Fraser <simon.fraser@apple.com>
1233
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +00001234 Reviewed by Dave Hyatt
1235
1236 https://bugs.webkit.org/show_bug.cgi?id=21942
1237 https://bugs.webkit.org/show_bug.cgi?id=18557
1238
1239 Add methods which can be used to map renderer-local rectangles
1240 to quads in absolute coordinates, taking transforms into account:
1241 localToAbsoluteQuad() converts a local rect into an absolute quad.
1242 collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
1243 that works with quads.
1244 absoluteQuads() is an analogue of absoluteRects(), for quads.
1245
1246 Use the quad methods to fix the inspector highlight for transformed
1247 elements.
1248
1249 * GNUmakefile.am:
1250 * WebCore.pro:
1251 * WebCore.vcproj/WebCore.vcproj:
1252 * WebCore.xcodeproj/project.pbxproj:
1253 * WebCoreSources.bkl:
1254 * inspector/InspectorController.cpp:
1255 (WebCore::drawOutlinedQuad):
1256 (WebCore::drawHighlightForBoxes):
1257 (WebCore::frameToMainFrameOffset):
1258 (WebCore::InspectorController::drawNodeHighlight):
1259 * platform/graphics/AffineTransform.cpp:
1260 (WebCore::AffineTransform::mapQuad):
1261 * platform/graphics/AffineTransform.h:
1262 * platform/graphics/FloatQuad.cpp: Added.
1263 (WebCore::min4):
1264 (WebCore::max4):
1265 (WebCore::FloatQuad::boundingBox):
1266 * platform/graphics/FloatQuad.h: Added.
1267 (WebCore::FloatQuad::FloatQuad):
1268 (WebCore::FloatQuad::p1):
1269 (WebCore::FloatQuad::p2):
1270 (WebCore::FloatQuad::p3):
1271 (WebCore::FloatQuad::p4):
1272 (WebCore::FloatQuad::setP1):
1273 (WebCore::FloatQuad::setP2):
1274 (WebCore::FloatQuad::setP3):
1275 (WebCore::FloatQuad::setP4):
1276 (WebCore::FloatQuad::isEmpty):
1277 (WebCore::FloatQuad::enclosingBoundingBox):
1278 (WebCore::FloatQuad::move):
1279 (WebCore::operator+=):
1280 (WebCore::operator-=):
1281 (WebCore::operator==):
1282 (WebCore::operator!=):
1283 * rendering/RenderBox.cpp:
1284 (WebCore::RenderBox::localToAbsoluteQuad):
1285 * rendering/RenderBox.h:
1286 * rendering/RenderContainer.cpp:
1287 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
1288 * rendering/RenderContainer.h:
1289 * rendering/RenderInline.cpp:
1290 (WebCore::RenderInline::absoluteQuads):
1291 * rendering/RenderInline.h:
1292 * rendering/RenderObject.cpp:
1293 (WebCore::RenderObject::absoluteBoundingBoxRect):
1294 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
1295 (WebCore::RenderObject::absoluteQuads):
1296 (WebCore::RenderObject::localToAbsoluteQuad):
1297 (WebCore::RenderObject::absoluteContentQuad):
1298 * rendering/RenderObject.h:
1299 * rendering/RenderPath.cpp:
1300 (WebCore::RenderPath::absoluteQuads):
1301 * rendering/RenderPath.h:
1302 * rendering/RenderSVGContainer.cpp:
1303 (WebCore::RenderSVGContainer::absoluteQuads):
1304 * rendering/RenderSVGContainer.h:
1305 * rendering/RenderSVGHiddenContainer.cpp:
1306 (WebCore::RenderSVGHiddenContainer::absoluteQuads):
1307 * rendering/RenderSVGHiddenContainer.h:
1308 * rendering/RenderSVGImage.cpp:
1309 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1310 (WebCore::RenderSVGImage::absoluteQuads):
1311 * rendering/RenderSVGImage.h:
1312 * rendering/RenderSVGInlineText.cpp:
1313 (WebCore::RenderSVGInlineText::absoluteQuads):
1314 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
1315 * rendering/RenderSVGInlineText.h:
1316 * rendering/RenderSVGRoot.cpp:
1317 (WebCore::RenderSVGRoot::absoluteQuads):
1318 * rendering/RenderSVGRoot.h:
1319 * rendering/RenderSVGTSpan.cpp:
1320 (WebCore::RenderSVGTSpan::absoluteRects):
1321 (WebCore::RenderSVGTSpan::absoluteQuads):
1322 * rendering/RenderSVGTSpan.h:
1323 * rendering/RenderSVGText.cpp:
1324 (WebCore::RenderSVGText::absoluteRects):
1325 (WebCore::RenderSVGText::absoluteQuads):
1326 * rendering/RenderSVGText.h:
1327 * rendering/RenderSVGTextPath.cpp:
1328 (WebCore::RenderSVGTextPath::absoluteRects):
1329 (WebCore::RenderSVGTextPath::absoluteQuads):
1330 * rendering/RenderSVGTextPath.h:
1331 * rendering/RenderTableCell.cpp:
1332 (WebCore::RenderTableCell::localToAbsolute):
1333 (WebCore::RenderTableCell::localToAbsoluteQuad):
1334 * rendering/RenderTableCell.h:
1335 * rendering/RenderText.cpp:
1336 (WebCore::RenderText::absoluteQuads):
1337 (WebCore::RenderText::collectAbsoluteLineBoxQuads):
1338 * rendering/RenderText.h:
1339 * rendering/RenderView.cpp:
1340 (WebCore::RenderView::localToAbsoluteQuad):
1341 (WebCore::RenderView::absoluteQuads):
1342 * rendering/RenderView.h:
1343
aroben@apple.comdf25daf2008-11-12 21:54:52 +000013442008-11-12 Brent Fulgham <bfulgham@gmail.com>
1345
1346 Fix Bug 22178: Build errors in WebKit Cairo port
1347
1348 <https://bugs.webkit.org/show_bug.cgi?id=22178>
1349
1350 Reviewed by Mark Rowe.
1351
1352 * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
1353 Visual Studio.
1354 (WebCore::Pattern::createPlatformPattern):
1355
aroben@apple.com1939f622008-11-12 21:49:51 +000013562008-11-12 Adam Roben <aroben@apple.com>
1357
1358 Fix a typo in the include path for the Release_Cairo configuration
1359
1360 * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
1361
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +000013622008-11-12 Simon Fraser <simon.fraser@apple.com>
1363
1364 Reviewed by Dave Hyatt
1365
1366 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.coma9261be2008-11-12 20:28:44 +00001367 Patch 2
1368
1369 Code cleanup in RenderBox::computeAbsoluteRepaintRect().
1370
1371 * rendering/RenderBox.cpp:
1372 (WebCore::RenderBox::computeAbsoluteRepaintRect):
1373
13742008-11-12 Simon Fraser <simon.fraser@apple.com>
1375
1376 Reviewed by Dave Hyatt
1377
1378 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +00001379
1380 Fix repainting when the transform on a positioned element changes.
1381 In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
1382 and being in a positioned container after applying the transform to the local
1383 rect.
1384
1385 Tests: fast/repaint/transform-absolute-in-positioned-container.html
1386 fast/repaint/transform-relative-position.html
1387
1388 * rendering/RenderBox.cpp:
1389 (WebCore::RenderBox::computeAbsoluteRepaintRect):
1390
justin.garcia@apple.com7e95c7b2008-11-12 20:08:06 +000013912008-11-12 Justin Garcia <justin.garcia@apple.com>
1392
1393 Reviewed by Beth Dakin.
1394
1395 <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
1396 <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
1397
1398 We don't want to merge into a block if it will mean changing the quote level of content after deleting
1399 selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
1400 that such a selection actually ends at the start of the next paragraph. Instead we want to completely
1401 remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
1402 for indented paragraphs.
1403
1404 * editing/DeleteSelectionCommand.cpp:
1405 (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
1406 try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied
1407 so that we remove evidence of the deleted paragraphs' quote level.
1408 (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also
1409 make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
1410 started on, instead of one higher.
1411 * editing/DeleteSelectionCommand.h:
1412 * editing/htmlediting.cpp:
1413 (WebCore::numEnclosingMailBlockquotes): Added.
1414 * editing/htmlediting.h:
1415
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +000014162008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
1417
1418 Reviewed by Simon Hausmann.
1419
vestbo@webkit.orgb3e75172008-11-12 10:51:27 +00001420 Move _web_encodingForResource from WebKit into WebCore and change return type
1421
1422 This change is needed to implement NSAPI in WebCore for Mac, see:
1423
1424 https://bugs.webkit.org/show_bug.cgi?id=21427
1425
1426 * WebCore.base.exp:
1427 * platform/mac/WebCoreNSStringExtras.h:
1428 * platform/mac/WebCoreNSStringExtras.mm:
1429 (stringEncodingForResource):
1430
14312008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
1432
1433 Reviewed by Simon Hausmann.
1434
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +00001435 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
1436 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
1437
1438 This change is needed to implement NSAPI in WebCore for Mac, see:
1439
1440 https://bugs.webkit.org/show_bug.cgi?id=21427
1441
1442 * WebCore.base.exp:
1443 * platform/mac/WebCoreNSStringExtras.h:
1444 * platform/mac/WebCoreNSStringExtras.mm:
1445 (stringIsCaseInsensitiveEqualToString):
1446
slewis@apple.com417d6872008-11-12 03:30:12 +000014472008-11-11 Stephanie <slewis@apple.com>
1448
1449 Reviewed by Dan Bernstein.
1450
1451 Null check image data before setting it as image source.
1452
1453 Test: fast/images/image-empty-data.html
1454
1455 * platform/graphics/BitmapImage.cpp:
1456 (WebCore::BitmapImage::destroyDecodedData):
1457
adele@apple.com0deea562008-11-12 03:09:38 +000014582008-11-11 Adele Peterson <adele@apple.com>
1459
1460 Reviewed by Tim Hatcher.
1461
1462 Remove ifdef so future OS versions can use the new delegate method.
1463
1464 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
1465
eric@webkit.org683713f2008-11-12 01:53:37 +000014662008-11-11 Eric Seidel <eric@webkit.org>
1467
1468 Reviewed by Antti Koivisto and Sam Weinig.
1469
1470 Clean up HTMLTokenizer a litle
1471 https://bugs.webkit.org/show_bug.cgi?id=22188
1472
1473 Rename pendingScripts to m_pendingScripts
1474 Rename scriptNode to m_scriptNode make the type specific
1475 Rename pendingSrc to m_pendingSrc
1476 Rename currentPrependingSrc to m_currentPrependingSrc
1477 Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
1478 Remove long-since-dead kdDebug and qDebug calls
1479 Rename brokenComments to m_brokenComments
1480 Remove HTMLTokenizer includes and document the rest
1481 Rename src to m_src
1482 Rename parser to m_parser and make it an OwnPtr
1483 Rename inWrite to m_inWrite and jsProxy to scriptController
1484 Rename brokenServer to m_brokenServer
1485 Rename buffer to m_buffer and dest to m_dest
1486 Rename size to m_bufferSize
1487 Rename attrName to m_attrName
1488 Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
1489 Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
1490 Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
1491 Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
1492 Rename flat to selfClosingTag
1493 Rename currToken to m_currentToken
1494
1495 * css/CSSParser.cpp:
1496 * dom/XMLTokenizer.cpp:
1497 * dom/XMLTokenizerLibxml2.cpp:
1498 * html/HTMLDocument.cpp:
1499 * html/HTMLElement.cpp:
1500 * html/HTMLFormControlElement.cpp:
1501 * html/HTMLParser.h:
1502 * html/HTMLTokenizer.cpp:
1503 (WebCore::Token::addAttribute):
1504 (WebCore::HTMLTokenizer::HTMLTokenizer):
1505 (WebCore::HTMLTokenizer::reset):
1506 (WebCore::HTMLTokenizer::begin):
1507 (WebCore::HTMLTokenizer::processListing):
1508 (WebCore::HTMLTokenizer::parseSpecial):
1509 (WebCore::HTMLTokenizer::scriptHandler):
1510 (WebCore::HTMLTokenizer::scriptExecution):
1511 (WebCore::HTMLTokenizer::parseComment):
1512 (WebCore::HTMLTokenizer::parseServer):
1513 (WebCore::HTMLTokenizer::parseProcessingInstruction):
1514 (WebCore::HTMLTokenizer::parseText):
1515 (WebCore::HTMLTokenizer::parseEntity):
1516 (WebCore::HTMLTokenizer::parseTag):
1517 (WebCore::HTMLTokenizer::write):
1518 (WebCore::HTMLTokenizer::processingData):
1519 (WebCore::HTMLTokenizer::end):
1520 (WebCore::HTMLTokenizer::finish):
1521 (WebCore::HTMLTokenizer::processToken):
1522 (WebCore::HTMLTokenizer::processDoctypeToken):
1523 (WebCore::HTMLTokenizer::~HTMLTokenizer):
1524 (WebCore::HTMLTokenizer::enlargeBuffer):
1525 (WebCore::HTMLTokenizer::enlargeScriptBuffer):
1526 (WebCore::HTMLTokenizer::notifyFinished):
1527 (WebCore::HTMLTokenizer::setSrc):
1528 * html/HTMLTokenizer.h:
1529 (WebCore::Token::Token):
1530 (WebCore::Token::reset):
1531 (WebCore::HTMLTokenizer::processingContentWrittenByScript):
1532 (WebCore::HTMLTokenizer::htmlParser):
1533 (WebCore::HTMLTokenizer::checkBuffer):
1534 (WebCore::HTMLTokenizer::checkScriptBuffer):
1535 * html/HTMLViewSourceDocument.h:
1536 * rendering/RenderBlock.cpp:
1537 (WebCore::RenderBlock::leftRelOffset):
1538 (WebCore::RenderBlock::rightRelOffset):
1539 (WebCore::RenderBlock::lineWidth):
1540 * xml/XSLTProcessor.cpp:
1541
weinig@apple.comc60b5af2008-11-12 00:28:57 +000015422008-11-11 Sam Weinig <sam@webkit.org>
1543
1544 Reviewed by Dan Bernstein.
1545
1546 Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
1547 Track CachedScript decoded data
1548
1549 We now track the decoded size of CachedScripts in the Cache allowing
1550 them to accounted for when deciding when to evict data. The decoded
1551 data itself can be evicted when Cache pressure gets high enough through
1552 CachedScript::destroyDecodedData.
1553
1554 * loader/CachedResource.h:
1555 (WebCore::CachedResource::allClientsRemoved):
1556 (WebCore::CachedResource::destroyDecodedData):
1557 * loader/CachedScript.cpp:
1558 (WebCore::CachedScript::script):
1559 (WebCore::CachedScript::data):
1560 (WebCore::CachedScript::destroyDecodedData):
1561 * loader/CachedScript.h:
1562
cwzwarich@webkit.org74fd1332008-11-11 23:39:15 +000015632008-11-11 Cameron Zwarich <zwarich@apple.com>
1564
1565 Reviewed by Geoff Garen.
1566
1567 Remove pointless dependencies on the now-deleted kjs directory and
1568 mentions of it in comments that are no longer relevant.
1569
1570 * WebCore.pro:
1571 * webcore-base.bkl:
1572
mitz@apple.com44d57d42008-11-11 22:45:16 +000015732008-11-11 Dan Bernstein <mitz@apple.com>
1574
1575 Reviewed by Adam Roben.
1576
1577 WebCore part of adding a master volume control for media elements in a WebView
1578
1579 * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
1580 * dom/Document.cpp:
1581 (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
1582 when the media volume is changed.
1583 (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
1584 elements to register for a callback when the media volume is changed.
1585 (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
1586 elements to unregister for the callback.
1587 * dom/Document.h:
1588 * dom/Element.h:
1589 (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
1590 * html/HTMLMediaElement.cpp:
1591 (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
1592 registerForMediaVolumeCallbacks().
1593 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
1594 unregisterForMediaVolumeCallbacks().
1595 (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
1596 element's intrinsic volume by the master volume from the page.
1597 (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
1598 updateVolume().
1599 * html/HTMLMediaElement.h:
1600 * page/Page.cpp:
1601 (WebCore::Page::Page): Initialize m_mediaVolume to 1.
1602 (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
1603 every document in the page when the master volume changes.
1604 * page/Page.h:
1605 (WebCore::Page::mediaVolume): Added this getter.
1606
hyatt@apple.com312f7072008-11-11 20:43:57 +000016072008-11-11 David Hyatt <hyatt@apple.com>
1608
1609 https://bugs.webkit.org/show_bug.cgi?id=22182
1610
1611 Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
1612 is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
1613 errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
1614
1615 Reviewed by Adele
1616
1617 * platform/Scrollbar.cpp:
1618 (WebCore::Scrollbar::mouseDown):
1619
bdakin@apple.comc636ec32008-11-11 19:58:31 +000016202008-11-11 Beth Dakin <bdakin@apple.com>
1621
1622 Reviewed by Darin Adler.
1623
1624 Fix for <rdar://problem/5089327> Too much indentation when pasting
1625 quoted paragraphs
1626
1627 This patch re-addresses pasting blockquotes into blockquotes. It
1628 backs out most of revision 38273. 38273 fixed the bug by inserting
1629 the pasted content as a sibling blockquote node to the pre-existing
1630 blockquote node. The problem with that is that by default,
1631 blockquotes have a giant margin, so visually, this can be weird.
1632 This patch instead inserts the pasted content as siblings of the
1633 the content already inside the outer blockquote, and then removes
1634 the blockquote node from the pasted content itself, so that it
1635 doesn't nest itself into the outer blockquote.
1636 * editing/ReplaceSelectionCommand.cpp:
1637 (WebCore::ReplaceSelectionCommand::doApply):
1638
1639 Move contains() from Element to Node since there is nothing
1640 Element-specific about it.
1641 * dom/Element.cpp:
1642 * dom/Element.h:
1643 * dom/Node.cpp:
1644 (WebCore::Node::contains):
1645 * dom/Node.h:
1646
hyatt@apple.com4d742b72008-11-11 19:50:18 +000016472008-11-11 David Hyatt <hyatt@apple.com>
1648
1649 https://bugs.webkit.org/show_bug.cgi?id=17997
1650
1651 Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
1652 is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
1653 is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
1654
1655 Reviewed by John Sullivan
1656
1657 * platform/graphics/cg/ImageCG.cpp:
1658 (WebCore::Image::drawPattern):
1659
hyatt@apple.com16a00b92008-11-11 19:18:26 +000016602008-11-10 David Hyatt <hyatt@apple.com>
1661
1662 Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
1663 when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
1664 how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
1665
1666 Reviewed by Adam Roben
1667
1668 * rendering/RenderThemeMac.mm:
1669 (WebCore::RenderThemeMac::isControlStyled):
1670
darin@apple.com160b6112008-11-11 17:59:01 +000016712008-11-11 Darin Adler <darin@apple.com>
1672
1673 Reviewed by Dan Bernstein.
1674
1675 - https://bugs.webkit.org/show_bug.cgi?id=22160
1676 speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
1677 (previousLinePosition, too) uses a nil node
1678
1679 * editing/visible_units.cpp:
1680 (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
1681 to check editingIgnoresContent. It makes sense to use the associated DOM node for
1682 this, even in cases of anonymous content, and it avoids the case where element() can
1683 be 0.
1684 (WebCore::previousLinePosition): Ditto.
1685
krit@webkit.org02511ad2008-11-11 17:40:54 +000016862008-11-11 Dirk Schulze <vbs85@gmx.de>
1687
1688 Reviewed by Darin Adler.
1689
1690 Removed default: in applySpreadMethod. This causes the problems
1691 in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
1692 or CSS.
1693
1694 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1695 (WebCore::applySpreadMethod):
1696
vestbo@webkit.orgc0e688b2008-11-11 13:32:01 +000016972008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
1698
1699 Reviewed by Tor Arne Vestbø.
1700
1701 Fix crash when rendering the file chooser.
1702 Also proper implementation for multi-selected files.
1703
1704 * platform/qt/FileChooserQt.cpp:
1705 (WebCore::FileChooser::basenameForWidth):
1706
krit@webkit.orgbf7eb1c2008-11-11 11:05:49 +000017072008-11-11 Dirk Schulze <vbs85@gmx.de>
1708
1709 Reviewed by Oliver Hunt.
1710
1711 PatternCairo needs to invert the pattern matrix because
1712 of transformation from user space to pattern space.
1713 Give a identity matrix to pattern for Qt and Cairo. Because the
1714 context is transformed already.
1715
1716 [CAIRO][QT] Canvas transformations applied twice to Patterns
1717 https://bugs.webkit.org/show_bug.cgi?id=21555
1718
1719 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1720 (WebCore::GraphicsContext::fillPath):
1721 (WebCore::GraphicsContext::strokePath):
1722 * platform/graphics/cairo/PatternCairo.cpp:
1723 (WebCore::Pattern::createPlatformPattern):
1724 * platform/graphics/qt/GraphicsContextQt.cpp:
1725 (WebCore::GraphicsContext::strokePath):
1726 (WebCore::GraphicsContext::fillRect):
1727
slewis@apple.com2583a3f2008-11-11 07:06:41 +000017282008-11-10 Stephanie Lewis <slewis@apple.com>
1729
1730 Reviewed by Dan Bernstein.
1731
1732 Clear the image source cache even if we haven't decoded any of the image data.
1733 We use the image source cache when calculating layout.
1734
1735 * loader/Cache.cpp:
1736 (WebCore::Cache::pruneDeadResources):
1737 * platform/graphics/BitmapImage.cpp:
1738 (WebCore::BitmapImage::destroyDecodedData):
1739
aroben@apple.com4488a6a2008-11-10 22:12:57 +000017402008-11-10 Adam Roben <aroben@apple.com>
1741
1742 Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
1743 loading microsoftpdc.com
1744
1745 <https://bugs.webkit.org/show_bug.cgi?id=22161>
1746
1747 Reviewed by Dan Bernstein.
1748
1749 Test: fast/css/outline-invert-assertion.html
1750
1751 * rendering/RenderThemeWin.cpp:
1752 (WebCore::RenderThemeWin::systemColor): If we can't determine a good
1753 Win32 system color to use, defer to RenderTheme instead of asserting.
1754 This matches what RenderThemeMac does.
1755
bdakin@apple.com6eb86992008-11-10 21:51:22 +000017562008-11-10 Justin Garcia <justin.garcia@apple.com>
1757
1758 Reviewed by Beth Dakin.
1759
1760 <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
1761 into quoted text yields double-quoting
1762
1763 Don't nest inserted content in Mail blockquotes. Perform a
1764 BreakBlockquoteCommand if we're in
1765 one and insert the incoming fragment between the split blockquotes.
1766
1767 * editing/ReplaceSelectionCommand.cpp:
1768 (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
1769 source and to -> destination.
1770 (WebCore::ReplaceSelectionCommand::doApply):
1771
aroben@apple.com1c0d03e2008-11-10 18:38:56 +000017722008-11-10 Adam Roben <aroben@apple.com>
1773
1774 Fix Bug 22158: Would like to turn on WebCore logging channels via an
1775 environment variable
1776
1777 <https://bugs.webkit.org/show_bug.cgi?id=22158>
1778
1779 Logging channels can now be enabled by setting the WebCoreLogLevel
1780 environment variable to a hexadecimal number.
1781
1782 Reviewed by Anders Carlsson.
1783
1784 * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
1785 * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
1786 (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
1787 environment variable, parse its value as a hexadecimal number, and
1788 turn the channel on/off based on whether the mask bit is set.
1789 (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
1790 logging channel in turn.
1791
darin@apple.comd46ba6d2008-11-10 17:03:36 +000017922008-11-10 Darin Adler <darin@apple.com>
1793
1794 Reviewed by Adam Roben.
1795
darin@apple.com8bf1fe02008-11-10 17:06:04 +00001796 - fix https://bugs.webkit.org/show_bug.cgi?id=22103
1797 Changing fonts in preferences does not immediately update WebViews
1798
1799 This broke when the meaning of FrameView::invalidate changed.
1800 I changed setNeedsReapplyStyles to no longer depend on invalidate.
1801
1802 * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
1803 Removed the part of this function that duplicated what's already in
1804 FrameView::needsLayout, since the copy here left out a few key things.
1805 For example, it didn't handle the fact that "needs reapply styles"
1806 counts as needing layout.
1807
1808 * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
1809 FrameView::invalidate before. There were two things wrong with that.
1810 1) It requested that the entire view repaint even if the style change
1811 didn't necessitate that. 2) FrameView::invalidate no longer causes any
1812 repainting at all in certain cases, because of Hyatt's changes to how
1813 widgets and the host window are involved in the repainting process.
1814 So call FrameView::scheduleRelayout instead, which is more precisely
1815 what we want and need here.
1816
1817 * page/FrameView.cpp:
1818 (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
1819 so that Document::shouldScheduleLayout doesn't have to replicate the
1820 logic that's in needsLayout and can instead rely on the fact that it
1821 was already called.
1822 (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
1823 in this function.
1824
18252008-11-10 Darin Adler <darin@apple.com>
1826
1827 Reviewed by Adam Roben.
1828
darin@apple.comd46ba6d2008-11-10 17:03:36 +00001829 - speculative fix for <rdar://problem/5557243> crashes in Safari at
1830 WebCore::HTMLSelectElement::updateListBoxSelection + 280
1831
1832 * html/HTMLSelectElement.cpp:
1833 (WebCore::HTMLSelectElement::updateListBoxSelection):
1834 Check index against size of vector before indexing into the vector.
1835
hausmann@webkit.org55cf27a32008-11-10 11:45:48 +000018362008-11-10 Tom Cooksey <thomas.cooksey@trolltech.com>
1837
1838 Reviewed by Tor Arne Vestbø.
1839
1840 Fix QtWebkit build failure on arm.
1841
1842 pen.widthF() is a qreal, which means it's a float on arm.
1843
1844 * platform/graphics/qt/GraphicsContextQt.cpp:
1845 (WebCore::GraphicsContext::setLineDash):
1846
hausmann@webkit.orge6d9d172008-11-10 11:45:21 +000018472008-11-10 Morten Sørvig <msorvig@trolltech.com>
1848
1849 Reviewed by Simon Hausmann.
1850
1851 Improve mouse wheel scolling on Qt/Cocoa.
1852 Cocoa differs from Carbon (and other platforms I think) in that the
1853 mouse wheel events we get have a much higher acceleration factor.
1854
1855 This submit switches over to scroll-per-pixel from scroll-per-line
1856 for most of our scrolling views. This matches the native views
1857 and works well with the increased acceleration.
1858
1859 * platform/qt/WheelEventQt.cpp:
1860
cwzwarich@webkit.org40b4b842008-11-10 01:19:13 +000018612008-11-09 Cameron Zwarich <zwarich@apple.com>
1862
1863 Reviewed by Darin Adler.
1864
1865 Bug 19541: Null pointer in showModalDialog()
1866 <https://bugs.webkit.org/show_bug.cgi?id=19541>
1867
1868 Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
1869 and JSDOMWindowBase::canShowModalDialogNow()C
1870
1871 * bindings/js/JSDOMWindowBase.cpp:
1872 (WebCore::canShowModalDialog):
1873 (WebCore::canShowModalDialogNow):
1874
darin@apple.com4086a5b2008-11-10 00:22:18 +000018752008-11-09 Darin Adler <darin@apple.com>
1876
1877 - try to fix Windows build
1878
1879 * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
1880 about needed a separate definition for static const integer data members.
1881 Until I get to the bottom of this, put the definitions inside an ifdef.
1882
ddkilzer@apple.com8d878632008-11-09 19:50:37 +000018832008-11-09 David Kilzer <ddkilzer@apple.com>
1884
1885 BUILD FIX: Qt build broke after r38235.
1886
1887 Added HAVE(ACCESSIBILITY) header guards to platform implementation
1888 source files.
1889
1890 * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
1891 guards.
1892 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
1893 * page/qt/AccessibilityObjectQt.cpp: Ditto.
1894 * page/win/AccessibilityObjectWin.cpp: Ditto.
1895 * page/wx/AccessibilityObjectWx.cpp: Ditto.
1896
ap@webkit.org4f28dd52008-11-09 19:08:07 +000018972008-11-09 Alexey Proskuryakov <ap@webkit.org>
1898
1899 Reviewed by Darin Adler.
1900
1901 https://bugs.webkit.org/show_bug.cgi?id=22104
1902 Javascript URL percent encoding/decoding broken by some characters
1903
1904 Test: fast/loader/javascript-url-encoding-2.html
1905
1906 * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
1907
darin@apple.comaa0c0fd2008-11-09 18:20:53 +000019082008-11-09 Holger Hans Peter Freyther <zecke@selfish.org>
1909
1910 Reviewed and tweaked by Darin Adler.
1911
1912 * platform/graphics/Color.cpp: Added definitions for the static data members
1913 in this class. Static data members need a definition, even when they are the
1914 simple integer constant kind that can be initialized in the header.
1915
antti@apple.com58f7c692008-11-09 04:11:26 +000019162008-11-08 Antti Koivisto <antti@apple.com>
1917
1918 Reviewed by Sam Weinig.
1919
1920 Fix https://bugs.webkit.org/show_bug.cgi?id=22141
1921 REGRESSION: Safari error page is not fully styled when loaded from cache
1922
1923 Reset text decoder on flush so it does not pass through the BOM when it is reused.
1924
1925 Test: fast/encoding/css-cached-bom.html
1926
1927 * loader/TextResourceDecoder.cpp:
1928 (WebCore::TextResourceDecoder::flush):
1929
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +000019302008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org2cba33b2008-11-09 03:14:07 +00001931
1932 Reviewed by Mark Rowe.
1933
1934 Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
1935 it was causing these errors to end up in the page's text representation.
1936
1937 * platform/network/curl/ResourceHandleManager.cpp:
1938 (WebCore::ResourceHandleManager::downloadTimerCallback):
1939
19402008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +00001941
1942 wx build fixes after addition of JSCore parser and bycompiler dirs.
1943
1944 * webcore-base.bkl:
1945 * webcore-wx.bkl:
1946
simon.fraser@apple.com1839efc2008-11-09 01:09:14 +000019472008-11-08 Simon Fraser <simon.fraser@apple.com>
1948
1949 Reviewed by Dan Bernstein
1950
1951 https://bugs.webkit.org/show_bug.cgi?id=21906
1952
1953 Override addFocusRingRects() in RenderTextControl to avoid
1954 the RenderFlow behavior of recursing on descendent renderers.
1955 RenderTextControl should only ever need a simple focus rect.
1956
1957 This fixes focus ring issues with transforms on text controls.
1958
1959 Test: fast/transforms/transformed-focused-text-input.html
1960
1961 * rendering/RenderTextControl.cpp:
1962 (WebCore::RenderTextControl::addFocusRingRects):
1963 * rendering/RenderTextControl.h:
1964
timothy@apple.comcded56b2008-11-09 00:33:06 +000019652008-11-08 Dimitri Dupuis-Latour <dupuislatour@apple.com>
1966
1967 Make sure the icon thumbnail width/height is at least 1px in
1968 the Web Inspector's resource panel.
1969
1970 <rdar://problem/5988888>
1971
1972 Reviewed by Tim Hatcher.
1973
1974 * inspector/front-end/inspector.css:
1975
ddkilzer@apple.come17e0dc2008-11-08 19:42:33 +000019762008-11-08 David Kilzer <ddkilzer@apple.com>
1977
1978 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
1979
1980 <https://bugs.webkit.org/show_bug.cgi?id=22137>
1981
1982 Reviewed by Darin Adler.
1983
1984 * page/AccessibilityObject.h:
1985 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1986 Provide a default implementation when HAVE(ACCESSIBILITY) is false.
1987 * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
1988 * page/mac/AccessibilityObjectMac.mm: Ditto.
1989 * page/mac/AccessibilityObjectWrapper.mm: Ditto.
1990
mitz@apple.comc278ea22008-11-08 19:12:23 +000019912008-11-08 Dan Bernstein <mitz@apple.com>
1992
1993 Reviewed by Darin Adler.
1994
1995 - WebCore part of adding WebPreferences for controlling databases and local storage
1996
1997 * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
1998 Settings::setLocalStorageEnabled().
1999 * page/DOMWindow.cpp:
2000 (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
2001 is disabled in settings.
2002 (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
2003 are disabled in settings.
2004 * page/Settings.cpp:
2005 (WebCore::Settings::Settings): Initialize m_databasesEnabled and
2006 m_localStorageEnabled.
2007 (WebCore::Settings::setDatabasesEnabled): Added.
2008 (WebCore::Settings::setLocalStorageEnabled): Added.
2009 * page/Settings.h:
2010 (WebCore::Settings::databasesEnabled): Added.
2011 (WebCore::Settings::localStorageEnabled): Added.
2012
alp@webkit.org27e52902008-11-07 22:29:56 +000020132008-11-07 Alp Toker <alp@nuanti.com>
2014
2015 Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
2016 now require that only their top-level header file is included.
2017
2018 Patch tested and still builds fine with older GTK+ versions (back to
2019 2.8).
2020
2021 Future WebKit GTK+ contributions are required to adhere to this
2022 policy.
2023
2024 * platform/gtk/FileSystemGtk.cpp:
2025 * platform/gtk/KeyEventGtk.cpp:
2026 * platform/gtk/MouseEventGtk.cpp:
2027 * platform/gtk/WheelEventGtk.cpp:
2028 * platform/gtk/gtkdrawing.h:
2029 * plugins/gtk/gtk2xtbin.c:
2030 * plugins/gtk/gtk2xtbin.h:
2031
andersca@apple.comafcd77f2008-11-07 21:34:02 +000020322008-11-07 Anders Carlsson <andersca@apple.com>
2033
2034 Reviewed by Kevin Decker
2035
2036 Explicitly initialize the NPDrawingModelCoreAnimation.
2037
2038 * bridge/npapi.h:
2039
alp@webkit.org96f2d622008-11-07 19:35:47 +000020402008-11-07 Alp Toker <alp@nuanti.com>
2041
2042 autotools fix. Always use the configured perl binary (which may be
2043 different to the one in $PATH) when generating sources.
2044
2045 * GNUmakefile.am:
2046
simon.fraser@apple.comfeaef2e2008-11-07 19:17:08 +000020472008-11-07 Simon Fraser <simon.fraser@apple.com>
2048
2049 Reviewed by Dan Bernstein
2050
2051 https://bugs.webkit.org/show_bug.cgi?id=22122
2052
2053 Use a stack-based object to simplify the pushLayoutState/popLayoutState
2054 code. LayoutStateMaintainer either pushes in the constructor, or allows
2055 an explicit push() later. Both cases require an explicit pop().
2056
2057 * rendering/RenderBlock.cpp:
2058 (WebCore::RenderBlock::layoutBlock):
2059 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2060 * rendering/RenderContainer.cpp:
2061 (WebCore::RenderContainer::layout):
2062 * rendering/RenderFlexibleBox.cpp:
2063 (WebCore::RenderFlexibleBox::layoutBlock):
2064 * rendering/RenderTable.cpp:
2065 (WebCore::RenderTable::layout):
2066 * rendering/RenderTableRow.cpp:
2067 (WebCore::RenderTableRow::layout):
2068 * rendering/RenderTableSection.cpp:
2069 (WebCore::RenderTableSection::setCellWidths):
2070 (WebCore::RenderTableSection::calcRowHeight):
2071 (WebCore::RenderTableSection::layoutRows):
2072 * rendering/RenderView.h:
2073 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2074 (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
2075 (WebCore::LayoutStateMaintainer::pop):
2076 (WebCore::LayoutStateMaintainer::push):
2077 (WebCore::LayoutStateMaintainer::didPush):
2078
vestbo@webkit.orgf579de02008-11-07 15:01:55 +000020792008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
2080
vestbo@webkit.org58027742008-11-07 15:39:56 +00002081 Fix the QtWebKit build on Mac
2082
2083 * platform/qt/TemporaryLinkStubs.cpp:
2084 (PluginView::invalidateRect):
2085
20862008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
2087
vestbo@webkit.orgf579de02008-11-07 15:01:55 +00002088 Rubber-stamped by Simon Hausmann.
2089
2090 Don't allow Phonon's invisible video widget to keep the app running
2091
2092 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2093 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2094
hausmann@webkit.org58f04f52008-11-07 11:32:04 +000020952008-11-07 Henrik Hartz <henrik.hartz@nokia.com>
2096
2097 Reviewed by Simon Hausmann.
2098
2099 Fix valgrind warning about uninitialized lastStop variable.
2100
2101 * platform/graphics/qt/GradientQt.cpp:
2102 (WebCore::Gradient::platformGradient):
2103
ap@webkit.org1faed012008-11-07 09:22:36 +000021042008-11-07 Alexey Proskuryakov <ap@webkit.org>
2105
2106 Reviewed by Maciej Stachowiak.
2107
2108 Fix layout test brokenness following r38211.
2109
2110 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
2111 Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
2112 matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
2113 inadvertently. This may or may not be a good thing, but it's certainly not something that
2114 should change by accident.
2115
antti@apple.comda9077d2008-11-07 07:22:43 +000021162008-11-06 Antti Koivisto <antti@apple.com>
2117
antti@apple.comafa13dc2008-11-07 07:26:09 +00002118 Eh, this trivial last minute change was wrong.
2119
2120 * loader/CachedCSSStyleSheet.cpp:
2121 (WebCore::CachedCSSStyleSheet::sheetText):
2122
21232008-11-06 Antti Koivisto <antti@apple.com>
2124
antti@apple.comda9077d2008-11-07 07:22:43 +00002125 Reviewed by Dan Bernstein.
2126
2127 https://bugs.webkit.org/show_bug.cgi?id=22093
2128
2129 Delaying the text decoding caused regression since the decoding
2130 also determines the encoding in case of @charset rule.
2131
2132 Decode immediately in data() and keep the decoded string around
2133 during the checkNotify().
2134
2135 * loader/CachedCSSStyleSheet.cpp:
2136 (WebCore::CachedCSSStyleSheet::sheetText):
2137 (WebCore::CachedCSSStyleSheet::data):
2138 * loader/CachedCSSStyleSheet.h:
2139
ap@webkit.orgd9634612008-11-07 05:52:46 +000021402008-11-06 Alexey Proskuryakov <ap@webkit.org>
2141
2142 Reviewed by Darin Adler.
2143
ap@webkit.org6169aa22008-11-07 05:54:49 +00002144 https://bugs.webkit.org/show_bug.cgi?id=22097
2145 Expose MessageEvent constructor on WorkerContext
2146
2147 * bindings/js/JSWorkerContext.cpp:
2148 (WebCore::jsWorkerContextMessageEvent):
2149 (WebCore::setJSWorkerContextMessageEvent):
2150
21512008-11-06 Alexey Proskuryakov <ap@webkit.org>
2152
2153 Reviewed by Darin Adler.
2154
ap@webkit.orgd9634612008-11-07 05:52:46 +00002155 https://bugs.webkit.org/show_bug.cgi?id=21107
2156 <rdar://problem/6264219> New access key combination conflicts with VoiceOver
2157
2158 * page/EventHandler.h:
2159 * page/gtk/EventHandlerGtk.cpp:
2160 (WebCore::EventHandler::accessKeyModifiers):
2161 * page/qt/EventHandlerQt.cpp:
2162 (WebCore::EventHandler::accessKeyModifiers):
2163 * page/win/EventHandlerWin.cpp:
2164 (WebCore::EventHandler::accessKeyModifiers):
2165 * page/wx/EventHandlerWx.cpp:
2166 (WebCore::EventHandler::accessKeyModifiers):
2167 Access access key modifiers via a function, not a static variable.
2168
2169 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
2170 Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
2171 less troublesome than one with VO keys.
2172
2173 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
2174 Also fix an access key matching bug introduced in r32424 - Any superset of specified
2175 modifier set invoked access keys. We can use simple equality comparison instead because
2176 CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
2177
andersca@apple.com1f7f4ee2008-11-07 04:04:52 +000021782008-11-06 Anders Carlsson <andersca@apple.com>
2179
2180 Reviewed by Kevin Decker.
2181
2182 https://bugs.webkit.org/show_bug.cgi?id=22115
2183 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
2184
2185 Export _NPN_HasMethod and _NPN_HasProperty.
2186
2187 * WebCore.NPAPI.exp:
2188
simon.fraser@apple.coma80e3172008-11-07 01:11:13 +000021892008-11-06 Simon Fraser <simon.fraser@apple.com>
2190
2191 Reviewed by Antti Koivisto
2192
2193 https://bugs.webkit.org/show_bug.cgi?id=15678
2194
2195 Fix transformed menu selects to show the popup in the correct
2196 location.
2197
2198 * rendering/RenderMenuList.cpp:
2199 (WebCore::RenderMenuList::showPopup):
2200
ddkilzer@apple.com58912bd2008-11-07 00:55:52 +000022012008-11-06 David Kilzer <ddkilzer@apple.com>
2202
2203 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
2204
2205 Apparently older versions of gcc have issues with this patch.
2206 Backing out a second time until the issues are resolved.
2207
jchaffraix@webkit.org95833722008-11-07 00:47:12 +000022082008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
2209
2210 Reviewed by Maciej Stachowiak.
2211
2212 Bug 21106: .in format discussed changes
2213 https://bugs.webkit.org/show_bug.cgi?id=21106
2214
2215 Include the namespace into the interfaceName.
2216
2217 * dom/make_names.pl: Do not append the namespace when
2218 using the interfaceName.
2219 * html/HTMLTagNames.in: Added namespace prefix for custom
2220 interfaceName.
2221 * svg/svgtags.in: Ditto.
2222
cwzwarich@webkit.org3ff0e6a2008-11-07 00:18:07 +000022232008-11-06 Cameron Zwarich <zwarich@apple.com>
2224
2225 Reviewed by Geoff Garen.
2226
2227 Move the remaining files in the kjs subdirectory of JavaScriptCore to
2228 a new parser subdirectory, and remove the kjs subdirectory entirely.
2229
2230 * ForwardingHeaders/kjs: Removed.
2231 * ForwardingHeaders/kjs/Parser.h: Removed.
2232 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
2233 * ForwardingHeaders/kjs/SourceCode.h: Removed.
2234 * ForwardingHeaders/kjs/SourceProvider.h: Removed.
2235 * ForwardingHeaders/parser: Added.
2236 * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
2237 * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
2238 * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
2239 * WebCore.pro:
2240 * WebCore.vcproj/WebCore.vcproj:
2241 * bindings/js/StringSourceProvider.h:
2242 * bindings/js/WorkerScriptController.cpp:
2243 * bridge/NP_jsobject.cpp:
2244 * bridge/jni/jni_jsobject.mm:
2245 * bridge/testbindings.pro:
2246 * inspector/JavaScriptDebugServer.cpp:
2247
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +000022482008-11-06 David Kilzer <ddkilzer@apple.com>
2249
ddkilzer@apple.coma8062f52008-11-06 23:46:40 +00002250 BUILD WAS NOT BROKEN: Rolling r38189 back in.
2251
2252 Please perform a clean build if you see crashes.
2253
22542008-11-06 David Kilzer <ddkilzer@apple.com>
2255
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +00002256 BUILD FIX: Backed out r38189 since it apparently broke the world.
2257
cfleizach@apple.com5b7e9982008-11-06 22:16:27 +000022582008-11-06 Chris Fleizach <cfleizach@apple.com>
2259
2260 Reviewed by Beth Dakin.
2261
2262 Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
2263 https://bugs.webkit.org/show_bug.cgi?id=22112
2264
2265 Test: accessibility/content-editable.html
2266
2267 * page/AccessibilityRenderObject.cpp:
2268 (WebCore::AccessibilityRenderObject::isReadOnly):
2269
weinig@apple.com5955ba22008-11-06 21:55:29 +000022702008-11-06 Sam Weinig <sam@webkit.org>
2271
2272 Reviewed by Alice Liu.
2273
2274 Fix failed assert at launch caused by unintialized data member on the mac.
2275
2276 * platform/network/mac/NetworkStateNotifierMac.cpp:
2277 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2278
sfalken@apple.com2c786e02008-11-06 21:47:58 +000022792008-11-06 Steve Falkenburg <sfalken@apple.com>
2280
2281 Fix failed assert at launch caused by unintialized data member.
2282
2283 Reviewed by Maciej Stachowiak.
2284
2285 * platform/network/win/NetworkStateNotifierWin.cpp:
2286 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2287
simon.fraser@apple.com52b2c502008-11-06 20:55:31 +000022882008-11-06 Simon Fraser <simon.fraser@apple.com>
2289
2290 Reviewed by Antti Koivisto
2291
2292 https://bugs.webkit.org/show_bug.cgi?id=22109
2293 Make <input type="range"> work correctly with transforms
2294
2295 Test: fast/forms/slider-transformed.html
2296
2297 * html/HTMLInputElement.cpp:
2298 (WebCore::HTMLInputElement::defaultEventHandler):
2299 Compute a correct local point when the event is retargeted
2300 * rendering/RenderSlider.cpp:
2301 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2302 Compute m_initialClickPoint in slider-local coords, so that
2303 deltas are computed correctly with transforms
2304 (WebCore::RenderSlider::mouseEventIsInThumb):
2305 Rather than computing an absolute bounds for the thumb,
2306 convert the point to local coords and compare it with the border box.
2307
ddkilzer@apple.com6f3816c2008-11-06 19:28:45 +000023082008-11-06 Greg Bolsinga <bolsinga@apple.com>
2309
2310 Reviewed by Darin Adler.
2311
2312 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
2313 https://bugs.webkit.org/show_bug.cgi?id=21810
2314
2315 * bindings/js/GCController.cpp:
2316 (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
2317 * bindings/js/JSDOMBinding.cpp:
2318 (WebCore::wrapperSet): Ditto
2319 * bindings/js/JSInspectedObjectWrapper.cpp:
2320 (WebCore::wrappers): Ditto
2321 * bindings/js/JSInspectorCallbackWrapper.cpp:
2322 (WebCore::wrappers): Ditto
2323 * bridge/runtime_root.cpp:
2324 (JSC::Bindings::rootObjectSet): Ditto
2325 * css/CSSMutableStyleDeclaration.cpp:
2326 (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
2327 * css/CSSPrimitiveValue.cpp:
2328 (WebCore::CSSPrimitiveValue::cssText): Ditto
2329 * css/CSSSelector.cpp:
2330 (WebCore::CSSSelector::extractPseudoType): Ditto
2331 * css/CSSStyleSelector.cpp:
2332 (WebCore::screenEval): Ditto
2333 (WebCore::printEval): Ditto
2334 * dom/DOMImplementation.cpp:
2335 (WebCore::isSVG10Feature): Ditto
2336 (WebCore::isSVG11Feature): Ditto
2337 (WebCore::DOMImplementation::isXMLMIMEType): Ditto
2338 * dom/Document.cpp:
2339 (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
2340 * dom/ScriptElement.cpp:
2341 (WebCore::isSupportedJavaScriptLanguage): Ditto
2342 * editing/ApplyStyleCommand.cpp:
2343 (WebCore::styleSpanClassString): Ditto
2344 * editing/HTMLInterchange.cpp:
2345 (WebCore::): Ditto
2346 * editing/IndentOutdentCommand.cpp:
2347 (WebCore::indentBlockquoteString): Ditto
2348 * editing/ReplaceSelectionCommand.cpp:
2349 (WebCore::isInterchangeNewlineNode): Ditto
2350 (WebCore::isInterchangeConvertedSpaceSpan): Ditto
2351 * editing/htmlediting.cpp:
2352 (WebCore::stringWithRebalancedWhitespace): Ditto
2353 (WebCore::nonBreakingSpaceString): Ditto
2354 * editing/markup.cpp:
2355 (WebCore::appendAttributeValue): Ditto
2356 (WebCore::appendEscapedContent): Ditto
2357 (WebCore::shouldAddNamespaceAttr): Ditto
2358 (WebCore::appendNamespace): Ditto
2359 (WebCore::appendStartMarkup): Ditto
2360 (WebCore::createMarkup): Ditto
2361 * html/HTMLButtonElement.cpp:
2362 (WebCore::HTMLButtonElement::type): Ditto
2363 * html/HTMLElement.cpp:
2364 (WebCore::HTMLElement::isRecognizedTagName): Ditto
2365 (WebCore::inlineTagList): Ditto
2366 (WebCore::blockTagList): Ditto
2367 * html/HTMLFieldSetElement.cpp:
2368 (WebCore::HTMLFieldSetElement::type): Ditto
2369 * html/HTMLInputElement.cpp:
2370 (WebCore::HTMLInputElement::type): Ditto
2371 * html/HTMLKeygenElement.cpp:
2372 (WebCore::HTMLKeygenElement::type): Ditto
2373 * html/HTMLLegendElement.cpp:
2374 (WebCore::HTMLLegendElement::type): Ditto
2375 * html/HTMLOptGroupElement.cpp:
2376 (WebCore::HTMLOptGroupElement::type): Ditto
2377 * html/HTMLOptionElement.cpp:
2378 (WebCore::HTMLOptionElement::type): Ditto
2379 * html/HTMLParser.cpp:
2380 (WebCore::HTMLParser::getNode): Ditto
2381 (WebCore::HTMLParser::isHeaderTag): Ditto
2382 (WebCore::HTMLParser::isResidualStyleTag): Ditto
2383 (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
2384 * html/HTMLSelectElement.cpp:
2385 (WebCore::HTMLSelectElement::type): Ditto
2386 * html/HTMLTextAreaElement.cpp:
2387 (WebCore::HTMLTextAreaElement::type): Ditto
2388 * inspector/InspectorController.cpp:
2389 (WebCore::platform): Ditto
2390 * inspector/JavaScriptDebugServer.cpp:
2391 (WebCore::JavaScriptDebugServer::shared): Ditto
2392 * inspector/JavaScriptProfile.cpp:
2393 (WebCore::profileCache): Ditto
2394 * inspector/JavaScriptProfileNode.cpp:
2395 (WebCore::profileNodeCache): Ditto
2396 * loader/FrameLoader.cpp:
2397 (WebCore::localSchemes): Ditto
2398 * loader/appcache/ApplicationCacheStorage.cpp:
2399 (WebCore::cacheStorage): Ditto
2400 * loader/archive/ArchiveFactory.cpp:
2401 (WebCore::archiveMIMETypes): Ditto
2402 * loader/icon/IconDatabase.cpp:
2403 (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
2404 * page/EventHandler.cpp:
2405 (WebCore::EventHandler::dragState): Ditto
2406 * page/Frame.cpp:
2407 (WebCore::createRegExpForLabels): Ditto
2408 (WebCore::keepAliveSet): Ditto
2409 * page/Page.cpp:
2410 (WebCore::Page::groupName): Ditto
2411 * page/SecurityOrigin.cpp:
2412 (WebCore::isDefaultPortForProtocol): Ditto
2413 (WebCore::SecurityOrigin::databaseIdentifier): Ditto
2414 * page/mac/FrameMac.mm:
2415 (WebCore::regExpForLabels): Ditto
2416 * platform/KURL.cpp:
2417 (WebCore::blankURL): Ditto
2418 * platform/graphics/FontCache.cpp:
2419 (WebCore::alternateFamilyName): Ditto
2420 * platform/graphics/mac/FontCacheMac.mm:
2421 (WebCore::FontCache::getSimilarFontPlatformData): Ditto
2422 (WebCore::FontCache::getLastResortFallbackFont): Ditto
2423 * platform/mac/ScrollbarThemeMac.mm:
2424 (WebCore::ScrollbarTheme::nativeTheme): Ditto
2425 * platform/mac/ThemeMac.mm:
2426 (WebCore::platformTheme): Ditto
2427 * platform/mac/ThreadCheck.mm:
2428 (WebCoreReportThreadViolation): Ditto
2429 * platform/network/NetworkStateNotifier.cpp:
2430 (WebCore::networkStateNotifier): Ditto
2431 * platform/network/mac/FormDataStreamMac.mm:
2432 (WebCore::getStreamFormDataMap): Ditto
2433 (WebCore::getStreamResourceHandleMap): Ditto
2434 * platform/network/mac/ResourceResponseMac.mm:
2435 (WebCore::ResourceResponse::platformLazyInit): Ditto
2436 * platform/text/TextEncoding.cpp:
2437 (WebCore::TextEncoding::isJapanese): Ditto
2438 * rendering/RenderBlock.cpp:
2439 (WebCore::continuationOutlineTable): Ditto
2440 * rendering/RenderCounter.cpp:
2441 (WebCore::counterMaps): Ditto
2442 * rendering/RenderFlexibleBox.cpp:
2443 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
2444 * rendering/RenderListItem.cpp:
2445 (WebCore::RenderListItem::markerText): Ditto
2446 * rendering/RenderScrollbarTheme.cpp:
2447 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
2448 * rendering/RenderThemeMac.mm:
2449 (WebCore::RenderThemeMac::systemFont): Ditto
2450 * rendering/bidi.cpp:
2451 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
2452 * rendering/style/RenderStyle.cpp:
2453 (WebCore::RenderStyle::initialDashboardRegions): Ditto
2454 (WebCore::RenderStyle::noneDashboardRegions): Ditto
2455 * storage/LocalStorage.cpp:
2456 (WebCore::localStorageMap): Ditto
2457 * svg/SVGAnimateMotionElement.cpp:
2458 (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
2459 * svg/SVGAnimationElement.cpp:
2460 (WebCore::SVGAnimationElement::calcMode): Ditto
2461 (WebCore::SVGAnimationElement::attributeType): Ditto
2462 (WebCore::SVGAnimationElement::isAdditive): Ditto
2463 (WebCore::SVGAnimationElement::isAccumulated): Ditto
2464 * svg/SVGLangSpace.cpp:
2465 (WebCore::SVGLangSpace::xmlspace): Ditto
2466 * svg/SVGSVGElement.cpp:
2467 (WebCore::SVGSVGElement::contentScriptType): Ditto
2468 (WebCore::SVGSVGElement::contentStyleType): Ditto
2469 * svg/SVGStyleElement.cpp:
2470 (WebCore::SVGStyleElement::type): Ditto
2471 (WebCore::SVGStyleElement::media): Ditto
2472 * svg/SVGTextContentElement.cpp:
2473 (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
2474 * svg/animation/SVGSMILElement.cpp:
2475 (WebCore::SVGSMILElement::parseClockValue): Ditto
2476 (WebCore::SVGSMILElement::restart): Ditto
2477 (WebCore::SVGSMILElement::fill): Ditto
2478 (WebCore::SVGSMILElement::repeatCount): Ditto
2479 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
2480 * svg/graphics/SVGResource.cpp:
2481 (WebCore::clientMap): Ditto
2482 * svg/graphics/SVGResourceMarker.cpp:
2483 (WebCore::SVGResourceMarker::draw): Ditto
2484 * xml/XMLHttpRequest.cpp:
2485 (WebCore::preflightResultCache): Ditto
2486 (WebCore::isSafeRequestHeader): Ditto
2487 (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
2488 * xml/XPathExpressionNode.cpp:
2489 (WebCore::XPath::Expression::evaluationContext): Ditto
2490 * xml/XPathParser.cpp:
2491 (WebCore::XPath::isAxisName): Ditto
2492 (WebCore::XPath::isNodeTypeName): Ditto
2493 * xml/XPathValue.cpp:
2494 (WebCore::XPath::Value::toNodeSet): Ditto
2495
vestbo@webkit.org6a404a22008-11-06 19:04:46 +000024962008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
2497
2498 Rubber-stamped by Simon Hausmann.
2499
2500 Remove a bunch of unused methods in the Qt media element implementation
2501
2502 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2503 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2504 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2505
simon.fraser@apple.com845c2632008-11-06 18:42:24 +000025062008-11-05 Simon Fraser <simon.fraser@apple.com>
2507
2508 Reviewed by Dave Hyatt
2509
2510 https://bugs.webkit.org/show_bug.cgi?id=21870
2511
2512 Implement absoluteToLocal() to convert a point from absolute
2513 to local coordinates, optionally taking transforms into account.
2514
2515 Use this to set offsetX/offsetY in mouse events, thus fixing
2516 offsetX/offsetY in events on elements with transforms.
2517
2518 Test: fast/events/offsetX-offsetY.html
2519
2520 * dom/MouseRelatedEvent.cpp:
2521 (WebCore::MouseRelatedEvent::receivedTarget):
2522 * rendering/RenderBox.cpp:
2523 (WebCore::RenderBox::localToAbsolute):
2524 (WebCore::RenderBox::absoluteToLocal):
2525 (WebCore::RenderBox::offsetFromContainer):
2526 * rendering/RenderBox.h:
2527 * rendering/RenderObject.cpp:
2528 (WebCore::RenderObject::absoluteToLocal):
2529 * rendering/RenderObject.h:
2530 * rendering/RenderTableCell.cpp:
2531 (WebCore::RenderTableCell::localToAbsolute):
2532 (WebCore::RenderTableCell::absoluteToLocal):
2533 * rendering/RenderTableCell.h:
2534 * rendering/RenderView.cpp:
2535 (WebCore::RenderView::absoluteToLocal):
2536 * rendering/RenderView.h:
2537
alp@webkit.orga8a7ebd2008-11-06 18:41:18 +000025382008-11-06 Alp Toker <alp@nuanti.com>
2539
2540 Reviewed by Cameron Zwarich.
2541
2542 https://bugs.webkit.org/show_bug.cgi?id=22067
2543 [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
2544
2545 null-check symbols loaded from plugin modules, initialize the function
2546 table (like Win already does) and update it with the latest
2547 additions. Adjust whitespace for easy diff'ing with the Win port code
2548 from which it was forked.
2549
2550 This fixes crashes with libnspr4.so and any other plugins that don't
2551 provide the symbols we expect.
2552
2553 * plugins/gtk/PluginPackageGtk.cpp:
2554 (WebCore::PluginPackage::fetchInfo):
2555 (WebCore::PluginPackage::load):
2556
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +000025572008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2558
2559 Reviewed by Simon Hausmann.
2560
hausmann@webkit.orgbdf11782008-11-06 18:38:57 +00002561 Removed dead (and broken) code from an ancient Symbian port.
2562
2563 * config.h:
2564 * platform/text/AtomicString.h:
2565 * platform/text/PlatformString.h:
2566
25672008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2568
2569 Reviewed by Simon Hausmann.
2570
hausmann@webkit.orge5ea3732008-11-06 18:38:48 +00002571 Use QLibrary as PlatformModule when compiling with Qt for S60.
2572
2573 * platform/FileSystem.h:
2574
25752008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2576
2577 Reviewed by Simon Hausmann.
2578
hausmann@webkit.org07a5d322008-11-06 18:38:31 +00002579 Compile fix for Symbian.
2580 The snprintf function is defined in stdio.h, the inclusion
2581 of snprintf.h inside this PLATFORM(SYMBIAN) block does not
2582 compile.
2583
2584 * config.h:
2585
25862008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
2587
2588 Reviewed by Simon Hausmann.
2589
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +00002590 Disable webkit plugins for Symbian.
2591
2592 * WebCore.pro:
2593
vestbo@webkit.orgb2902812008-11-06 12:14:49 +000025942008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
2595
vestbo@webkit.orgecfcaef2008-11-06 12:15:13 +00002596 Fix build break in debug mode when XSLT is not enabled
2597
2598 * loader/Cache.cpp:
2599 (WebCore::Cache::dumpStats):
2600
26012008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
2602
vestbo@webkit.orgb2902812008-11-06 12:14:49 +00002603 Reviewed by Simon Hausmann.
2604
2605 Repaint video on UpdateRequest to prevent recursive painting
2606
2607 Calling QWidget::render() to update the video generates a paint
2608 event that's then picked up by the event filter once more :(
2609
2610 We're really only interested in updates from Phonon, which we
2611 get through the UpdateRequest for each new frame.
2612
2613 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2614 (WebCore::MediaPlayerPrivate::eventFilter):
2615
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +000026162008-11-06 Cameron Zwarich <zwarich@apple.com>
2617
2618 Not reviewed.
2619
cwzwarich@webkit.org5400b932008-11-06 09:22:54 +00002620 Fix the WebCore build for some platforms by changing build scripts to
2621 account for the recent move of the create_hash_table script from the kjs
2622 subdirectory of JavaScriptCore to the root directory.
2623
2624 * WebCore.pro:
2625 * make-generated-sources.sh:
2626
26272008-11-06 Cameron Zwarich <zwarich@apple.com>
2628
2629 Not reviewed.
2630
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +00002631 Fix a case-sensitivity issue in Mac forwarding headers. Strangely
2632 enough, this does not always cause the build to break, even with a
2633 case-sensitive filesystem.
2634
2635 * ForwardingHeaders/runtime/Interpreter.h:
2636
ap@webkit.org90b52e82008-11-06 07:04:47 +000026372008-11-05 Alexey Proskuryakov <ap@webkit.org>
2638
ap@webkit.orgddf67942008-11-06 07:07:23 +00002639 Reviewed by Maciej Stachowiak.
2640
2641 https://bugs.webkit.org/show_bug.cgi?id=22083
2642 MessageEvents cannot be used across threads
2643
2644 * dom/Event.idl:
2645 * dom/MessageEvent.idl:
2646 Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
2647 won't work.
2648
2649 * dom/MessagePort.cpp:
2650 (WebCore::MessagePort::EventData::EventData):
2651 (WebCore::MessagePort::EventData::~EventData):
2652 (WebCore::MessagePort::clone):
2653 (WebCore::MessagePort::postMessage):
2654 (WebCore::MessagePort::startConversation):
2655 (WebCore::MessagePort::dispatchMessages):
2656 * dom/MessagePort.h:
2657 Don't create a MessageEvent until dispatch time - messages can be posted across threads,
2658 but MessageEvents are tied to the thread that they were created in.
2659
26602008-11-05 Alexey Proskuryakov <ap@webkit.org>
2661
ap@webkit.org90b52e82008-11-06 07:04:47 +00002662 Reviewed by Darin Adler.
2663
2664 https://bugs.webkit.org/show_bug.cgi?id=22066
2665 Implement Worker global object
2666
2667 * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
2668
2669 * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
2670 support is still disabled by default.
2671
2672 * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
2673
2674 * bindings/js/JSMessageChannelConstructor.cpp:
2675 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
2676
2677 * bindings/js/JSWorkerContext.cpp: Added.
2678 * bindings/js/JSWorkerContext.h: Added.
2679 * bindings/js/WorkerScriptController.cpp: Added.
2680 * bindings/js/WorkerScriptController.h: Added.
2681 * dom/WorkerContext.cpp: Added.
2682 * dom/WorkerContext.h: Added.
2683 Added an implementation of worker contexts.
2684
2685 * dom/DedicatedWorker.cpp:
2686 (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
2687 (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
2688 and lifetime is not clear at all.
2689
2690 * dom/WorkerLocation.cpp: Added.
2691 * dom/WorkerLocation.h: Added.
2692 * dom/WorkerLocation.idl: Added.
2693 Added WorkerLocation, which is one of the objects available to workers.
2694
2695 * dom/WorkerThread.cpp: Added.
2696 (WebCore::WorkerThread::WorkerThread):
2697 (WebCore::WorkerThread::start):
2698 (WebCore::WorkerThread::workerThreadStart):
2699 (WebCore::WorkerThread::workerThread):
2700 * dom/WorkerThread.h: Added.
2701 (WebCore::WorkerThread::create):
2702 Run some code in a worker thread (no message loop yet).
2703
antti@apple.comc5a38532008-11-06 02:40:54 +000027042008-11-05 Antti Koivisto <antti@apple.com>
2705
2706 Reviewed by Dan Bernstein.
2707
2708 https://bugs.webkit.org/show_bug.cgi?id=22093
2709 Don't keep decoded stylesheet data in cache
2710
2711 <rdar://problem/6343588>
2712
2713 Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
2714 performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
2715 style sheet data in cache by 2/3 in common case.
2716
2717 * loader/CachedCSSStyleSheet.cpp:
2718 (WebCore::CachedCSSStyleSheet::sheetText):
2719 (WebCore::CachedCSSStyleSheet::data):
2720 * loader/CachedCSSStyleSheet.h:
2721
ddkilzer@apple.comb02df962008-11-06 02:00:19 +000027222008-11-05 David Kilzer <ddkilzer@apple.com>
2723
2724 Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
2725
2726 <https://bugs.webkit.org/show_bug.cgi?id=21596>
2727
2728 Reviewed by Antti.
2729
2730 This patch adds real parsing for Pragma and Cache-Control headers
2731 based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some
2732 new String and StringImpl methods to assist with the parsing.
2733
2734 * loader/Cache.cpp:
2735 (WebCore::Cache::dumpStats): Added. Convenience method for dumping
2736 stats outside of Safari.
2737 * loader/Cache.h: Declared dumpStats().
2738
2739 * loader/CachedResource.cpp:
2740 (WebCore::CachedResource::mustRevalidate): Updated to use
2741 ResourceResponseBase::cacheControlDirectives() instead of substring
2742 matching of the entire Cache-Control header.
2743
2744 * loader/loader.cpp:
2745 (WebCore::Loader::Host::didReceiveResponse): Used the local
2746 'resource' variable instead of 'request->cachedResource()'.
2747
2748 * platform/network/ResourceResponseBase.cpp:
2749 (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
2750 m_haveParsedCacheControlHeader to false when a "Cache-Control"
2751 header is set. Ditto for m_haveParsedPragmaHeader and "Pragma".
2752 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
2753 Provides parsed Pragma header directives.
2754 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
2755 Provides parsed Cache-Control header directives.
2756 (WebCore::isCacheHeaderSeparator): Added. Returns true if a
2757 character is a separator character per RFC 2616, Section 2.2, else
2758 returns false.
2759 (WebCore::isControlCharacter): Added. Returns true if a character
2760 is a control character per RFC 2616 Section 2.2, else returns false.
2761 (WebCore::trimToNextSeparator): Added. Returns a string truncated
2762 at the first separator character per isCacheHeaderSeparator().
2763 (WebCore::parseCacheHeader): Added. This is the main parsing
2764 routine for both Cache-Control and Pragma headers.
2765 (WebCore::parseCacheControlDirectiveValues): Added. This splits
2766 certain Cache-Control directive values into a vector of strings.
2767 * platform/network/ResourceResponseBase.h:
2768 (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed
2769 Cache-Control header.
2770 (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma
2771 header.
2772 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
2773 declaration.
2774 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
2775 (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
2776 Added. Boolean to describe when the "Cache-Control" header needs to
2777 be reparsed.
2778 (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added.
2779 Boolean to describe when the "Pragma" header needs to be reparsed.
2780 (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
2781 Cached map to hold parsed "Cache-Control" headers.
2782 (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
2783 Cached map to hold parsed "Pragma" headers.
2784
2785 * platform/text/PlatformString.h:
2786 (WebCore::String::find): Added. Returns the first match based on
2787 the character-matching function pointer passed in.
2788 (WebCore::String::removeCharacters): Added declaration.
2789 (WebCore::find): Added. Inline method that takes a character-
2790 matching function pointer. Called by StringImpl::find().
2791 * platform/text/String.cpp:
2792 (WebCore::String::removeCharacters): Added. Calls
2793 StringImpl::removeCharacters().
2794 * platform/text/StringImpl.cpp:
2795 (WebCore::StringImpl::removeCharacters): Added. Returns a string
2796 with all characters removed that match the character-matching
2797 function pointer passed in. If there is no change to the string, it
2798 returns itself. Based heavily on StringImpl::simplifyWhitespace().
2799 (WebCore::StringImpl::find): Added. Calls WebCore::find().
2800 * platform/text/StringImpl.h:
2801 (WebCore::FindMatchFunctionPtr): Added. Typedef for a character-
2802 matching function pointer.
2803 (WebCore::StringImpl::removeCharacters): Added declaration.
2804 (WebCore::StringImpl::find): Ditto.
2805
justin.garcia@apple.com41ed13a2008-11-06 01:48:04 +000028062008-11-05 Justin Garcia <justin.garcia@apple.com>
2807
2808 Reviewed by Beth Dakin.
2809
2810 <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
2811
2812 As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node
2813 between two blockquotes. Because the start merge moves the text node into a blockquote, when we
2814 determine whether or not we should do the end merge, it incorrectly appears as though the end merge
2815 is merging out of a blockquote. The fix is to determine whether or not we should do the end merge
2816 before we do the start merge, so that the start merge doesn't effect our decision.
2817
2818 * editing/ReplaceSelectionCommand.cpp:
2819 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
2820 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
2821 (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
2822 * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
2823
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +000028242008-11-05 Cameron Zwarich <zwarich@apple.com>
2825
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00002826 Not reviewed.
2827
cwzwarich@webkit.org36c7fc72008-11-06 00:41:49 +00002828 Speculatively fix the Windows build, even though these changes may not
2829 actually matter for anything in the build, because the Windows bots are
2830 behind.
2831
2832 * WebCore.vcproj/WebCore.vcproj:
2833
28342008-11-05 Cameron Zwarich <zwarich@apple.com>
2835
2836 Not reviewed.
2837
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00002838 Fix the Qt build.
2839
2840 * bridge/qt/qt_class.cpp:
2841 * bridge/qt/qt_runtime.h:
2842
28432008-11-05 Cameron Zwarich <zwarich@apple.com>
2844
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +00002845 Rubber-stamped by Sam Weinig.
2846
2847 Move more files to the runtime subdirectory of JavaScriptCore.
2848
2849 * ForwardingHeaders/kjs/collector.h: Removed.
2850 * ForwardingHeaders/kjs/completion.h: Removed.
2851 * ForwardingHeaders/kjs/identifier.h: Removed.
2852 * ForwardingHeaders/kjs/interpreter.h: Removed.
2853 * ForwardingHeaders/kjs/lookup.h: Removed.
2854 * ForwardingHeaders/kjs/operations.h: Removed.
2855 * ForwardingHeaders/kjs/protect.h: Removed.
2856 * ForwardingHeaders/kjs/ustring.h: Removed.
2857 * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
2858 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
2859 * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
2860 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
2861 * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
2862 * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
2863 * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
2864 * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
2865 * bindings/js/GCController.cpp:
2866 * bindings/js/JSCustomPositionCallback.h:
2867 * bindings/js/JSCustomPositionErrorCallback.h:
2868 * bindings/js/JSCustomSQLStatementCallback.h:
2869 * bindings/js/JSCustomSQLStatementErrorCallback.h:
2870 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2871 * bindings/js/JSCustomVoidCallback.h:
2872 * bindings/js/JSDOMBinding.h:
2873 * bindings/js/JSDOMWindowBase.h:
2874 * bindings/js/JSEventListener.h:
2875 * bindings/js/ScheduledAction.h:
2876 * bindings/js/ScriptController.cpp:
2877 * bindings/js/ScriptController.h:
2878 * bindings/objc/WebScriptObject.mm:
2879 * bindings/scripts/CodeGeneratorJS.pm:
2880 * bridge/NP_jsobject.cpp:
2881 * bridge/c/c_class.cpp:
2882 * bridge/jni/jni_class.cpp:
2883 * bridge/jni/jni_jsobject.mm:
2884 * bridge/npruntime.cpp:
2885 * bridge/runtime_root.h:
2886 * history/CachedPage.h:
2887 * html/CanvasRenderingContext2D.cpp:
2888 * html/HTMLCanvasElement.cpp:
2889 * inspector/InspectorController.cpp:
2890 * inspector/JavaScriptCallFrame.cpp:
2891 * page/Console.cpp:
2892 * page/Page.cpp:
2893 * platform/text/AtomicString.cpp:
2894 * platform/text/PlatformString.h:
2895
weinig@apple.comef952ff2008-11-05 20:03:26 +000028962008-11-05 Sam Weinig <sam@webkit.org>
2897
2898 Reviewed by Anders Carlsson.
2899
2900 Fix https://bugs.webkit.org/show_bug.cgi?id=22085
2901 The Plugin JS object should expose item() and namedItem() methods to match Firefox
2902
2903 * bindings/js/JSPluginCustom.cpp:
2904 (WebCore::JSPlugin::nameGetter):
2905 * plugins/Plugin.cpp:
2906 (WebCore::Plugin::namedItem):
2907 * plugins/Plugin.h:
2908 * plugins/Plugin.idl:
2909
ap@webkit.org25eca0a2008-11-05 19:19:02 +000029102008-11-05 Alexey Proskuryakov <ap@webkit.org>
2911
2912 Reviewed by Maciej Stachowiak.
2913
2914 https://bugs.webkit.org/show_bug.cgi?id=21060
2915 Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
2916
2917 Test: fast/dom/Range/surroundContents-check-boundary-points.html
2918
2919 * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
2920
andersca@apple.comd5804932008-11-05 18:42:29 +000029212008-11-05 Anders Carlsson <andersca@apple.com>
2922
2923 Reviewed by Dan Bernstein.
2924
2925 Remove two global destructors from CoreTextController.
2926
2927 * platform/graphics/mac/CoreTextController.cpp:
2928 (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
2929
darin@chromium.orga9ece152008-11-05 18:41:07 +000029302008-11-05 Darin Fisher <darin@chromium.org>
2931
2932 Reviewed by Darin Adler.
2933
2934 CRASH at Scrollbar::invalidateRect due to null m_client
2935 https://bugs.webkit.org/show_bug.cgi?id=22080
2936
2937 * platform/Scrollbar.cpp:
2938 (WebCore::Scrollbar::isWindowActive):
2939 (WebCore::Scrollbar::invalidateRect):
2940
weinig@apple.com84ce5772008-11-05 18:30:59 +000029412008-11-04 Sam Weinig <sam@webkit.org>
2942
2943 Reviewed by Simon Hausmann.
2944
2945 Fix https://bugs.webkit.org/show_bug.cgi?id=21648
2946 navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
2947
2948 - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
2949
2950 * bindings/js/JSMimeTypeArrayCustom.cpp:
2951 (WebCore::JSMimeTypeArray::nameGetter):
2952 * bindings/js/JSPluginArrayCustom.cpp:
2953 (WebCore::JSPluginArray::nameGetter):
2954 * page/DOMWindow.idl:
2955 * plugins/MimeType.idl:
2956 * plugins/MimeTypeArray.cpp:
2957 (WebCore::MimeTypeArray::namedItem):
2958 * plugins/MimeTypeArray.h:
2959 * plugins/MimeTypeArray.idl:
2960 * plugins/Plugin.idl:
2961 * plugins/PluginArray.cpp:
2962 (WebCore::PluginArray::namedItem):
2963 * plugins/PluginArray.h:
2964 * plugins/PluginArray.idl:
2965
sfalken@apple.com206de2b2008-11-05 18:23:10 +000029662008-11-05 Steve Falkenburg <sfalken@apple.com>
2967
2968 Build fix.
2969
2970 * plugins/PluginPackage.cpp:
2971
hausmann@webkit.orge5a83262008-11-05 15:31:30 +000029722008-11-05 Jeff Cook <cookiecaper@gmail.com>
2973
2974 Reviewed by Simon Hausmann and Tor Arne.
2975
2976 Fix crash in the Qt port when unloading swfdec and Flash 10
2977 by reordering window destruction and plugin stop.
2978
2979 See https://bugs.webkit.org/show_bug.cgi?id=20779
2980
2981 * plugins/qt/PluginViewQt.cpp:
2982 (WebCore::PluginView::stop):
2983
hausmann@webkit.org49f97662008-11-05 15:31:10 +000029842008-11-05 Simon Hausmann <hausmann@webkit.org>
2985
2986 Reviewed by Tor Arne Vestbø
2987
hausmann@webkit.orgf9c88732008-11-05 15:31:22 +00002988 Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
2989
2990 Otherwise Flash refuses to load and function :(
2991
2992 * plugins/PluginPackage.cpp:
2993 (WebCore::PluginPackage::determineQuirks):
2994 * plugins/PluginQuirkSet.h:
2995 (WebCore::):
2996 * plugins/qt/PluginViewQt.cpp:
2997 (WebCore::PluginView::getValue):
2998
29992008-11-05 Simon Hausmann <hausmann@webkit.org>
3000
3001 Reviewed by Tor Arne Vestbø
3002
hausmann@webkit.org49f97662008-11-05 15:31:10 +00003003 Unify determineQuirks between the Qt and the Gtk PluginPackage.
3004 Share the code for parsing the module version from the description.
3005 This is currently used to determine Flash based quirks.
3006
3007 * plugins/PluginPackage.cpp:
3008 (WebCore::PluginPackage::createPackage):
3009 (WebCore::PluginPackage::determineQuirks):
3010 (WebCore::PluginPackage::determineModuleVersionFromDescription):
3011 * plugins/PluginPackage.h:
3012 * plugins/gtk/PluginPackageGtk.cpp:
3013 (WebCore::PluginPackage::fetchInfo):
3014 * plugins/qt/PluginPackageQt.cpp:
3015 (WebCore::PluginPackage::fetchInfo):
3016
cwzwarich@webkit.org4bcb8732008-11-05 00:49:41 +000030172008-11-04 Cameron Zwarich <zwarich@apple.com>
3018
3019 Rubber-stamped by Sam Weinig.
3020
3021 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
3022
3023 * ForwardingHeaders/kjs/dtoa.h: Removed.
3024 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
3025 * css/CSSParser.cpp:
3026 * platform/text/String.cpp:
3027 * platform/text/StringImpl.cpp:
3028
pam@chromium.org28f3c1b2008-11-05 00:24:44 +000030292008-11-04 Jonathan Haas <myrdred@gmail.com>
3030
3031 Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
3032
3033 Reviewed by Darin Adler.
3034
3035 Fixed an issue which could cause memory corruption using ToT libxml.
3036 See https://bugs.webkit.org/show_bug.cgi?id=15715
3037
3038 Test: fast/xsl/xslt-nested-stylesheets.xml
3039
3040 * xml/XSLImportRule.cpp:
3041 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
3042 * xml/XSLStyleSheet.cpp:
3043 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
3044 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
3045 (WebCore::XSLStyleSheet::setParentStyleSheet): Added
3046 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
3047
simon.fraser@apple.com0d555c02008-11-04 22:40:53 +000030482008-11-04 Simon Fraser <simon.fraser@apple.com>
3049
3050 No review.
3051
3052 Improved buid fix: include MathExtras.h to get roundf on all platforms.
3053
3054 * platform/graphics/FloatPoint.h:
3055
beidson@apple.com0d9e16f2008-11-04 20:55:13 +000030562008-11-04 Brady Eidson <beidson@apple.com>
3057
3058 Reviewed by John Sullivan
3059
3060 Add a simple "visited" method to HistoryItem for use by global history
3061
3062 * WebCore.base.exp:
3063
3064 * history/HistoryItem.cpp:
3065 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
3066 and bump the visit count. All things that should happen when a url is visited again!
3067 * history/HistoryItem.h:
3068
jmalonzo@webkit.org5b93bc22008-11-04 19:43:58 +000030692008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
3070
3071 Build fix. Not reviewed.
3072
3073 * platform/graphics/FloatPoint.h: include math.h.
3074 reported by zdobersek in #webkit.
3075
darin@chromium.org48246852008-11-04 19:40:56 +000030762008-11-04 Darin Fisher <darin@chromium.org>
3077
3078 Reviewed by Anders Carlsson.
3079
3080 No need to clobber all ResourceRequest fields in FrameLoader::reload()
3081 https://bugs.webkit.org/show_bug.cgi?id=21949
3082
3083 * loader/FrameLoader.cpp:
3084 (WebCore::FrameLoader::reload):
3085
darin@apple.comebdfeb62008-11-04 19:00:58 +000030862008-11-04 Darin Adler <darin@apple.com>
3087
3088 Reviewed by Tim Hatcher.
3089
3090 * storage/Database.cpp:
3091 (WebCore::databaseVersionKey): Tweaked formatting.
3092
darin@apple.com6d0ef6f2008-11-04 18:58:45 +000030932008-11-03 Darin Adler <darin@apple.com>
3094
3095 Reviewed by Tim Hatcher.
3096
3097 - https://bugs.webkit.org/show_bug.cgi?id=22061
3098 create script to check for exit-time destructors
3099
3100 * WebCore.xcodeproj/project.pbxproj: Added a script
3101 phase that runs the check-for-exit-time-destructors script.
3102
3103 * html/HTMLAttributeNames.in: Removed some unused attribute names.
3104
3105 * html/HTMLEmbedElement.cpp:
3106 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
3107 sets the write-only m_pluginPage.
3108 * html/HTMLEmbedElement.h: Ditto.
3109
3110 * platform/mac/CursorMac.mm:
3111 (WebCore::leakNamedCursor): Changed to return a Cursor&.
3112 (WebCore::pointerCursor): Changed to leak an object to avoid an
3113 exit-time destructor.
3114 (WebCore::crossCursor): Ditto.
3115 (WebCore::handCursor): Ditto.
3116 (WebCore::moveCursor): Ditto.
3117 (WebCore::verticalTextCursor): Ditto.
3118 (WebCore::cellCursor): Ditto.
3119 (WebCore::contextMenuCursor): Ditto.
3120 (WebCore::aliasCursor): Ditto.
3121 (WebCore::zoomInCursor): Ditto.
3122 (WebCore::zoomOutCursor): Ditto.
3123 (WebCore::copyCursor): Ditto.
3124 (WebCore::noneCursor): Ditto.
3125 (WebCore::progressCursor): Ditto.
3126 (WebCore::noDropCursor): Ditto.
3127 (WebCore::notAllowedCursor): Ditto.
3128 (WebCore::iBeamCursor): Ditto.
3129 (WebCore::waitCursor): Ditto.
3130 (WebCore::helpCursor): Ditto.
3131 (WebCore::eastResizeCursor): Ditto.
3132 (WebCore::northResizeCursor): Ditto.
3133 (WebCore::northEastResizeCursor): Ditto.
3134 (WebCore::northWestResizeCursor): Ditto.
3135 (WebCore::southResizeCursor): Ditto.
3136 (WebCore::southEastResizeCursor): Ditto.
3137 (WebCore::southWestResizeCursor): Ditto.
3138 (WebCore::westResizeCursor): Ditto.
3139 (WebCore::northSouthResizeCursor): Ditto.
3140 (WebCore::eastWestResizeCursor): Ditto.
3141 (WebCore::northEastSouthWestResizeCursor): Ditto.
3142 (WebCore::northWestSouthEastResizeCursor): Ditto.
3143 (WebCore::columnResizeCursor): Ditto.
3144 (WebCore::rowResizeCursor): Ditto.
3145 (WebCore::grabCursor): Ditto.
3146 (WebCore::grabbingCursor): Ditto.
3147
3148 * storage/Database.cpp:
3149 (WebCore::guidMutex): Changed to leak an object to avoid an
3150 exit-time destructor. Also added a comment explaining why it's
3151 thread safe.
3152 (WebCore::guidToVersionMap): Ditto.
3153 (WebCore::guidToDatabaseMap): Ditto.
3154 (WebCore::Database::databaseInfoTableName): Ditto.
3155 (WebCore::databaseVersionKey): Ditto.
3156 (WebCore::Database::getVersionFromDatabase): Ditto.
3157 (WebCore::Database::setVersionInDatabase): Ditto.
3158 (WebCore::guidForOriginAndName): Ditto.
3159 * storage/DatabaseTracker.cpp:
3160 (WebCore::DatabaseTracker::tracker): Ditto.
3161 (WebCore::notificationMutex): Ditto.
3162 (WebCore::notificationQueue): Ditto.
3163 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
3164
simon.fraser@apple.comc65d3282008-11-04 18:54:50 +000031652008-11-04 Simon Fraser <simon.fraser@apple.com>
3166
3167 Reviewed by Dave Hyatt
3168
3169 https://bugs.webkit.org/show_bug.cgi?id=21941
3170
3171 Rename absolutePosition() to localToAbsolute(), and add the ability
3172 to optionally take transforms into account (which will eventually be the
3173 default behavior).
3174
3175 * WebCore.base.exp:
3176 * WebCore.xcodeproj/project.pbxproj:
3177 * dom/ContainerNode.cpp:
3178 (WebCore::ContainerNode::getUpperLeftCorner):
3179 (WebCore::ContainerNode::getLowerRightCorner):
3180 (WebCore::ContainerNode::getRect):
3181 * dom/ContainerNode.h:
3182 * dom/MouseRelatedEvent.cpp:
3183 (WebCore::MouseRelatedEvent::receivedTarget):
3184 * dom/Node.cpp:
3185 (WebCore::Node::getRect):
3186 * editing/SelectionController.cpp:
3187 (WebCore::SelectionController::layout):
3188 (WebCore::SelectionController::caretRect):
3189 * editing/visible_units.cpp:
3190 (WebCore::previousLinePosition):
3191 (WebCore::nextLinePosition):
3192 * html/HTMLAnchorElement.cpp:
3193 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3194 (WebCore::HTMLAnchorElement::defaultEventHandler):
3195 * html/HTMLAreaElement.cpp:
3196 (WebCore::HTMLAreaElement::getRect):
3197 * html/HTMLImageElement.cpp:
3198 (WebCore::HTMLImageElement::x):
3199 (WebCore::HTMLImageElement::y):
3200 * html/HTMLInputElement.cpp:
3201 (WebCore::HTMLInputElement::defaultEventHandler):
3202 * html/HTMLInputElement.h:
3203 * page/AccessibilityRenderObject.cpp:
3204 (WebCore::AccessibilityRenderObject::boundingBoxRect):
3205 * page/EventHandler.cpp:
3206 (WebCore::EventHandler::handleDrag):
3207 * platform/graphics/FloatPoint.h:
3208 (WebCore::roundedIntPoint):
3209 * platform/graphics/IntSize.h:
3210 (WebCore::IntSize::expand):
3211 * rendering/LayoutState.cpp:
3212 (WebCore::LayoutState::LayoutState):
3213 * rendering/RenderBlock.cpp:
3214 (WebCore::RenderBlock::layoutBlock):
3215 (WebCore::RenderBlock::paintObject):
3216 (WebCore::RenderBlock::selectionGapRects):
3217 (WebCore::RenderBlock::fillBlockSelectionGaps):
3218 (WebCore::RenderBlock::nodeAtPoint):
3219 (WebCore::RenderBlock::positionForCoordinates):
3220 * rendering/RenderBox.cpp:
3221 (WebCore::RenderBox::localToAbsolute):
3222 (WebCore::RenderBox::computeAbsoluteRepaintRect):
3223 (WebCore::RenderBox::caretRect):
3224 * rendering/RenderBox.h:
3225 (WebCore::RenderBox::relativePositionOffset):
3226 * rendering/RenderContainer.cpp:
3227 (WebCore::RenderContainer::addLineBoxRects):
3228 * rendering/RenderFlow.cpp:
3229 (WebCore::RenderFlow::absoluteClippedOverflowRect):
3230 (WebCore::RenderFlow::caretRect):
3231 (WebCore::RenderFlow::addFocusRingRects):
3232 * rendering/RenderLayer.cpp:
3233 (WebCore::RenderLayer::updateLayerPosition):
3234 (WebCore::RenderLayer::convertToLayerCoords):
3235 (WebCore::RenderLayer::addScrolledContentOffset):
3236 (WebCore::RenderLayer::subtractScrolledContentOffset):
3237 (WebCore::RenderLayer::scrollRectToVisible):
3238 * rendering/RenderLayer.h:
3239 (WebCore::RenderLayer::scrolledContentOffset):
3240 (WebCore::RenderLayer::relativePositionOffset):
3241 * rendering/RenderListBox.cpp:
3242 (WebCore::RenderListBox::panScroll):
3243 (WebCore::RenderListBox::scrollToward):
3244 * rendering/RenderListMarker.cpp:
3245 (WebCore::RenderListMarker::selectionRect):
3246 * rendering/RenderObject.cpp:
3247 (WebCore::RenderObject::absoluteBoundingBoxRect):
3248 (WebCore::RenderObject::computeAbsoluteRepaintRect):
3249 (WebCore::RenderObject::localToAbsolute):
3250 (WebCore::RenderObject::addDashboardRegions):
3251 (WebCore::RenderObject::absoluteContentBox):
3252 (WebCore::RenderObject::absoluteOutlineBox):
3253 * rendering/RenderObject.h:
3254 (WebCore::RenderObject::localToAbsoluteForContent):
3255 * rendering/RenderPart.cpp:
3256 (WebCore::RenderPart::updateWidgetPosition):
3257 * rendering/RenderReplaced.cpp:
3258 (WebCore::RenderReplaced::selectionRect):
3259 * rendering/RenderSVGInlineText.cpp:
3260 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
3261 * rendering/RenderSVGText.cpp:
3262 (WebCore::RenderSVGText::absoluteRects):
3263 * rendering/RenderTableCell.cpp:
3264 (WebCore::RenderTableCell::localToAbsolute):
3265 * rendering/RenderTableCell.h:
3266 * rendering/RenderText.cpp:
3267 (WebCore::RenderText::addLineBoxRects):
3268 (WebCore::RenderText::caretRect):
3269 (WebCore::RenderText::selectionRect):
3270 * rendering/RenderVideo.cpp:
3271 (WebCore::RenderVideo::updatePlayer):
3272 * rendering/RenderView.cpp:
3273 (WebCore::RenderView::localToAbsolute):
3274 * rendering/RenderView.h:
3275 * rendering/RenderWidget.cpp:
3276 (WebCore::RenderWidget::updateWidgetPosition):
3277 * svg/SVGSVGElement.cpp:
3278 (WebCore::SVGSVGElement::getScreenCTM):
3279
hausmann@webkit.orgb8b5aa12008-11-04 16:22:05 +000032802008-11-03 Yael Aharon <yael.aharon@nokia.com>
3281
3282 Reviewed by Simon Hausmann.
3283
3284 Add methods for getting and setting user data on History Item.
3285 This change is limited to QT port only. Tests were added in
3286 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
3287
3288 Minor change by Simon: made the functions inline and added a missing
3289 const.
3290
3291 * history/HistoryItem.h:
3292
ap@webkit.orgc5e3f1b2008-11-04 10:46:13 +000032932008-11-01 Alexey Proskuryakov <ap@webkit.org>
3294
3295 Reviewed by Darin Adler.
3296
3297 https://bugs.webkit.org/show_bug.cgi?id=22030
3298 Make EventNames usable from multiple threads
3299
3300 * platform/text/AtomicString.cpp:
3301 (WebCore::stringTable):
3302 (WebCore::AtomicString::add):
3303 (WebCore::AtomicString::remove):
3304 (WebCore::AtomicString::find):
3305 (WebCore::AtomicString::init):
3306 * platform/text/AtomicString.h:
3307 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
3308 so global AtomicString constants cannot be used from threads other than the main one.
3309
3310 * dom/EventNames.cpp:
3311 (WebCore::EventNames::EventNames):
3312 (WebCore::eventNames):
3313 (WebCore::EventNames::init):
3314 * dom/EventNames.h:
3315 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
3316 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
3317 threads.
3318
3319 * WebCore.base.exp:
3320 * bindings/js/JSDOMWindowBase.cpp:
3321 * bindings/js/JSEventListener.cpp:
3322 * bindings/js/ScriptController.cpp:
3323 (WebCore::ScriptController::processingUserGesture):
3324 * dom/BeforeTextInsertedEvent.cpp:
3325 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
3326 * dom/BeforeUnloadEvent.cpp:
3327 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
3328 * dom/CharacterData.cpp:
3329 (WebCore::CharacterData::dispatchModifiedEvent):
3330 * dom/ContainerNode.cpp:
3331 (WebCore::dispatchChildInsertionEvents):
3332 (WebCore::dispatchChildRemovalEvents):
3333 * dom/DedicatedWorker.cpp:
3334 (WebCore::DedicatedWorker::dispatchErrorEvent):
3335 * dom/Document.cpp:
3336 (WebCore::Document::implicitClose):
3337 (WebCore::Document::setFocusedNode):
3338 (WebCore::Document::addListenerTypeIfNeeded):
3339 (WebCore::Document::removeWindowInlineEventListenerForType):
3340 (WebCore::Document::addWindowEventListener):
3341 (WebCore::Document::removeWindowEventListener):
3342 (WebCore::Document::finishedParsing):
3343 * dom/EventTargetNode.cpp:
3344 (WebCore::EventTargetNode::dispatchGenericEvent):
3345 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
3346 (WebCore::EventTargetNode::dispatchWindowEvent):
3347 (WebCore::EventTargetNode::dispatchUIEvent):
3348 (WebCore::EventTargetNode::dispatchSimulatedClick):
3349 (WebCore::EventTargetNode::dispatchMouseEvent):
3350 (WebCore::EventTargetNode::dispatchFocusEvent):
3351 (WebCore::EventTargetNode::dispatchBlurEvent):
3352 (WebCore::EventTargetNode::defaultEventHandler):
3353 (WebCore::EventTargetNode::on*): (multiple methods)
3354 (WebCore::EventTargetNode::setOn*): (multiple methods)
3355 * dom/KeyboardEvent.cpp:
3356 (WebCore::eventTypeForKeyboardEventType):
3357 (WebCore::KeyboardEvent::keyCode):
3358 (WebCore::KeyboardEvent::charCode):
3359 * dom/MessageEvent.cpp:
3360 (WebCore::MessageEvent::MessageEvent):
3361 * dom/MessagePort.cpp:
3362 (WebCore::MessagePort::dispatchMessages):
3363 (WebCore::MessagePort::dispatchCloseEvent):
3364 * dom/MouseEvent.cpp:
3365 (WebCore::MouseEvent::isDragEvent):
3366 (WebCore::MouseEvent::toElement):
3367 (WebCore::MouseEvent::fromElement):
3368 * dom/OverflowEvent.cpp:
3369 (WebCore::OverflowEvent::OverflowEvent):
3370 * dom/TextEvent.cpp:
3371 (WebCore::TextEvent::TextEvent):
3372 * dom/WebKitAnimationEvent.cpp:
3373 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
3374 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
3375 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
3376 (WebCore::WebKitAnimationEvent::animationName):
3377 (WebCore::WebKitAnimationEvent::elapsedTime):
3378 * dom/WebKitTransitionEvent.cpp:
3379 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
3380 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
3381 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
3382 (WebCore::WebKitTransitionEvent::propertyName):
3383 (WebCore::WebKitTransitionEvent::elapsedTime):
3384 * dom/WheelEvent.cpp:
3385 (WebCore::WheelEvent::WheelEvent):
3386 (WebCore::WheelEvent::initWheelEvent):
3387 * dom/XMLTokenizerLibxml2.cpp:
3388 * dom/XMLTokenizerQt.cpp:
3389 * editing/DeleteButton.cpp:
3390 (WebCore::DeleteButton::defaultEventHandler):
3391 * editing/EditCommand.cpp:
3392 * editing/Editor.cpp:
3393 (WebCore::Editor::canDHTMLCut):
3394 (WebCore::Editor::canDHTMLCopy):
3395 (WebCore::Editor::canDHTMLPaste):
3396 (WebCore::Editor::tryDHTMLCopy):
3397 (WebCore::Editor::tryDHTMLCut):
3398 (WebCore::Editor::tryDHTMLPaste):
3399 (WebCore::dispatchEditableContentChangedEvents):
3400 * editing/ReplaceSelectionCommand.cpp:
3401 (WebCore::ReplacementFragment::ReplacementFragment):
3402 * editing/SelectionController.cpp:
3403 (WebCore::SelectionController::setFocused):
3404 * html/HTMLAnchorElement.cpp:
3405 (WebCore::HTMLAnchorElement::defaultEventHandler):
3406 * html/HTMLBodyElement.cpp:
3407 (WebCore::HTMLBodyElement::parseMappedAttribute):
3408 * html/HTMLButtonElement.cpp:
3409 (WebCore::HTMLButtonElement::parseMappedAttribute):
3410 (WebCore::HTMLButtonElement::defaultEventHandler):
3411 * html/HTMLElement.cpp:
3412 (WebCore::HTMLElement::parseMappedAttribute):
3413 * html/HTMLFormControlElement.cpp:
3414 (WebCore::HTMLFormControlElement::onChange):
3415 * html/HTMLFormElement.cpp:
3416 (WebCore::HTMLFormElement::handleLocalEvents):
3417 (WebCore::HTMLFormElement::prepareSubmit):
3418 (WebCore::HTMLFormElement::reset):
3419 (WebCore::HTMLFormElement::parseMappedAttribute):
3420 * html/HTMLFrameElementBase.cpp:
3421 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
3422 * html/HTMLFrameSetElement.cpp:
3423 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3424 * html/HTMLImageElement.cpp:
3425 (WebCore::HTMLImageElement::parseMappedAttribute):
3426 * html/HTMLImageLoader.cpp:
3427 (WebCore::HTMLImageLoader::dispatchLoadEvent):
3428 * html/HTMLInputElement.cpp:
3429 (WebCore::HTMLInputElement::parseMappedAttribute):
3430 (WebCore::HTMLInputElement::setValueFromRenderer):
3431 (WebCore::HTMLInputElement::preDispatchEventHandler):
3432 (WebCore::HTMLInputElement::postDispatchEventHandler):
3433 (WebCore::HTMLInputElement::defaultEventHandler):
3434 (WebCore::HTMLInputElement::onSearch):
3435 * html/HTMLLabelElement.cpp:
3436 (WebCore::HTMLLabelElement::defaultEventHandler):
3437 * html/HTMLMediaElement.cpp:
3438 (WebCore::HTMLMediaElement::load):
3439 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
3440 (WebCore::HTMLMediaElement::setReadyState):
3441 (WebCore::HTMLMediaElement::progressEventTimerFired):
3442 (WebCore::HTMLMediaElement::seek):
3443 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
3444 (WebCore::HTMLMediaElement::setPlaybackRate):
3445 (WebCore::HTMLMediaElement::play):
3446 (WebCore::HTMLMediaElement::pause):
3447 (WebCore::HTMLMediaElement::setVolume):
3448 (WebCore::HTMLMediaElement::setMuted):
3449 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3450 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
3451 * html/HTMLObjectElement.cpp:
3452 (WebCore::HTMLObjectElement::parseMappedAttribute):
3453 * html/HTMLOptionElement.cpp:
3454 * html/HTMLScriptElement.cpp:
3455 (WebCore::HTMLScriptElement::parseMappedAttribute):
3456 (WebCore::HTMLScriptElement::dispatchLoadEvent):
3457 (WebCore::HTMLScriptElement::dispatchErrorEvent):
3458 * html/HTMLSelectElement.cpp:
3459 (WebCore::HTMLSelectElement::parseMappedAttribute):
3460 (WebCore::HTMLSelectElement::defaultEventHandler):
3461 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3462 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3463 * html/HTMLTextAreaElement.cpp:
3464 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3465 (WebCore::HTMLTextAreaElement::defaultEventHandler):
3466 * html/HTMLTokenizer.cpp:
3467 (WebCore::HTMLTokenizer::notifyFinished):
3468 * loader/FrameLoader.cpp:
3469 (WebCore::FrameLoader::stopLoading):
3470 (WebCore::FrameLoader::canCachePage):
3471 * loader/ImageDocument.cpp:
3472 (WebCore::ImageEventListener::handleEvent):
3473 * loader/ImageLoader.cpp:
3474 * loader/MediaDocument.cpp:
3475 (WebCore::MediaDocument::defaultEventHandler):
3476 * loader/appcache/DOMApplicationCache.cpp:
3477 (WebCore::DOMApplicationCache::callCheckingListener):
3478 (WebCore::DOMApplicationCache::callErrorListener):
3479 (WebCore::DOMApplicationCache::callNoUpdateListener):
3480 (WebCore::DOMApplicationCache::callDownloadingListener):
3481 (WebCore::DOMApplicationCache::callProgressListener):
3482 (WebCore::DOMApplicationCache::callUpdateReadyListener):
3483 (WebCore::DOMApplicationCache::callCachedListener):
3484 * page/AccessibilityObject.cpp:
3485 * page/AccessibilityRenderObject.cpp:
3486 (WebCore::AccessibilityRenderObject::mouseButtonListener):
3487 * page/ContextMenuController.cpp:
3488 (WebCore::ContextMenuController::handleContextMenuEvent):
3489 * page/DOMWindow.cpp:
3490 (WebCore::DOMWindow::on*): (multiple methods)
3491 (WebCore::DOMWindow::setOn*): (multiple methods)
3492 * page/EventHandler.cpp:
3493 (WebCore::EventHandler::handleMousePressEvent):
3494 (WebCore::EventHandler::handleMouseDoubleClickEvent):
3495 (WebCore::EventHandler::handleMouseMoveEvent):
3496 (WebCore::EventHandler::handleMouseReleaseEvent):
3497 (WebCore::EventHandler::updateDragAndDrop):
3498 (WebCore::EventHandler::cancelDragAndDrop):
3499 (WebCore::EventHandler::performDragAndDrop):
3500 (WebCore::EventHandler::updateMouseEventTargetNode):
3501 (WebCore::EventHandler::dispatchMouseEvent):
3502 (WebCore::EventHandler::sendContextMenuEvent):
3503 (WebCore::EventHandler::canMouseDownStartSelect):
3504 (WebCore::EventHandler::canMouseDragExtendSelect):
3505 (WebCore::EventHandler::defaultKeyboardEventHandler):
3506 (WebCore::EventHandler::dragSourceMovedTo):
3507 (WebCore::EventHandler::dragSourceEndedAt):
3508 (WebCore::EventHandler::handleDrag):
3509 (WebCore::EventHandler::handleTextInputEvent):
3510 * page/FocusController.cpp:
3511 * page/Frame.cpp:
3512 (WebCore::Frame::sendResizeEvent):
3513 (WebCore::Frame::sendScrollEvent):
3514 * page/Page.cpp:
3515 (WebCore::networkStateChanged):
3516 * page/animation/AnimationBase.cpp:
3517 (WebCore::AnimationBase::updateStateMachine):
3518 (WebCore::AnimationBase::animationTimerCallbackFired):
3519 (WebCore::AnimationBase::primeEventTimers):
3520 * page/animation/ImplicitAnimation.cpp:
3521 (WebCore::ImplicitAnimation::onAnimationEnd):
3522 (WebCore::ImplicitAnimation::sendTransitionEvent):
3523 * page/animation/KeyframeAnimation.cpp:
3524 (WebCore::KeyframeAnimation::onAnimationStart):
3525 (WebCore::KeyframeAnimation::onAnimationIteration):
3526 (WebCore::KeyframeAnimation::onAnimationEnd):
3527 (WebCore::KeyframeAnimation::sendAnimationEvent):
3528 * page/gtk/EventHandlerGtk.cpp:
3529 * page/mac/EventHandlerMac.mm:
3530 (WebCore::isKeyboardOptionTab):
3531 * page/mac/FrameMac.mm:
3532 * page/qt/EventHandlerQt.cpp:
3533 (WebCore::isKeyboardOptionTab):
3534 * plugins/PluginView.cpp:
3535 * plugins/gtk/PluginViewGtk.cpp:
3536 * plugins/qt/PluginViewQt.cpp:
3537 * plugins/win/PluginViewWin.cpp:
3538 (WebCore::PluginView::handleKeyboardEvent):
3539 (WebCore::PluginView::handleMouseEvent):
3540 * rendering/MediaControlElements.cpp:
3541 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
3542 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
3543 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
3544 (WebCore::MediaControlTimelineElement::defaultEventHandler):
3545 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
3546 * rendering/RenderFrameSet.cpp:
3547 (WebCore::RenderFrameSet::userResize):
3548 * rendering/RenderLayer.cpp:
3549 (WebCore::RenderLayer::scrollToOffset):
3550 * rendering/RenderListBox.cpp:
3551 (WebCore::RenderListBox::valueChanged):
3552 * rendering/RenderMedia.cpp:
3553 (WebCore::RenderMedia::forwardEvent):
3554 * rendering/RenderObject.cpp:
3555 * rendering/RenderSlider.cpp:
3556 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
3557 * rendering/RenderTextControl.cpp:
3558 (WebCore::RenderTextControl::forwardEvent):
3559 (WebCore::RenderTextControl::selectionChanged):
3560 * rendering/RenderWidget.cpp:
3561 * rendering/TextControlInnerElements.cpp:
3562 (WebCore::TextControlInnerTextElement::defaultEventHandler):
3563 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
3564 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
3565 * storage/LocalStorageArea.cpp:
3566 (WebCore::LocalStorageArea::dispatchStorageEvent):
3567 * storage/SessionStorageArea.cpp:
3568 (WebCore::SessionStorageArea::dispatchStorageEvent):
3569 * svg/SVGAElement.cpp:
3570 (WebCore::SVGAElement::defaultEventHandler):
3571 * svg/SVGDocument.cpp:
3572 (WebCore::SVGDocument::dispatchZoomEvent):
3573 (WebCore::SVGDocument::dispatchScrollEvent):
3574 * svg/SVGElement.cpp:
3575 (WebCore::SVGElement::parseMappedAttribute):
3576 (WebCore::hasLoadListener):
3577 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3578 * svg/SVGElementInstance.cpp:
3579 (WebCore::SVGElementInstance::on*): (multiple methods)
3580 (WebCore::SVGElementInstance::setOn*): (multiple methods)
3581 * svg/SVGImageLoader.cpp:
3582 (WebCore::SVGImageLoader::dispatchLoadEvent):
3583 * svg/SVGSVGElement.cpp:
3584 (WebCore::SVGSVGElement::parseMappedAttribute):
3585 * svg/SVGScriptElement.cpp:
3586 (WebCore::SVGScriptElement::dispatchErrorEvent):
3587 * xml/XMLHttpRequest.cpp:
3588 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
3589 (WebCore::XMLHttpRequest::dispatchAbortEvent):
3590 (WebCore::XMLHttpRequest::dispatchErrorEvent):
3591 (WebCore::XMLHttpRequest::dispatchLoadEvent):
3592 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
3593 (WebCore::XMLHttpRequest::dispatchProgressEvent):
3594 * xml/XMLHttpRequestUpload.cpp:
3595 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
3596 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
3597 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
3598 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
3599 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
3600 * xml/XPathResult.cpp:
3601 (WebCore::XPathResult::XPathResult):
3602 (WebCore::XPathResult::~XPathResult):
3603 (WebCore::XPathResult::invalidateIteratorState):
3604 Access event names via eventNames() function.
3605
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +000036062008-11-04 Cameron Zwarich <zwarich@apple.com>
3607
cwzwarich@webkit.orgd39a1fc2008-11-04 09:43:49 +00003608 Reviewed by Mark Rowe.
3609
3610 Delete unused forwarding headers.
3611
3612 * ForwardingHeaders/kjs/Activation.h: Removed.
3613 * ForwardingHeaders/kjs/Register.h: Removed.
3614 * ForwardingHeaders/kjs/RegisterID.h: Removed.
3615
36162008-11-04 Cameron Zwarich <zwarich@apple.com>
3617
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +00003618 Not reviewed.
3619
3620 Fix stupid typo in previous build fix.
3621
3622 * bindings/js/JSStorageCustom.cpp:
3623 * bindings/scripts/CodeGeneratorJS.pm:
3624 * bridge/NP_jsobject.cpp:
3625
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +000036262008-11-03 Cameron Zwarich <zwarich@apple.com>
3627
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00003628 Not reviewed.
3629
cwzwarich@webkit.org5d5284b2008-11-04 07:56:20 +00003630 Fix the build for all non-Mac platforms.
3631
3632 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
3633 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
3634 * bindings/js/JSStorageCustom.cpp:
3635 * bindings/scripts/CodeGeneratorJS.pm:
3636 * bridge/NP_jsobject.cpp:
3637
36382008-11-03 Cameron Zwarich <zwarich@apple.com>
3639
3640 Not reviewed.
3641
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00003642 Fix the wxWindows build.
3643
3644 * bridge/c/c_instance.cpp:
3645
36462008-11-03 Cameron Zwarich <zwarich@apple.com>
3647
cwzwarich@webkit.orgb91210c2008-11-04 07:10:41 +00003648 Rubber-stamped by Maciej Stachowiak.
3649
3650 Move more files into the runtime subdirectory of JavaScriptCore.
3651
3652 * ForwardingHeaders/kjs/ArgList.h: Removed.
3653 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
3654 * ForwardingHeaders/kjs/ExecState.h: Removed.
3655 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
3656 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
3657 * ForwardingHeaders/kjs/JSLock.h: Removed.
3658 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
3659 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
3660 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
3661 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
3662 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
3663 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
3664 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
3665 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
3666 * bindings/js/GCController.cpp:
3667 * bindings/js/JSCustomPositionCallback.cpp:
3668 * bindings/js/JSCustomPositionErrorCallback.cpp:
3669 * bindings/js/JSCustomSQLStatementCallback.cpp:
3670 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3671 * bindings/js/JSCustomSQLTransactionCallback.cpp:
3672 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3673 * bindings/js/JSCustomVoidCallback.cpp:
3674 * bindings/js/JSCustomXPathNSResolver.cpp:
3675 * bindings/js/JSDOMWindowBase.cpp:
3676 * bindings/js/JSEventCustom.cpp:
3677 * bindings/js/JSEventListener.cpp:
3678 * bindings/js/JSNodeFilterCondition.cpp:
3679 * bindings/js/ScheduledAction.cpp:
3680 * bindings/js/ScriptController.cpp:
3681 * bindings/js/ScriptControllerMac.mm:
3682 * bindings/objc/WebScriptObject.mm:
3683 * bridge/NP_jsobject.cpp:
3684 * bridge/c/c_class.cpp:
3685 * bridge/c/c_instance.cpp:
3686 * bridge/c/c_runtime.cpp:
3687 * bridge/c/c_utility.cpp:
3688 * bridge/jni/jni_class.cpp:
3689 * bridge/jni/jni_instance.cpp:
3690 * bridge/jni/jni_jsobject.mm:
3691 * bridge/jni/jni_objc.mm:
3692 * bridge/jni/jni_runtime.cpp:
3693 * bridge/jni/jni_runtime.h:
3694 * bridge/jni/jni_utility.cpp:
3695 * bridge/npruntime.cpp:
3696 * bridge/objc/objc_instance.mm:
3697 * bridge/objc/objc_runtime.mm:
3698 * bridge/objc/objc_utility.mm:
3699 * bridge/runtime.cpp:
3700 * dom/Document.cpp:
3701 * dom/Node.cpp:
3702 * dom/NodeFilter.cpp:
3703 * dom/NodeIterator.cpp:
3704 * dom/TreeWalker.cpp:
3705 * history/CachedPage.cpp:
3706 * inspector/InspectorController.cpp:
3707 * inspector/JavaScriptCallFrame.cpp:
3708 * inspector/JavaScriptCallFrame.h:
3709 * inspector/JavaScriptDebugServer.cpp:
3710 * inspector/JavaScriptProfileNode.cpp:
3711 * loader/FrameLoader.cpp:
3712 * loader/icon/IconDatabase.cpp:
3713 * page/Console.cpp:
3714 * page/Page.cpp:
3715 * page/mac/FrameMac.mm:
3716 * plugins/PluginView.cpp:
3717 * plugins/gtk/PluginViewGtk.cpp:
3718 * plugins/qt/PluginViewQt.cpp:
3719 * plugins/win/PluginViewWin.cpp:
3720 * storage/Database.cpp:
3721 * xml/XMLHttpRequest.cpp:
3722
37232008-11-03 Cameron Zwarich <zwarich@apple.com>
3724
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +00003725 Reviewed by Sam Weinig.
3726
3727 Remove the forwarding header for FunctionCallProfile, because it was
3728 renamed to ProfileNode in r33466.
3729
3730 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
3731
simon.fraser@apple.comf9050b32008-11-03 22:37:00 +000037322008-11-03 Simon Fraser <simon.fraser@apple.com>
3733
3734 Reviewed by Dave Hyatt
3735
3736 https://bugs.webkit.org/show_bug.cgi?id=22026
3737
3738 When computing the bounds of the transparency layer, we need to
3739 map the clipRect through the enclosing transform.
3740
3741 Test: fast/layers/opacity-transforms.html
3742
3743 * rendering/RenderLayer.cpp:
3744 (WebCore::transparencyClipBox):
3745
kdecker@apple.comeb4eabb22008-11-03 20:52:50 +000037462008-11-03 Kevin Decker <kdecker@apple.com>
3747
3748 Reviewed by Anders Carlsson.
3749
3750 https://bugs.webkit.org/show_bug.cgi?id=22053
3751
3752 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
3753
3754 * bridge/npapi.h:
3755
alp@webkit.org75ab3a52008-11-03 19:15:13 +000037562008-11-03 Xan Lopez <xan@gnome.org>
3757
3758 Reviewed by Alp Toker.
3759
3760 Update parseDataUrl() function in the libsoup http backend with
3761 the one from the curl backend which has recent correctness and crash
3762 fixes.
3763
3764 * platform/network/soup/ResourceHandleSoup.cpp:
3765 (WebCore::parseDataUrl):
3766
alp@webkit.org1ad9e722008-11-03 16:50:16 +000037672008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
3768
3769 Reviewed by Alp Toker.
3770
3771 https://bugs.webkit.org/show_bug.cgi?id=22041
3772 Fix CURL crashes on the test suite
3773
alp@webkit.orgc90968d2008-11-03 17:11:19 +00003774 Fix segfault with setDefersLoading(). Do not call into curl when we
3775 don't have a CURL handle.
3776
3777 It is attempted to defer the loading before the load has been
3778 started (no curl handle was allocated yet). If that happens then
3779 just remember that. ResourceHandleManager::startJob is already taking
3780 care of this and in initResourceHandle the the downloading will
3781 be paused if needed.
3782
3783 Fixes fast/loader/simultaneous-reloads-assert.html
3784
3785 * platform/network/curl/ResourceHandleCurl.cpp:
3786 (WebCore::ResourceHandle::setDefersLoading):
3787
37882008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
3789
3790 Reviewed by Alp Toker.
3791
3792 https://bugs.webkit.org/show_bug.cgi?id=22041
3793 Fix CURL crashes on the test suite
3794
alp@webkit.org1ad9e722008-11-03 16:50:16 +00003795 Do not send "no data" to WebCore in parseDataUrl().
3796
3797 Fixes assert on fast/tokenizer/image-empty-crash.html
3798
3799 * platform/network/curl/ResourceHandleManager.cpp:
3800 (WebCore::parseDataUrl):
3801
christian@webkit.orgfb968c62008-11-02 20:23:14 +000038022008-11-02 Xan Lopez <xan@gnome.org>
3803
3804 Reviewed by Holger Freyther.
3805
3806 https://bugs.webkit.org/show_bug.cgi?id=22009
3807 HTML5 Video with GStreamer pulls gnome-vfs without using it
3808
3809 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3810 Remove gnome-vfs include.
3811
abarth@webkit.orga796cc02008-11-01 09:31:42 +000038122008-11-01 Adam Barth <abarth@webkit.org>
3813
3814 Reviewed by Sam Weinig.
3815
3816 Be sure to check the final URLs of requested resources to make sure we
3817 don't get fooled by HTTP redirects.
3818
3819 https://bugs.webkit.org/show_bug.cgi?id=21963
3820
3821 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
3822 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
3823
3824 * dom/XMLTokenizerLibxml2.cpp:
3825 (WebCore::openFunc):
3826 * loader/DocLoader.cpp:
3827 (WebCore::DocLoader::canRequest):
3828 (WebCore::DocLoader::requestResource):
3829 * loader/DocLoader.h:
3830 * xml/XSLTProcessor.cpp:
3831 (WebCore::docLoaderFunc):
3832
ap@webkit.orgec7365b2008-11-01 07:21:53 +000038332008-11-01 Alexey Proskuryakov <ap@webkit.org>
3834
3835 Reviewed by Darin Adler.
3836
3837 https://bugs.webkit.org/show_bug.cgi?id=22001
3838 AtomicStringImpl* keys of event listener maps can outlive their strings
3839
3840 Test: fast/events/destroyed-atomic-string.html
3841
3842 * dom/MessagePort.cpp:
3843 (WebCore::MessagePort::addEventListener):
3844 (WebCore::MessagePort::removeEventListener):
3845 (WebCore::MessagePort::dispatchEvent):
3846 * dom/MessagePort.h:
3847 * loader/appcache/DOMApplicationCache.cpp:
3848 (WebCore::DOMApplicationCache::addEventListener):
3849 (WebCore::DOMApplicationCache::removeEventListener):
3850 (WebCore::DOMApplicationCache::dispatchEvent):
3851 * loader/appcache/DOMApplicationCache.h:
3852 * xml/XMLHttpRequest.cpp:
3853 (WebCore::XMLHttpRequest::addEventListener):
3854 (WebCore::XMLHttpRequest::removeEventListener):
3855 (WebCore::XMLHttpRequest::dispatchEvent):
3856 * xml/XMLHttpRequest.h:
3857 * xml/XMLHttpRequestUpload.cpp:
3858 (WebCore::XMLHttpRequestUpload::addEventListener):
3859 (WebCore::XMLHttpRequestUpload::removeEventListener):
3860 (WebCore::XMLHttpRequestUpload::dispatchEvent):
3861 * xml/XMLHttpRequestUpload.h:
3862 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
3863
ap@webkit.orgf319b262008-11-01 07:11:09 +000038642008-10-31 Alexey Proskuryakov <ap@webkit.org>
3865
3866 Reviewed by Darin Adler.
3867
3868 https://bugs.webkit.org/show_bug.cgi?id=21998
3869 Use JSDOMGlobalObject in EventListener-related bindings
3870
3871 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
3872
3873 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
3874 bindings for inline event handlers.
3875
3876 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3877 (WebCore::JSDOMApplicationCache::addEventListener):
3878 (WebCore::JSDOMApplicationCache::removeEventListener):
3879 * bindings/js/JSEventTargetNodeCustom.cpp:
3880 (WebCore::JSEventTargetNode::addEventListener):
3881 (WebCore::JSEventTargetNode::removeEventListener):
3882 * bindings/js/JSMessagePortCustom.cpp:
3883 (WebCore::JSMessagePort::removeEventListener):
3884 * bindings/js/JSSVGElementInstanceCustom.cpp:
3885 (WebCore::JSSVGElementInstance::addEventListener):
3886 (WebCore::JSSVGElementInstance::removeEventListener):
3887 * bindings/js/JSXMLHttpRequestCustom.cpp:
3888 (WebCore::JSXMLHttpRequest::addEventListener):
3889 (WebCore::JSXMLHttpRequest::removeEventListener):
3890 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3891 (WebCore::JSXMLHttpRequestUpload::addEventListener):
3892 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3893 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
3894
3895 * dom/EventTarget.h:
3896 * dom/EventTargetNode.cpp:
3897 (WebCore::EventTargetNode::scriptExecutionContext):
3898 * dom/EventTargetNode.h:
3899 * dom/MessagePort.cpp:
3900 * dom/MessagePort.h:
3901 (WebCore::MessagePort::scriptExecutionContext):
3902 * loader/appcache/DOMApplicationCache.cpp:
3903 (WebCore::DOMApplicationCache::scriptExecutionContext):
3904 * loader/appcache/DOMApplicationCache.h:
3905 * svg/SVGElementInstance.cpp:
3906 (WebCore::SVGElementInstance::scriptExecutionContext):
3907 * svg/SVGElementInstance.h:
3908 * xml/XMLHttpRequest.cpp:
3909 (WebCore::XMLHttpRequest::scriptExecutionContext):
3910 * xml/XMLHttpRequest.h:
3911 * xml/XMLHttpRequestUpload.cpp:
3912 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
3913 * xml/XMLHttpRequestUpload.h:
3914 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
3915 available yet.
3916
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +000039172008-10-31 Cameron Zwarich <zwarich@apple.com>
3918
cwzwarich@webkit.org16e38912008-11-01 01:05:21 +00003919 Rubber-stamped by Geoff Garen.
3920
3921 Rename SourceRange.h to SourceCode.h.
3922
3923 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
3924 * ForwardingHeaders/kjs/SourceRange.h: Removed.
3925 * bindings/js/StringSourceProvider.h:
3926 * bridge/NP_jsobject.cpp:
3927
39282008-10-31 Cameron Zwarich <zwarich@apple.com>
3929
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +00003930 Reviewed by Darin Adler.
3931
3932 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
3933 <https://bugs.webkit.org/show_bug.cgi?id=22019>
3934
3935 * WebCore.base.exp:
3936 * page/Console.cpp:
3937 (WebCore::printToStandardOut):
3938 (WebCore::Console::shouldPrintExceptions):
3939 (WebCore::Console::setShouldPrintExceptions):
3940 * page/Console.h:
3941
mitz@apple.comb7f88482008-10-31 23:35:00 +000039422008-10-31 Dan Bernstein <mitz@apple.com>
3943
3944 Reviewed by John Sullivan.
3945
3946 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
3947
3948 * dom/Document.cpp:
3949 (WebCore::Document::cookie): Added checking if cookies are disabled.
3950 (WebCore::Document::setCookie): Ditto.
3951 * page/Navigator.cpp:
3952 (WebCore::Navigator::cookieEnabled): Ditto.
3953 * page/Page.cpp:
3954 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
3955 * page/Page.h:
3956 (WebCore::Page::cookieEnabled): Added.
3957 (WebCore::Page::setCookieEnabled): Added.
3958
adele@apple.comae80b362008-10-31 23:25:48 +000039592008-10-31 Adele Peterson <adele@apple.com>
3960
3961 Reviewed by Darin Adler.
3962
3963 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
3964 https://bugs.webkit.org/show_bug.cgi?id=22008
3965
3966 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
3967 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
3968 * platform/graphics/Icon.h: ditto.
3969 * platform/graphics/gtk/IconGtk.cpp:
3970 (WebCore::Icon::createIconForFile): ditto.
3971 (WebCore::Icon::createIconForFiles): ditto.
3972 * platform/graphics/mac/IconMac.mm:
3973 (WebCore::Icon::createIconForFile): ditto.
3974 (WebCore::Icon::createIconForFiles): ditto.
3975 * platform/graphics/qt/IconQt.cpp:
3976 (WebCore::Icon::createIconForFile): ditto.
3977 (WebCore::Icon::createIconForFiles): ditto.
3978 * platform/wx/TemporaryLinkStubs.cpp:
3979 (Icon::createIconForFile): ditto.
3980 (Icon::createIconForFiles): ditto.
3981 * platform/graphics/win/IconWin.cpp:
3982 (WebCore::Icon::createIconForFile): ditto.
3983 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
3984
3985 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
3986 Improve icon creation code to match new code in Icon::createIconForFiles
3987
timothy@apple.comfae10182008-10-31 18:49:52 +000039882008-10-31 Timothy Hatcher <timothy@apple.com>
3989
3990 Add manual tests that check breakpoints on a blockless body of "for" loops.
3991
3992 https://bugs.webkit.org/show_bug.cgi?id=22004
3993
3994 Reviewed by Darin Adler.
3995
3996 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
3997 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
3998
darin@apple.com61934912008-10-31 18:45:19 +000039992008-10-31 Darin Adler <darin@apple.com>
4000
4001 - fix build
4002
4003 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
4004
ap@webkit.orgbe35d512008-10-31 09:44:03 +000040052008-10-30 Alexey Proskuryakov <ap@webkit.org>
4006
4007 Reviewed by Darin Adler.
4008
4009 https://bugs.webkit.org/show_bug.cgi?id=21970
4010 Make MessagePort event dispatch work in workers
4011
4012 * bindings/js/JSDOMGlobalObject.cpp:
4013 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
4014 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
4015 (WebCore::JSDOMGlobalObject::findJSEventListener):
4016 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
4017 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
4018 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
4019 (WebCore::JSDOMGlobalObject::jsEventListeners):
4020 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
4021 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
4022 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
4023 (WebCore::JSDOMGlobalObject::setCurrentEvent):
4024 (WebCore::JSDOMGlobalObject::currentEvent):
4025 (WebCore::toJSDOMGlobalObject):
4026 * bindings/js/JSDOMGlobalObject.h:
4027 * bindings/js/JSDOMWindowBase.cpp:
4028 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
4029 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
4030 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
4031 * bindings/js/JSDOMWindowBase.h:
4032 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
4033
4034 * bindings/js/JSEventListener.cpp:
4035 (WebCore::JSAbstractEventListener::handleEvent):
4036 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
4037 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
4038 (WebCore::JSUnprotectedEventListener::globalObject):
4039 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
4040 (WebCore::JSEventListener::JSEventListener):
4041 (WebCore::JSEventListener::~JSEventListener):
4042 (WebCore::JSEventListener::globalObject):
4043 (WebCore::JSEventListener::clearGlobalObject):
4044 (WebCore::JSLazyEventListener::JSLazyEventListener):
4045 (WebCore::JSLazyEventListener::parseCode):
4046 * bindings/js/JSEventListener.h:
4047 (WebCore::JSUnprotectedEventListener::create):
4048 (WebCore::JSEventListener::create):
4049 (WebCore::JSLazyEventListener::create):
4050 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
4051
4052 * bindings/js/JSMessagePortCustom.cpp:
4053 (WebCore::JSMessagePort::startConversation):
4054 (WebCore::JSMessagePort::addEventListener):
4055 (WebCore::JSMessagePort::removeEventListener):
4056 (WebCore::JSMessagePort::setOnmessage):
4057 (WebCore::JSMessagePort::setOnclose):
4058 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
4059 such code, and stop using a custom implementation for JSMessagePort inline event handler
4060 getters and setters.
4061
4062 * dom/Document.cpp:
4063 (WebCore::Document::virtualURL):
4064 * dom/Document.h:
4065 * dom/ScriptExecutionContext.h:
4066 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
4067 JSLazyEventListener).
4068
cwzwarich@webkit.orgefc1b112008-10-31 08:18:20 +000040692008-10-31 Cameron Zwarich <zwarich@apple.com>
4070
4071 Not reviewed.
4072
4073 Speculative wxWindows build fix.
4074
4075 * webcore-base.bkl:
4076
mrowe@apple.com222bc732008-10-31 06:13:07 +000040772008-10-30 Mark Rowe <mrowe@apple.com>
4078
4079 Reviewed by Jon Homeycutt.
4080
4081 Explicitly default to building for only the native architecture in debug and release builds.
4082
4083 * Configurations/DebugRelease.xcconfig:
4084
cwzwarich@webkit.orga691b5a2008-10-31 05:56:58 +000040852008-10-30 Cameron Zwarich <zwarich@apple.com>
4086
4087 Rubber-stamped by Sam Weinig.
4088
4089 Create a debugger directory in JavaScriptCore and move the relevant
4090 files to it.
4091
4092 * ForwardingHeaders/debugger: Added.
4093 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
4094 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
4095 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
4096 * ForwardingHeaders/kjs/debugger.h: Removed.
4097 * WebCore.pro:
4098 * bindings/js/ScriptController.cpp:
4099 * inspector/JavaScriptCallFrame.cpp:
4100 * inspector/JavaScriptCallFrame.h:
4101 * inspector/JavaScriptDebugServer.cpp:
4102 * inspector/JavaScriptDebugServer.h:
4103
timothy@apple.com4ab9f652008-10-31 05:49:22 +000041042008-10-30 Tony Chang <tony@chromium.org>
4105
4106 Fix 2 Windows theme bugs:
4107 1) Checkboxes marked readonly were rendered incorrectly
4108 2) If a button has focus and is pressed, it was rendered
4109 as focused rather than pressed.
4110
4111 https://bugs.webkit.org/show_bug.cgi?id=21859
4112
4113 Reviewed by Dave Hyatt.
4114
4115 * rendering/RenderThemeWin.cpp:
4116 (WebCore::RenderThemeWin::determineState):
4117 (WebCore::RenderThemeWin::determineButtonState):
4118
timothy@apple.come95b7572008-10-31 05:36:06 +000041192008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
4120
4121 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
4122 warnings; add some parentheses to disambiguate things. No functional
4123 changes, so no tests.
4124
4125 https://bugs.webkit.org/show_bug.cgi?id=21973
4126 Add parentheses to clean up some gcc warnings
4127
4128 Reviewed by Dan Bernstein.
4129
4130 * platform/graphics/Font.h:
4131 (WebCore::Font::treatAsZeroWidthSpace):
4132
timothy@apple.comef646322008-10-31 05:29:01 +000041332008-10-30 Aaron Boodman <aa@chromium.org>
4134
4135 Added an explicit dependency on HashMap.h. It was getting pulled in via
4136 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
4137
4138 Reviewed by Darin Adler.
4139
4140 * platform/text/PlatformString.h:
4141
ddkilzer@apple.com14d66632008-10-31 01:54:49 +000041422008-10-30 Greg Bolsinga <bolsinga@apple.com>
4143
4144 Reviewed by Sam Weinig
4145
ddkilzer@apple.com52840822008-10-31 01:56:43 +00004146 https://bugs.webkit.org/show_bug.cgi?id=21967
4147
4148 For some platforms the GeolocationService must be suspended and resumed.
4149
4150 * page/Geolocation.cpp:
4151 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
4152 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
4153 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
4154 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
4155 * page/Geolocation.h:
4156 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
4157 * platform/GeolocationService.h:
4158 (WebCore::GeolocationService::suspend): empty implementation
4159 (WebCore::GeolocationService::resume): empty implementation
4160
41612008-10-30 Greg Bolsinga <bolsinga@apple.com>
4162
4163 Reviewed by Sam Weinig
4164
ddkilzer@apple.com14d66632008-10-31 01:54:49 +00004165 https://bugs.webkit.org/show_bug.cgi?id=21966
4166
4167 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
4168 http://dev.w3.org/geo/api/spec-source.html
4169
4170 * page/Geolocation.cpp:
4171 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
4172 * page/Geoposition.cpp: velocity is now called speed
4173 (WebCore::Geoposition::toString):
4174 * page/Geoposition.h: velocity is now called speed
4175 (WebCore::Geoposition::create):
4176 (WebCore::Geoposition::speed):
4177 (WebCore::Geoposition::Geoposition):
4178 * page/Geoposition.idl: velocity is now called speed
4179 * page/PositionOptions.h: timeout is now unsigned
4180 (WebCore::PositionOptions::create):
4181 (WebCore::PositionOptions::timeout):
4182 (WebCore::PositionOptions::setTimeout):
4183 (WebCore::PositionOptions::PositionOptions):
4184 * page/PositionOptions.idl: timeout is now unsigned long
4185
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +000041862008-10-30 Justin Garcia <justin.garcia@apple.com>
4187
justin.garcia@apple.com484cb6b2008-10-31 00:11:48 +00004188 Also handle preserved newlines.
4189
4190 * editing/BreakBlockquoteCommand.cpp:
4191 (WebCore::BreakBlockquoteCommand::doApply):
4192
41932008-10-30 Justin Garcia <justin.garcia@apple.com>
4194
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +00004195 Reviewed by Beth Dakin.
4196
4197 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
4198
4199 * editing/BreakBlockquoteCommand.cpp:
4200 (WebCore::BreakBlockquoteCommand::doApply):
4201 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
4202 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
4203 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
4204 we now use visiblePos (in order to avoid VisiblePosition creation).
4205 Set pos after we delete the current selection (if there is one), and be consistent about what we set
4206 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
4207 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
4208 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
4209 where the caret is between text and a br work correctly.
4210
vestbo@webkit.orgd8876f12008-10-30 20:45:52 +000042112008-10-30 Yael Aharon <yael.aharon@nokia.com>
4212
4213 Reviewed by Darin Adler.
4214
4215 Fix the Qt build.
4216
4217 https://bugs.webkit.org/show_bug.cgi?id=21969
4218
4219 * inspector/front-end/WebKit.qrc:
4220 * platform/graphics/qt/ImageBufferQt.cpp:
4221 (WebCore::ImageBufferData::ImageBufferData):
4222 (WebCore::ImageBuffer::ImageBuffer):
4223 (WebCore::ImageBuffer::context):
4224 (WebCore::ImageBuffer::image):
4225 (WebCore::ImageBuffer::toDataURL):
4226
darin@apple.comf9f4f9a2008-10-30 20:52:02 +000042272008-10-30 Justin Garcia <justin.garcia@apple.com>
4228
4229 Reviewed by Darin Adler.
4230
4231 More preparation for:
4232 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
4233
4234 * editing/BreakBlockquoteCommand.cpp:
4235 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
4236 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
4237 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
4238 doesn't really fix a bug, since we can't really get into a situation where we move to a different
4239 topBlockquote, but it simplifies the code.
4240
alp@webkit.org3d557522008-10-30 14:09:59 +000042412008-10-30 Dirk Schulze <vbs85@gmx.de>
4242
4243 Reviewed by Alp Toker.
4244
4245 https://bugs.webkit.org/show_bug.cgi?id=21883
4246 [CAIRO] globalAlpha has to be stored and restored
4247
4248 Cairo's globalAlpha has to be stored and reloaded on calling
4249 save() and restore(). We use the power of GraphicsContextState for this.
4250
4251 * platform/graphics/GraphicsContextPrivate.h:
4252 (WebCore::GraphicsContextState::GraphicsContextState):
4253 * platform/graphics/cairo/GraphicsContextCairo.cpp:
4254 (WebCore::GraphicsContext::fillPath):
4255 (WebCore::GraphicsContext::strokePath):
4256 (WebCore::GraphicsContext::setAlpha):
4257 (WebCore::GraphicsContext::getAlpha):
4258 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
4259 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4260
ap@webkit.org771c2652008-10-30 08:41:34 +000042612008-10-29 Alexey Proskuryakov <ap@webkit.org>
4262
4263 Reviewed by Maciej Stachowiak.
4264
4265 Rename "attachedToEventTargetNode" to "isInline".
4266
4267 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
4268 XMLHttpRequest, MessagePort et al.
4269
4270 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
4271 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
4272 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
4273 "inlineEventListenerForType", as they work with inline listeners.
4274
4275 * bindings/js/JSDOMApplicationCacheCustom.cpp:
4276 (WebCore::JSDOMApplicationCache::addEventListener):
4277 (WebCore::JSDOMApplicationCache::removeEventListener):
4278 * bindings/js/JSMessagePortCustom.cpp:
4279 (WebCore::JSMessagePort::setOnmessage):
4280 (WebCore::JSMessagePort::setOnclose):
4281 * bindings/js/JSXMLHttpRequestCustom.cpp:
4282 (WebCore::JSXMLHttpRequest::addEventListener):
4283 (WebCore::JSXMLHttpRequest::removeEventListener):
4284 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4285 (WebCore::JSXMLHttpRequestUpload::addEventListener):
4286 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
4287 Pass a correct value for this argument - callers used to be confused, because they didn't
4288 consider themselves event target nodes. This doesn't affect behavior however, as the only
4289 difference between inline and non-inline event handlers is that the former treat
4290 "return false" as "event.preventDefault()", which is not important to any of these objects.
4291
4292 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
4293 Assert that isInline is true instead of checking its value, as the constructor of this class
4294 always sets it to true.
4295
4296 * bindings/js/JSDOMWindowBase.cpp:
4297 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
4298 (WebCore::JSDOMWindowBase::findJSEventListener):
4299 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
4300 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
4301 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
4302 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
4303 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
4304 * bindings/js/JSDOMWindowBase.h:
4305 * bindings/js/JSEventListener.cpp:
4306 (WebCore::JSAbstractEventListener::handleEvent):
4307 (WebCore::JSAbstractEventListener::isInline):
4308 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
4309 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
4310 (WebCore::JSEventListener::JSEventListener):
4311 (WebCore::JSEventListener::~JSEventListener):
4312 (WebCore::JSLazyEventListener::parseCode):
4313 * bindings/js/JSEventListener.h:
4314 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
4315 (WebCore::JSUnprotectedEventListener::create):
4316 (WebCore::JSEventListener::create):
4317 * bindings/js/ScriptController.cpp:
4318 (WebCore::ScriptController::createInlineEventHandler):
4319 * bindings/js/ScriptController.h:
4320 * dom/Document.cpp:
4321 (WebCore::Document::setWindowInlineEventListenerForType):
4322 (WebCore::Document::windowInlineEventListenerForType):
4323 (WebCore::Document::removeWindowInlineEventListenerForType):
4324 (WebCore::Document::createEventListener):
4325 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
4326 * dom/Document.h:
4327 * dom/EventListener.h:
4328 (WebCore::EventListener::isInline):
4329 * dom/EventTargetNode.cpp:
4330 (WebCore::EventTargetNode::removeInlineEventListenerForType):
4331 (WebCore::EventTargetNode::setInlineEventListenerForType):
4332 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
4333 (WebCore::EventTargetNode::inlineEventListenerForType):
4334 (WebCore::EventTargetNode::on*): (many methods)
4335 (WebCore::EventTargetNode::setOn*): (many methods)
4336 * dom/EventTargetNode.h:
4337 * editing/ReplaceSelectionCommand.cpp:
4338 (WebCore::ReplacementFragment::ReplacementFragment):
4339 * html/HTMLBodyElement.cpp:
4340 (WebCore::HTMLBodyElement::parseMappedAttribute):
4341 * html/HTMLButtonElement.cpp:
4342 (WebCore::HTMLButtonElement::parseMappedAttribute):
4343 * html/HTMLElement.cpp:
4344 (WebCore::HTMLElement::parseMappedAttribute):
4345 * html/HTMLFormElement.cpp:
4346 (WebCore::HTMLFormElement::parseMappedAttribute):
4347 * html/HTMLFrameElementBase.cpp:
4348 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
4349 * html/HTMLFrameSetElement.cpp:
4350 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
4351 * html/HTMLImageElement.cpp:
4352 (WebCore::HTMLImageElement::parseMappedAttribute):
4353 * html/HTMLInputElement.cpp:
4354 (WebCore::HTMLInputElement::parseMappedAttribute):
4355 * html/HTMLObjectElement.cpp:
4356 (WebCore::HTMLObjectElement::parseMappedAttribute):
4357 * html/HTMLScriptElement.cpp:
4358 (WebCore::HTMLScriptElement::parseMappedAttribute):
4359 * html/HTMLSelectElement.cpp:
4360 (WebCore::HTMLSelectElement::parseMappedAttribute):
4361 * html/HTMLTextAreaElement.cpp:
4362 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
4363 * page/AccessibilityRenderObject.cpp:
4364 (WebCore::AccessibilityRenderObject::mouseButtonListener):
4365 * page/DOMWindow.cpp:
4366 (WebCore::DOMWindow::setInlineEventListenerForType):
4367 (WebCore::DOMWindow::inlineEventListenerForType):
4368 (WebCore::DOMWindow::on*): (many methods)
4369 (WebCore::DOMWindow::setOn*): (many methods)
4370 * page/DOMWindow.h:
4371 * svg/SVGElement.cpp:
4372 (WebCore::SVGElement::parseMappedAttribute):
4373 * svg/SVGElementInstance.cpp:
4374 (WebCore::SVGElementInstance::on*): (many methods)
4375 (WebCore::SVGElementInstance::setOn*): (many methods)
4376 * svg/SVGSVGElement.cpp:
4377 (WebCore::SVGSVGElement::parseMappedAttribute):
4378 Rename things, as described above.
4379
zecke@webkit.orgbcca41d2008-10-29 22:39:18 +000043802008-10-29 Gustavo Noronha Silva <gns@gnome.org>
4381
4382 Reviewed and slightly changed by Holger Freyther.
4383
4384 Added all the files that need to be installed for the Inspector to
4385 work.
4386
4387 * GNUmakefile.am: Invoke the shell to get the files.
4388
darin@chromium.orgde675412008-10-29 21:45:02 +000043892008-10-29 Andrew Scherkus <scherkus@chromium.org>
4390
4391 Reviewed by Darin Adler
4392
4393 Add MediaPlayerPrivateChromium to MediaPlayer
4394 https://bugs.webkit.org/show_bug.cgi?id=21930
4395
4396 * platform/graphics/MediaPlayer.cpp:
4397
justin.garcia@apple.com8cba38d2008-10-29 21:43:47 +000043982008-10-29 Justin Garcia <justin.garcia@apple.com>
4399
4400 Reviewed by Darin Adler.
4401
4402 Some preparation for:
4403 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
4404
4405 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
4406 need to rebalance whitespace before the early return but for now don't risk any change in behavior
4407 I'll revisit that later.
4408
4409 * editing/BreakBlockquoteCommand.cpp:
4410 (WebCore::BreakBlockquoteCommand::doApply):
4411
kevino@webkit.orgce2e48a2008-10-29 20:13:27 +000044122008-10-29 Kevin Ollivier <kevino@theolliviers.com>
4413
4414 wx build fixes after addition of runtime and ImageBuffer changes.
4415
4416 * platform/graphics/wx/ImageBufferData.h: Added.
4417 * platform/graphics/wx/ImageBufferWx.cpp:
4418 (WebCore::ImageBufferData::ImageBufferData):
4419 (WebCore::ImageBuffer::ImageBuffer):
4420 (WebCore::ImageBuffer::context):
4421 * webcore-base.bkl:
4422
brettw@chromium.org95ee6812008-10-29 16:38:52 +000044232008-10-29 Brett Wilson <brettw@chromium.org>
4424
4425 Reviewed by Darin Adler
4426 https://bugs.webkit.org/attachment.cgi?id=24745
4427
4428 Allow Skia implementations to get text style changed notifications.
4429
4430 * platform/graphics/GraphicsContext.cpp:
4431
timothy@apple.comdbc138a2008-10-29 15:02:31 +000044322008-10-29 Timothy Hatcher <timothy@apple.com>
4433
4434 Add a manual test that checks breakpoints on a blockless body of
4435 an "else" statement.
4436
4437 https://bugs.webkit.org/show_bug.cgi?id=21944
4438
4439 Reviewed by Maciej Stachowiak.
4440
4441 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
4442
ap@webkit.orgc78a2072008-10-29 10:35:26 +000044432008-10-29 Alexey Proskuryakov <ap@webkit.org>
4444
ap@webkit.org7c52f882008-10-29 10:44:22 +00004445 Reviewed by Darin Adler.
4446
4447 https://bugs.webkit.org/show_bug.cgi?id=21921
4448 MessagePort messages are dispatched to documents that are not fully active
4449
4450 Covered by corrected fast/events/message-port-inactive-document.html
4451
4452 * bindings/js/JSEventListener.cpp:
4453 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
4454 that are not fully active.
4455
44562008-10-29 Alexey Proskuryakov <ap@webkit.org>
4457
ap@webkit.org6b4b6872008-10-29 10:37:26 +00004458 Reviewed by Sam Weinig.
4459
4460 https://bugs.webkit.org/show_bug.cgi?id=21922
4461 Expose MessagePort global constructor
4462
4463 Covered by existing dumper tests.
4464
4465 * dom/MessagePort.idl:
4466 * page/DOMWindow.idl:
4467
44682008-10-29 Alexey Proskuryakov <ap@webkit.org>
4469
ap@webkit.orgc78a2072008-10-29 10:35:26 +00004470 Reviewed by Darin Adler.
4471
4472 https://bugs.webkit.org/show_bug.cgi?id=21924
4473 HashTable internal index is not always deleted
4474
4475 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
4476 Call deleteTable for HashTables that are being deleted.
4477
ap@webkit.org3c120a82008-10-29 10:26:58 +000044782008-10-28 Alexey Proskuryakov <ap@webkit.org>
4479
4480 Reviewed by Darin Adler.
4481
4482 https://bugs.webkit.org/show_bug.cgi?id=21923
4483 Create an abstraction for script execution context
4484
4485 * GNUmakefile.am:
4486 * WebCore.pro:
4487 * WebCore.vcproj/WebCore.vcproj:
4488 * WebCore.xcodeproj/project.pbxproj:
4489 * WebCoreSources.bkl:
4490 Added ScriptExecutionContext.{h,cpp}.
4491
4492 * bindings/js/JSAudioConstructor.cpp:
4493 (WebCore::JSAudioConstructor::JSAudioConstructor):
4494 * bindings/js/JSAudioConstructor.h:
4495 * bindings/js/JSImageConstructor.cpp:
4496 (WebCore::JSImageConstructor::JSImageConstructor):
4497 * bindings/js/JSImageConstructor.h:
4498 * bindings/js/JSOptionConstructor.cpp:
4499 (WebCore::JSOptionConstructor::JSOptionConstructor):
4500 * bindings/js/JSOptionConstructor.h:
4501 * bindings/js/JSXMLHttpRequestConstructor.cpp:
4502 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
4503 * bindings/js/JSXMLHttpRequestConstructor.h:
4504 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
4505 Since these objects can only work within documents now, it is immediately converted back
4506 to Document.
4507
4508 * bindings/js/JSMessageChannelConstructor.cpp:
4509 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
4510 (WebCore::JSMessageChannelConstructor::construct):
4511 * bindings/js/JSMessageChannelConstructor.h:
4512 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
4513 MessageChannel needs to be supported in workers right away, so the constructor operates with
4514 it directly.
4515
4516 * dom/ActiveDOMObject.cpp:
4517 (WebCore::ActiveDOMObject::ActiveDOMObject):
4518 (WebCore::ActiveDOMObject::~ActiveDOMObject):
4519 (WebCore::ActiveDOMObject::contextDestroyed):
4520 * dom/ActiveDOMObject.h:
4521 (WebCore::ActiveDOMObject::scriptExecutionContext):
4522 * bindings/js/JSDOMBinding.cpp:
4523 (WebCore::markActiveObjectsForContext):
4524 (WebCore::markCrossHeapDependentObjectsForContext):
4525 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
4526 tracking is handled by ScriptExecutionContext.
4527
4528 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
4529
4530 * bindings/js/JSDOMGlobalObject.h:
4531 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
4532 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
4533 to worker context implementation.
4534 (WebCore::scriptExecutionContext): Added a pure virtual method to access
4535 ScriptExecutionContext, implemented by subclasses.
4536
4537 * bindings/js/JSDOMWindowBase.h:
4538 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
4539 Implement by returning the associated document. Note that this method currently gives bogus
4540 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
4541 that is currently in the frame, not the one associated with this window.
4542
4543 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
4544
4545 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
4546 Call markActiveObjectsForContext() by its new name.
4547
4548 * dom/DedicatedWorker.cpp:
4549 (WebCore::DedicatedWorker::DedicatedWorker):
4550 (WebCore::DedicatedWorker::document):
4551 * dom/DedicatedWorker.h:
4552 * xml/XMLHttpRequest.cpp:
4553 (WebCore::XMLHttpRequest::document):
4554 * xml/XMLHttpRequest.h:
4555 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
4556 within documents currently (at least for XMLHttpRequest, this will change soon though).
4557
4558 * dom/Document.cpp:
4559 (WebCore::Document::Document):
4560 (WebCore::Document::~Document):
4561 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
4562 with workers.
4563
4564 * dom/Document.h:
4565 (WebCore::Document::isDocument):
4566 (WebCore::Document::refScriptExecutionContext):
4567 (WebCore::Document::derefScriptExecutionContext):
4568 Inherit from ScriptExecutionContext.
4569
4570 * dom/MessageChannel.cpp:
4571 (WebCore::MessageChannel::MessageChannel):
4572 * dom/MessageChannel.h:
4573 (WebCore::MessageChannel::create):
4574 Use ScriptExecutionContext instead of Document.
4575
4576 * dom/MessagePort.cpp:
4577 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
4578 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
4579 unrelated issue that was causing random crashes in layout tests).
4580 (WebCore::MessagePort::MessagePort):
4581 (WebCore::MessagePort::~MessagePort):
4582 (WebCore::MessagePort::associatedFrame):
4583 (WebCore::MessagePort::clone):
4584 (WebCore::MessagePort::postMessage):
4585 (WebCore::MessagePort::startConversation):
4586 (WebCore::MessagePort::start):
4587 (WebCore::MessagePort::contextDestroyed):
4588 (WebCore::MessagePort::dispatchMessages):
4589 * dom/MessagePort.h:
4590 (WebCore::MessagePort::create):
4591 (WebCore::MessagePort::scriptExecutionContext):
4592 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
4593 work in worker contexts - we need to also make some its method thread safe for cross-thread
4594 messaging, and make event dispatching thread safe.
4595
4596 * dom/ScriptExecutionContext.cpp: Added.
4597 * dom/ScriptExecutionContext.h: Added.
4598 ActiveDOMObject and MessagePort tracking is moved from Document.
4599 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
4600 but as I'm just moving Document code, and it is Document that is the main context object
4601 in our implementation currently.
4602 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
4603 seem non-trivial to fix, and isn't really a part of this task.
4604
alp@webkit.orge27cab82008-10-29 03:20:15 +000046052008-10-28 Alp Toker <alp@nuanti.com>
4606
alp@webkit.orgb206e942008-10-29 05:22:20 +00004607 List newly-added ImageBufferData.h in build system.
4608
4609 * GNUmakefile.am:
4610
46112008-10-28 Alp Toker <alp@nuanti.com>
4612
alp@webkit.orge27cab82008-10-29 03:20:15 +00004613 Reviewed by Cameron Zwarich.
4614
4615 De-list unused WebCore ForwardingHeaders to fix the dist target.
4616
4617 * GNUmakefile.am:
4618
cwzwarich@webkit.org7eb0cf92008-10-29 02:41:47 +000046192008-10-28 Cameron Zwarich <zwarich@apple.com>
4620
4621 Not reviewed.
4622
4623 Attempt to fix the Windows build by generating Forwardingheaders for the
4624 runtime directory in JavaScriptCore.
4625
4626 * WebCore.vcproj/WebCore.vcproj:
4627
justin.garcia@apple.com28768642008-10-29 02:07:18 +000046282008-10-28 Justin Garcia <justin.garcia@apple.com>
4629
4630 Reviewed by Darin Adler.
4631
4632 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
4633
4634 * editing/Editor.cpp:
4635 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
4636 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
4637 will probably require a change more complicated than just marking the learned word as
4638 misspelled. I'll address it with a separate patch.
4639 * editing/EditorCommand.cpp:
4640 (WebCore::executeIgnoreSpelling): Added.
4641 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
4642
cwzwarich@webkit.orgba054bb2008-10-29 01:54:00 +000046432008-10-28 Cameron Zwarich <zwarich@apple.com>
4644
4645 Reviewed by Mark Rowe.
4646
4647 Move ForwardingHeaders to their correct location after the creation of
4648 the runtime directory in JavaScriptCore.
4649
4650 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
4651 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
4652 * ForwardingHeaders/kjs/CallData.h: Removed.
4653 * ForwardingHeaders/kjs/ConstructData.h: Removed.
4654 * ForwardingHeaders/kjs/DateInstance.h: Removed.
4655 * ForwardingHeaders/kjs/Error.h: Removed.
4656 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
4657 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
4658 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
4659 * ForwardingHeaders/kjs/JSArray.h: Removed.
4660 * ForwardingHeaders/kjs/JSFunction.h: Removed.
4661 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
4662 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
4663 * ForwardingHeaders/kjs/JSObject.h: Removed.
4664 * ForwardingHeaders/kjs/JSString.h: Removed.
4665 * ForwardingHeaders/kjs/JSValue.h: Removed.
4666 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
4667 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
4668 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
4669 * ForwardingHeaders/kjs/StringObject.h: Removed.
4670 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
4671 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
4672 * ForwardingHeaders/kjs/StructureID.h: Removed.
4673 * ForwardingHeaders/runtime: Added.
4674 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
4675 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
4676 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
4677 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
4678 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
4679 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
4680 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
4681 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
4682 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
4683 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
4684 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
4685 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
4686 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
4687 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
4688 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
4689 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
4690 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
4691 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
4692 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
4693 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
4694 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
4695 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
4696 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
4697 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4698 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4699 * bindings/js/JSClipboardCustom.cpp:
4700 * bindings/js/JSConsoleCustom.cpp:
4701 * bindings/js/JSCustomPositionCallback.h:
4702 * bindings/js/JSCustomPositionErrorCallback.h:
4703 * bindings/js/JSCustomSQLStatementCallback.h:
4704 * bindings/js/JSCustomSQLStatementErrorCallback.h:
4705 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
4706 * bindings/js/JSCustomVoidCallback.h:
4707 * bindings/js/JSCustomXPathNSResolver.h:
4708 * bindings/js/JSDOMBinding.cpp:
4709 * bindings/js/JSDOMBinding.h:
4710 * bindings/js/JSDOMGlobalObject.h:
4711 * bindings/js/JSDOMWindowBase.cpp:
4712 * bindings/js/JSDOMWindowCustom.cpp:
4713 * bindings/js/JSDOMWindowShell.cpp:
4714 * bindings/js/JSDatabaseCustom.cpp:
4715 * bindings/js/JSEventListener.cpp:
4716 * bindings/js/JSEventTarget.h:
4717 * bindings/js/JSHTMLDocumentCustom.cpp:
4718 * bindings/js/JSHistoryCustom.cpp:
4719 * bindings/js/JSInspectedObjectWrapper.cpp:
4720 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4721 * bindings/js/JSLocationCustom.cpp:
4722 * bindings/js/JSNodeFilterCondition.h:
4723 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4724 * bindings/js/JSQuarantinedObjectWrapper.h:
4725 * bindings/js/JSXMLHttpRequestCustom.cpp:
4726 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4727 * bindings/objc/WebScriptObject.mm:
4728 * bindings/objc/WebScriptObjectPrivate.h:
4729 * bindings/scripts/CodeGeneratorJS.pm:
4730 * bridge/NP_jsobject.cpp:
4731 * bridge/c/c_instance.cpp:
4732 * bridge/c/c_utility.cpp:
4733 * bridge/c/c_utility.h:
4734 * bridge/jni/jni_instance.cpp:
4735 * bridge/jni/jni_jsobject.h:
4736 * bridge/jni/jni_jsobject.mm:
4737 * bridge/jni/jni_runtime.cpp:
4738 * bridge/jni/jni_utility.cpp:
4739 * bridge/jni/jni_utility.h:
4740 * bridge/objc/objc_instance.mm:
4741 * bridge/objc/objc_runtime.h:
4742 * bridge/objc/objc_runtime.mm:
4743 * bridge/objc/objc_utility.h:
4744 * bridge/objc/objc_utility.mm:
4745 * bridge/runtime.h:
4746 * bridge/runtime_array.cpp:
4747 * bridge/runtime_array.h:
4748 * bridge/runtime_method.cpp:
4749 * bridge/runtime_method.h:
4750 * bridge/runtime_object.cpp:
4751 * bridge/runtime_object.h:
4752 * bridge/runtime_root.cpp:
4753 * inspector/JavaScriptCallFrame.cpp:
4754 * inspector/JavaScriptProfile.cpp:
4755 * inspector/JavaScriptProfile.h:
4756 * inspector/JavaScriptProfileNode.cpp:
4757 * inspector/JavaScriptProfileNode.h:
4758 * loader/FrameLoader.cpp:
4759 * page/Console.cpp:
4760 * plugins/PluginView.cpp:
4761 * plugins/gtk/PluginViewGtk.cpp:
4762 * plugins/qt/PluginViewQt.cpp:
4763 * plugins/win/PluginViewWin.cpp:
4764
adele@apple.com66ae4f52008-10-29 00:20:48 +000047652008-10-28 Adele Peterson <adele@apple.com>
4766
adele@apple.com39b601d2008-10-29 00:37:36 +00004767 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
4768
4769 * WebCore.vcproj/WebCore.vcproj:
4770
47712008-10-28 Adele Peterson <adele@apple.com>
4772
4773 Windows build fix.
adele@apple.com66ae4f52008-10-29 00:20:48 +00004774
4775 * platform/graphics/ImageBuffer.h:
4776 (WebCore::ImageBuffer::create):
4777
cwzwarich@webkit.orgcf5b4bf2008-10-29 00:12:35 +000047782008-10-28 Cameron Zwarich <zwarich@apple.com>
4779
4780 Not reviewed.
4781
4782 Roll out a mistaken attempt at fixing the GTK build in r37947.
4783
4784 * GNUmakefile.am:
4785
adele@apple.comdfda2f42008-10-28 23:36:33 +000047862008-10-28 Adele Peterson <adele@apple.com>
4787
4788 Reviewed by John Sullivan.
4789
4790 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
4791 "files" string for multifile uploads needs to be localized
4792
4793 * page/mac/WebCoreViewFactory.h:
4794 * platform/LocalizedStrings.h:
4795 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
4796 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
4797 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
4798 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
4799 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
4800 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
4801
brettw@chromium.org6eee5b02008-10-28 23:10:42 +000048022008-10-28 Brett Wilson <brettw@chromium.org>
4803
4804 Reviewed by Darin Adler.
4805
4806 https://bugs.webkit.org/show_bug.cgi?id=21816
4807
4808 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
4809 into a new PlatformImageBuffer class. Move the static create function
4810 into the header because it can be cross-platform. Initialization now
4811 happens in the cunstructor which sets a flag that create uses to know
4812 whether it should return null or not. I also made passing of IntSize
4813 more consistent (always by reference).
4814
4815 This change also changes the ifdefs in GraphicsContext to allow Skia
4816 ports to implement text drawing modes.
4817
4818 * platform/graphics/ImageBuffer.h:
4819 (WebCore::ImageBuffer::create):
4820 (WebCore::ImageBuffer::size):
4821 * platform/graphics/cairo/ImageBufferCairo.cpp:
4822 (WebCore::ImageBufferData::ImageBufferData):
4823 (WebCore::ImageBuffer::ImageBuffer):
4824 (WebCore::ImageBuffer::~ImageBuffer):
4825 (WebCore::ImageBuffer::image):
4826 (WebCore::ImageBuffer::getImageData):
4827 (WebCore::ImageBuffer::putImageData):
4828 * platform/graphics/cairo/ImageBufferData.h:
4829 * platform/graphics/cg/ImageBufferCG.cpp:
4830 (WebCore::ImageBufferData::ImageBufferData):
4831 (WebCore::ImageBuffer::ImageBuffer):
4832 (WebCore::ImageBuffer::~ImageBuffer):
4833 (WebCore::ImageBuffer::getImageData):
4834 (WebCore::ImageBuffer::putImageData):
4835 * platform/graphics/cg/ImageBufferData.h:
4836 * platform/graphics/qt/ImageBufferData.h:
4837 * platform/graphics/qt/ImageBufferQt.cpp:
4838 (WebCore::ImageBufferData::ImageBufferData):
4839 (WebCore::ImageBuffer::ImageBuffer):
4840 (WebCore::ImageBuffer::~ImageBuffer):
4841
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +000048422008-10-28 Cameron Zwarich <zwarich@apple.com>
4843
4844 Not reviewed.
4845
cwzwarich@webkit.org38fa5d22008-10-28 22:22:30 +00004846 Fix the GTK build.
4847
4848 * GNUmakefile.am:
4849
48502008-10-28 Cameron Zwarich <zwarich@apple.com>
4851
4852 Not reviewed.
4853
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +00004854 Another Qt build fix.
4855
4856 * WebCore.pro:
4857
ddkilzer@apple.com983f9392008-10-28 21:01:40 +000048582008-10-28 Greg Bolsinga <bolsinga@apple.com>
4859
4860 Reviewed by David Kilzer.
4861
ddkilzer@apple.com0f55da32008-10-28 21:42:26 +00004862 https://bugs.webkit.org/show_bug.cgi?id=21932
4863 Add non-pointer constant lookups to SoftLinking.h
4864
4865 * platform/mac/SoftLinking.h:
4866
48672008-10-28 Greg Bolsinga <bolsinga@apple.com>
4868
4869 Reviewed by David Kilzer.
4870
ddkilzer@apple.com983f9392008-10-28 21:01:40 +00004871 https://bugs.webkit.org/show_bug.cgi?id=2192
4872 Missing semi-colons in Geoposition.idl
4873
4874 * page/Geoposition.idl: Add missing semi-colons
4875
timothy@apple.comecd08c12008-10-28 20:41:59 +000048762008-10-28 Timothy Hatcher <timothy@apple.com>
4877
timothy@apple.com7dec1b92008-10-28 20:42:34 +00004878 Make the Profiles panel in the Web Inspector have an enable screen.
4879 Profiling now needs to be enabled before console.profile() works.
4880
4881 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
4882 not slow down JavaScript all the time
4883
4884 Reviewed by Darin Adler and Kevin McCullough.
4885
4886 * English.lproj/localizedStrings.js: New strings.
4887 * WebCore.base.exp: New and changed exports.
4888 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
4889 * bindings/js/JSDOMWindowBase.cpp:
4890 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
4891 * inspector/InspectorController.cpp:
4892 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
4893 Timer to call InspectorController::startUserInitiatedProfiling.
4894 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
4895 that calls InspectorController::startUserInitiatedProfiling.
4896 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
4897 and enable the profiler if the profiler was not enabled.
4898 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
4899 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
4900 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
4901 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
4902 Call the profilerWasEnabled script function.
4903 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
4904 so it won't be started later.
4905 * inspector/InspectorController.h:
4906 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
4907 * inspector/front-end/Images/debuggingButtons.png: Remove.
4908 * inspector/front-end/Images/enableButtons.png: Added.
4909 * inspector/front-end/Images/profilesSilhouette.png: Added.
4910 * inspector/front-end/Images/scriptsSilhouette.png: Added.
4911 * inspector/front-end/PanelEnablerView.js: Added.
4912 (WebInspector.PanelEnablerView):
4913 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
4914 event so listeners can do their thing.
4915 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
4916 * inspector/front-end/ProfilesPanel.js:
4917 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
4918 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
4919 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
4920 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
4921 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
4922 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
4923 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
4924 show/hide other buttons. Also show/hide the PanelEnablerView.
4925 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
4926 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
4927 disableProfiler or enableProfiler.
4928 * inspector/front-end/ScriptsPanel.js:
4929 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
4930 debuggingButton with the enableToggleButton.
4931 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
4932 the enableToggleButton.
4933 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
4934 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
4935 with the enableToggleButton.
4936 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
4937 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
4938 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
4939 * inspector/front-end/View.js: Inherit from WebInspector.Object.
4940 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
4941 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
4942 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
4943 * inspector/front-end/inspector.js:
4944 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
4945 (WebInspector.profilerWasDisabled): Ditto.
4946 * page/Console.cpp:
4947 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
4948 (WebCore::Console::info): Ditto.
4949 (WebCore::Console::log): Ditto.
4950 (WebCore::Console::assertCondition): Ditto.
4951 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
4952 (WebCore::Console::count): Ditto.
4953 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
4954 (WebCore::Console::profileEnd): Ditto.
4955 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
4956 * page/Settings.cpp:
4957 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
4958 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
4959 Now just sets the member boolean.
4960 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
4961
49622008-10-28 Timothy Hatcher <timothy@apple.com>
4963
timothy@apple.com0a8972d2008-10-28 20:42:11 +00004964 Rename a few methods related to attaching and detaching the debugger. Also
4965 adds stub methods for enabling and disabling the profiler.
4966
4967 * Rename attachDebugger to enableDebugger.
4968 * Rename detachDebugger to disableDebugger.
4969 * Rename the debuggerAttached getter to debuggerEnabled.
4970 * Rename the debuggerAttached callback to debuggerWasEnabled.
4971 * Rename the debuggerDetached callback to debuggerWasDisabled.
4972
4973 Reviewed by Darin Adler.
4974
4975 * WebCore.base.exp:
4976 * inspector/InspectorController.cpp:
4977 (WebCore::InspectorController::InspectorController):
4978 (WebCore::InspectorController::setWindowVisible):
4979 (WebCore::InspectorController::windowScriptObjectAvailable):
4980 (WebCore::InspectorController::close):
4981 (WebCore::InspectorController::enableProfiler):
4982 (WebCore::InspectorController::disableProfiler):
4983 (WebCore::InspectorController::enableDebugger):
4984 (WebCore::InspectorController::disableDebugger):
4985 (WebCore::InspectorController::pauseInDebugger):
4986 (WebCore::InspectorController::resumeDebugger):
4987 (WebCore::InspectorController::stepOverStatementInDebugger):
4988 (WebCore::InspectorController::stepIntoStatementInDebugger):
4989 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
4990 * inspector/InspectorController.h:
4991 (WebCore::InspectorController::profilerEnabled):
4992 (WebCore::InspectorController::debuggerEnabled):
4993 * inspector/front-end/BreakpointsSidebarPane.js:
4994 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
4995 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
4996 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
4997 * inspector/front-end/Object.js:
4998 * inspector/front-end/ProfilesPanel.js:
4999 (WebInspector.ProfilesPanel):
5000 * inspector/front-end/ScriptsPanel.js:
5001 (WebInspector.ScriptsPanel):
5002 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
5003 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
5004 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
5005 (WebInspector.ScriptsPanel.prototype.reset):
5006 (WebInspector.ScriptsPanel.prototype.canShowResource):
5007 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
5008 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
5009 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
5010 * inspector/front-end/View.js:
5011 * inspector/front-end/inspector.css:
5012 * inspector/front-end/inspector.html:
5013 * inspector/front-end/inspector.js:
5014 (WebInspector.addResource):
5015 (WebInspector.debuggerWasEnabled):
5016 (WebInspector.debuggerWasDisabled):
5017
50182008-10-28 Timothy Hatcher <timothy@apple.com>
5019
timothy@apple.comecd08c12008-10-28 20:41:59 +00005020 Fix an exception when searching the Resources panel while there
5021 and resources queued to be added to the list.
5022
5023 Reviewed by Kevin McCullough.
5024
5025 * inspector/front-end/ResourcesPanel.js:
5026 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
5027 the _resourcesTreeElement property.
5028 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
5029
alp@webkit.orgd5cc6262008-10-28 16:18:00 +000050302008-10-28 Alp Toker <alp@nuanti.com>
5031
5032 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
5033 isn't defined.
5034
5035 * platform/graphics/gtk/FontGtk.cpp:
5036 (WebCore::getDefaultPangoLayout):
5037 * platform/graphics/gtk/FontPlatformDataPango.cpp:
5038
ap@webkit.orgbed87e92008-10-28 13:42:34 +000050392008-10-28 Alexey Proskuryakov <ap@webkit.org>
5040
5041 Reviewed by Darin Adler.
5042
5043 https://bugs.webkit.org/show_bug.cgi?id=21893
5044 Character set is incorrect for external scripts in XHTML pages
5045
5046 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
5047
5048 Test: fast/encoding/external-script-charset.xhtml
5049
5050 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
5051
5052 * dom/ScriptElement.h:
5053 * dom/XMLTokenizerLibxml2.cpp:
5054 (WebCore::XMLTokenizer::endElementNs):
5055 * dom/XMLTokenizerQt.cpp:
5056 (WebCore::XMLTokenizer::parseEndElement):
5057 * html/HTMLScriptElement.h:
5058 * svg/SVGScriptElement.cpp:
5059 (WebCore::SVGScriptElement::scriptCharset):
5060 * svg/SVGScriptElement.h:
5061
alp@webkit.org2ab36952008-10-28 12:53:51 +000050622008-10-28 Alp Toker <alp@nuanti.com>
5063
5064 Include copyright license files in the autotools dist target and
5065 exclude unused zlib headers.
5066
5067 Change suggested by Mike Hommey.
5068
5069 * GNUmakefile.am:
5070
weinig@apple.com57022612008-10-28 05:24:13 +000050712008-10-27 Sam Weinig <sam@webkit.org>
5072
5073 Reviewed by Maciej Stachowiak.
5074
5075 Clear the window shell when destroying a page to allow documents
5076 which have no way of being reached anymore, to be torn down.
5077
5078 * page/Frame.cpp:
5079 (WebCore::Frame::pageDestroyed):
5080
kevino@webkit.orgcdfc5ff2008-10-27 22:15:11 +000050812008-10-27 Kevin Watters <kevinwatters@gmail.com>
5082
5083 Reviewed by Kevin Ollivier.
5084
5085 Update the active state as well as the focused state as both need to be true
5086 for the caret to be drawn.
5087
5088 https://bugs.webkit.org/show_bug.cgi?id=21900
5089
5090 * WebView.cpp:
5091 (wxWebView::OnSetFocus):
5092 (wxWebView::OnKillFocus):
5093
kevino@webkit.orgc10dd0c2008-10-27 22:07:30 +000050942008-10-27 Kevin Ollivier <kevino@theolliviers.com>
5095
5096 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
5097
5098 * webcore-wx.bkl:
5099
darin@apple.com3ab3cf62008-10-27 21:20:13 +000051002008-10-27 Michael Knaup <michael.knaup@mac.com>
5101
5102 Reviewed and tweaked by Darin Adler.
5103
5104 - https://bugs.webkit.org/show_bug.cgi?id=8988
5105
5106 Bug 8988: Add support for Mozilla CSS custom cursors.
5107 Added -webkit-grab and -webkit-grabbing cursor suppport
5108 for the Mac, dummy implementations for other platforms.
5109
5110 * css/CSSParser.cpp:
5111 (WebCore::CSSParser::parseValue): Updated since the
5112 -webkit-grabbing cursor is now the last one.
5113
5114 * css/CSSPrimitiveValueMappings.h:
5115 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
5116 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
5117
5118 * css/CSSValueKeywords.in: Added -webkit-grab and
5119 -webkit-grabbing.
5120
5121 * manual-tests/cursor.html: Added -webkit-zoom-in,
5122 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
5123
5124 * page/EventHandler.cpp:
5125 (WebCore::EventHandler::selectCursor): Added
5126 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
5127
5128 * platform/Cursor.h: Added grabCursor and grabbingCursor.
5129
5130 * platform/gtk/CursorGtk.cpp:
5131 (WebCore::grabCursor): Added.
5132 (WebCore::grabbingCursor): Added.
5133 * platform/mac/CursorMac.mm:
5134 (WebCore::grabCursor): Added.
5135 (WebCore::grabbingCursor): Added.
5136 * platform/qt/CursorQt.cpp:
5137 (WebCore::grabCursor): Added.
5138 (WebCore::grabbingCursor): Added.
5139 * platform/win/CursorWin.cpp:
5140 (WebCore::grabCursor): Added.
5141 (WebCore::grabbingCursor): Added.
5142 * platform/wx/CursorWx.cpp:
5143 (WebCore::grabCursor): Added.
5144 (WebCore::grabbingCursor): Added.
5145
5146 * rendering/style/RenderStyleConstants.h:
5147 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
5148 Also broke ECursor out into a single constant per line.
5149 Also added a couple of comments.
5150
eric@webkit.orgb1115002008-10-27 20:07:49 +000051512008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
5152
5153 Reviewed by Darin Adler.
5154
5155 * svg/SVGAnimatedTemplate.h: needed a HashMap define
5156
eric@webkit.orgb2e05732008-10-27 19:49:58 +000051572008-10-21 Eric Seidel <eric@webkit.org>
5158
5159 Reviewed by Dave Hyatt.
5160
5161 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
5162 https://bugs.webkit.org/show_bug.cgi?id=20400
5163
5164 Test: svg/custom/stop-crash.svg
5165
5166 * WebCore.xcodeproj/project.pbxproj:
5167 * rendering/RenderSVGGradientStop.h:
5168 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
5169
andersca@apple.com0021f002008-10-27 18:52:49 +000051702008-10-27 Anders Carlsson <andersca@apple.com>
5171
andersca@apple.comd693d602008-10-27 18:55:12 +00005172 Reviewed by Sam Weinig.
5173
5174 No need to call release if the connection is null.
5175
5176 * platform/network/mac/ResourceHandleMac.mm:
5177 (WebCore::ResourceHandle::start):
5178
51792008-10-27 Anders Carlsson <andersca@apple.com>
5180
andersca@apple.com0021f002008-10-27 18:52:49 +00005181 Reviewed by Kevin Decker.
5182
5183 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
5184
5185 Make sure to null check the NSURLConnection object.
5186
5187 * platform/network/mac/ResourceHandleMac.mm:
5188 (WebCore::ResourceHandle::start):
5189 (WebCore::ResourceHandle::setDefersLoading):
5190
ap@webkit.org6bc2b852008-10-27 08:53:48 +000051912008-10-27 Alexey Proskuryakov <ap@webkit.org>
5192
5193 Fix non-Mac builds.
5194
5195 * GNUmakefile.am:
5196 * WebCore.pro:
5197 * WebCore.vcproj/WebCore.vcproj:
5198 * WebCoreSources.bkl:
5199 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
5200
ap@webkit.orgb133b5c2008-10-27 07:59:16 +000052012008-10-26 Alexey Proskuryakov <ap@webkit.org>
5202
5203 Reviewed by Sam Weinig.
5204
5205 https://bugs.webkit.org/show_bug.cgi?id=21886
5206 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
5207
5208 Test: fast/dom/HTMLOptionElement/option-prototype.html
5209
5210 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
5211 "constructor" cannot be used to construct anything. This matches Firefox behavior.
5212
5213 * WebCore.xcodeproj/project.pbxproj:
5214 * bindings/js/JSDOMWindowBase.cpp:
5215 (jsDOMWindowBaseOption):
5216 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
5217 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
5218 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
5219 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
5220 * html/HTMLOptionElement.idl:
5221 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
5222
5223 * html/HTMLOptionElement.idl: Generate a constructor.
5224
ggaren@apple.combdfb2b52008-10-25 20:03:06 +000052252008-10-25 Geoffrey Garen <ggaren@apple.com>
5226
5227 Not reviewed.
5228
5229 Try to fix Mac debug build on the buildbot.
5230
5231 * platform/FileChooser.cpp:
5232 (WebCore::FileChooserClient::~FileChooserClient):
5233 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
5234 weak exported symbol.
5235
vestbo@webkit.org4e516942008-10-25 15:22:24 +000052362008-10-25 Jade Han <jade.han@nokia.com>
5237
5238 Reviewed by Anders.
5239
5240 Enable custom properties for Qt runtime objects in QtWebKit
5241
5242 https://bugs.webkit.org/show_bug.cgi?id=21813
5243
5244 * bridge/runtime_object.cpp:
5245 (JSC::RuntimeObjectImp::getOwnPropertySlot):
5246 (JSC::RuntimeObjectImp::put):
5247
weinig@apple.comd75fed72008-10-25 06:02:05 +000052482008-10-24 Sam Weinig <sam@webkit.org>
5249
weinig@apple.com6c48aa12008-10-25 06:36:21 +00005250 Fix windows build.
5251
5252 * page/Chrome.cpp:
5253 * page/Chrome.h:
5254
52552008-10-24 Sam Weinig <sam@webkit.org>
5256
weinig@apple.com32ded9f2008-10-25 06:29:06 +00005257 Fix Qt build.
5258
5259 * platform/qt/FileChooserQt.cpp:
5260
52612008-10-24 Sam Weinig <sam@webkit.org>
5262
weinig@apple.comd75fed72008-10-25 06:02:05 +00005263 Reviewed by Dan Bernstein.
5264
5265 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
5266 Layering violation: FileChooser should not depend on Document/Frame/Page
5267
5268 Move file choosing into WebKit ChromeClient.
5269
5270 * loader/EmptyClients.h:
5271 (WebCore::EmptyChromeClient::runOpenPanel):
5272 * page/Chrome.cpp:
5273 (WebCore::Chrome::runOpenPanel):
5274 * page/Chrome.h:
5275 * page/ChromeClient.h:
5276 * page/mac/ChromeMac.mm:
5277 * platform/FileChooser.h:
5278 * platform/mac/FileChooserMac.mm:
5279 * platform/qt/FileChooserQt.cpp:
5280 * platform/win/FileChooserWin.cpp:
5281 * platform/wx/TemporaryLinkStubs.cpp:
5282 * rendering/RenderFileUploadControl.cpp:
5283 (WebCore::RenderFileUploadControl::click):
5284
kevino@webkit.org4629ecf2008-10-25 01:34:12 +000052852008-10-24 Kevin Ollivier <kevino@theolliviers.com>
5286
5287 wx build fix - add newIconForFiles stub.
5288
5289 * platform/wx/TemporaryLinkStubs.cpp:
5290 (Icon::newIconForFiles):
5291
kevino@webkit.org64c5aeb2008-10-25 01:15:05 +000052922008-10-24 Kevin Watters <kevinwatters@gmail.com>
5293
5294 Reviewed by Kevin Ollivier.
5295
5296 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
5297 value the text is drawn at (it was a couple pixels off before because wx
5298 internally adds to the y value.
5299
5300 https://bugs.webkit.org/show_bug.cgi?id=21853
5301
5302 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
5303 (wxFontProperties::wxFontProperties):
5304 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
5305 (WebCore::drawTextWithSpacing):
5306
eric@webkit.orgeb5cef42008-10-24 23:46:30 +000053072008-10-24 Eric Seidel <eric@webkit.org>
5308
5309 Reviewed by Sam Weinig.
5310
5311 Generate missing constructors and add test to prevent missing ones in the future
5312 https://bugs.webkit.org/show_bug.cgi?id=21846
5313
5314 Test: fast/js/global-constructors.html
5315
5316 * css/CSSStyleSheet.idl:
5317 * css/RGBColor.idl:
5318 * dom/NodeIterator.idl:
5319 * dom/TreeWalker.idl:
5320 * xml/XPathExpression.idl:
5321
ap@webkit.org1ae2de22008-10-24 23:39:17 +000053222008-10-24 Alexey Proskuryakov <ap@webkit.org>
5323
5324 Reviewed by Darin Adler.
5325
5326 https://bugs.webkit.org/show_bug.cgi?id=21836
5327 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
5328
5329 Test: http/tests/xmlhttprequest/detaching-frame.html
5330
5331 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
5332 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
5333 when dispatching the same callback that results in this function being called.
5334
ddkilzer@apple.come2f6f5c2008-10-24 23:04:55 +000053352008-10-24 David Kilzer <ddkilzer@apple.com>
5336
5337 Gtk build fix.
5338
5339 * platform/gtk/TemporaryLinkStubs.cpp:
5340 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
5341
mrowe@apple.com60f38472008-10-24 22:20:10 +000053422008-10-24 Mark Rowe <mrowe@apple.com>
5343
5344 Reviewed by Sam Weinig.
5345
5346 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
5347
5348 * platform/graphics/cg/GraphicsContextCG.cpp:
5349 (WebCore::GraphicsContext::setImageInterpolationQuality):
5350 (WebCore::GraphicsContext::imageInterpolationQuality):
5351
andersca@apple.com4348c6a2008-10-24 22:16:18 +000053522008-10-24 Anders Carlsson <andersca@apple.com>
5353
5354 Reviewed by Sam Weinig.
5355
5356 <rdar://problem/5440917> Support NPN_Construct
5357
5358 * WebCore.NPAPI.exp:
5359 Export _NPN_Construct.
5360
5361 * bridge/NP_jsobject.cpp:
5362 (_NPN_Construct):
5363 Implement this.
5364
5365 * bridge/c/c_instance.cpp:
5366 (JSC::Bindings::CInstance::supportsConstruct):
5367 (JSC::Bindings::CInstance::invokeConstruct):
5368 Have this call the appropriate NPClass method.
5369
5370 * bridge/npruntime.h:
5371 Add NPN_Construct.
5372
5373 * bridge/npruntime_impl.h:
5374 Add _NPN_Construct.
5375
5376 * bridge/runtime.h:
5377 (JSC::Bindings::Instance::supportsConstruct):
5378 (JSC::Bindings::Instance::invokeConstruct):
5379 New methods.
5380
5381 * bridge/runtime_object.cpp:
5382 (JSC::callRuntimeConstructor):
5383 Call the native instance.
5384
5385 (JSC::RuntimeObjectImp::getConstructData):
5386 Implement this.
5387
5388 * bridge/runtime_object.h:
5389 Add new method declarations.
5390
5391 * plugins/gtk/PluginPackageGtk.cpp:
5392 (WebCore::PluginPackage::load):
5393 * plugins/qt/PluginPackageQt.cpp:
5394 (WebCore::PluginPackage::load):
5395 * plugins/win/PluginPackageWin.cpp:
5396 (WebCore::PluginPackage::load):
5397 Initialize m_pluginFuncs.construct.
5398
adele@apple.com8d6189b2008-10-24 22:09:35 +000053992008-10-24 Adele Peterson <adele@apple.com>
5400
5401 Build fix.
5402
5403 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
5404 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
5405
ddkilzer@apple.combff12fe2008-10-24 21:51:58 +000054062008-10-24 Greg Bolsinga <bolsinga@apple.com>
5407
5408 Fix GTK build break.
5409
5410 Reviewed by David Kilzer.
5411
5412 * GNUmakefile.am: Do not include .idl files whose generated files should not be
5413 compiled.
5414
ddkilzer@apple.comec6a0d12008-10-24 21:46:12 +000054152008-10-24 David Kilzer <ddkilzer@apple.com>
5416
5417 Wx build fix.
5418
5419 * platform/wx/TemporaryLinkStubs.cpp:
5420 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
5421
adele@apple.com497541b2008-10-24 21:12:45 +000054222008-10-24 Adele Peterson <adele@apple.com>
5423
5424 Reviewed by Sam Weinig.
5425
5426 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
5427
5428 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
5429 This is consistent with the direction HTML5 will be going in the future.
5430
5431 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
5432 the individual files in a tooltip for now. Improvements to this control will come later.
5433
5434 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.
5435 These FileList Files can also be sent in an XMLHTTPRequest.
5436
5437 * manual-tests/post-multi-file-upload.html: Added.
5438 * manual-tests/resources/multiFileResources: Added.
5439 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
5440 * manual-tests/resources/multiFileResources/testFile1.html: Added.
5441 * manual-tests/resources/multiFileResources/testFile2.html: Added.
5442 * manual-tests/resources/multiFileResources/testFile3.html: Added.
5443
5444 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
5445
5446 * html/HTMLInputElement.cpp:
5447 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
5448 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
5449 but we don't want to break the behavior for existing websites that may rely on this.
5450 (WebCore::HTMLInputElement::setValue): ditto.
5451 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
5452 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
5453 * html/HTMLInputElement.h:
5454
5455 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
5456
5457 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
5458
5459 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
5460 (WebCore::FileChooser::FileChooser):
5461 (WebCore::FileChooser::create):
5462 (WebCore::FileChooser::clear):
5463 (WebCore::FileChooser::chooseFile):
5464 (WebCore::FileChooser::chooseFiles):
5465 (WebCore::FileChooser::chooseIcon):
5466 * platform/FileChooser.h:
5467 (WebCore::FileChooser::filePaths):
5468 (WebCore::FileChooser::allowsMultipleFiles):
5469
5470 * platform/graphics/Icon.h:
5471 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
5472 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
5473 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
5474 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
5475
5476 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
5477 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
5478 * platform/qt/FileChooserQt.cpp:
5479 (WebCore::FileChooser::openFileChooser):
5480 (WebCore::FileChooser::basenameForWidth):
5481 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
5482
5483 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
5484 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
5485 both get called for the same ResourceHandle. This getting called twice has no negative effect.
5486
5487 * rendering/RenderFileUploadControl.cpp:
5488 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
5489 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
5490 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
5491 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
5492 * rendering/RenderFileUploadControl.h:
5493
pkasting@chromium.orga8304c02008-10-24 20:43:02 +000054942008-10-23 Peter Kasting <pkasting@google.com>
5495
5496 Reviewed by David Hyatt.
5497
5498 https://bugs.webkit.org/show_bug.cgi?id=21844
5499 Remove setFocusRingColorChangeFunction.
5500
5501 * page/Page.cpp:
5502 (WebCore::Page::Page):
5503 * platform/graphics/Color.h:
5504 * platform/graphics/mac/ColorMac.mm:
5505 (WebCore::focusRingColor):
5506 * platform/graphics/qt/GraphicsContextQt.cpp:
5507 * platform/graphics/win/ColorSafari.cpp:
5508
ddkilzer@apple.com853ea9f2008-10-24 20:32:46 +000055092008-10-24 David Kilzer <ddkilzer@apple.com>
5510
5511 Build fix for Qt.
5512
5513 Reviewed by Greg.
5514
5515 * WebCore.pro: Added missing *.idl files.
5516
ddkilzer@apple.comf930faf2008-10-24 20:10:40 +000055172008-10-24 Greg Bolsinga <bolsinga@apple.com>
5518
5519 Reviewed by Sam Weinig.
5520
5521 https://bugs.webkit.org/show_bug.cgi?id=21475
5522
5523 Provide support for the Geolocation API
5524
5525 http://dev.w3.org/geo/api/spec-source.html
5526
5527 Test: geolocation/geolocation-not-implemented.html
5528
5529 * DerivedSources.make:
5530 * GNUmakefile.am: Added Geolocation support
5531 * WebCore.pro: Added Geolocation support
5532 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
5533 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
5534 * WebCoreSources.bkl: Added Geolocation support
5535 * bindings/js/JSCustomPositionCallback.cpp: Added.
5536 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
5537 (WebCore::JSCustomPositionCallback::handleEvent):
5538 * bindings/js/JSCustomPositionCallback.h: Added.
5539 (WebCore::JSCustomPositionCallback::create):
5540 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
5541 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
5542 (WebCore::JSCustomPositionErrorCallback::handleEvent):
5543 * bindings/js/JSCustomPositionErrorCallback.h: Added.
5544 (WebCore::JSCustomPositionErrorCallback::create):
5545 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
5546 (WebCore::markDOMObjectWrapper):
5547 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
5548 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
5549 * bindings/js/JSGeolocationCustom.cpp: Added.
5550 (WebCore::JSGeolocation::getCurrentPosition):
5551 (WebCore::JSGeolocation::watchPosition):
5552 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
5553 (WebCore::JSNavigator::mark):
5554 * dom/Document.cpp:
5555 (WebCore::Document::Document):
5556 * dom/Document.h:
5557 (WebCore::Document::setUsingGeolocation):
5558 (WebCore::Document::usingGeolocation):
5559 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
5560 (WebCore::FrameLoader::canCachePage):
5561 * page/Geolocation.cpp: Added.
5562 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
5563 (WebCore::Geolocation::GeoNotifier::timerFired):
5564 (WebCore::Geolocation::Geolocation):
5565 (WebCore::Geolocation::disconnectFrame):
5566 (WebCore::Geolocation::getCurrentPosition):
5567 (WebCore::Geolocation::watchPosition):
5568 (WebCore::Geolocation::clearWatch):
5569 (WebCore::Geolocation::stopUpdatingIfEmpty):
5570 (WebCore::Geolocation::sendErrorToOneShots):
5571 (WebCore::Geolocation::sendErrorToWatchers):
5572 (WebCore::Geolocation::sendPositionToOneShots):
5573 (WebCore::Geolocation::sendPositionToWatchers):
5574 (WebCore::Geolocation::handleError):
5575 (WebCore::Geolocation::geolocationServicePositionChanged):
5576 (WebCore::Geolocation::geolocationServiceErrorOccurred):
5577 * page/Geolocation.h: Added.
5578 (WebCore::Geolocation::create):
5579 (WebCore::Geolocation::~Geolocation):
5580 (WebCore::Geolocation::lastPosition):
5581 (WebCore::Geolocation::GeoNotifier::create):
5582 * page/Geolocation.idl: Added.
5583 * page/Geoposition.cpp: Added.
5584 (WebCore::Geoposition::toString):
5585 * page/Geoposition.h: Added.
5586 (WebCore::Geoposition::create):
5587 (WebCore::Geoposition::latitude):
5588 (WebCore::Geoposition::longitude):
5589 (WebCore::Geoposition::altitude):
5590 (WebCore::Geoposition::accuracy):
5591 (WebCore::Geoposition::altitudeAccuracy):
5592 (WebCore::Geoposition::heading):
5593 (WebCore::Geoposition::velocity):
5594 (WebCore::Geoposition::timestamp):
5595 (WebCore::Geoposition::Geoposition):
5596 * page/Geoposition.idl: Added.
5597 * page/Navigator.cpp:
5598 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
5599 (WebCore::Navigator::geolocation): accessor for Geolocation
5600 * page/Navigator.h:
5601 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
5602 * page/Navigator.idl: accessor for Geolocation
5603 * page/PositionCallback.h: Added.
5604 (WebCore::PositionCallback::~PositionCallback):
5605 * page/PositionCallback.idl: Added.
5606 * page/PositionError.h: Added.
5607 (WebCore::PositionError::):
5608 (WebCore::PositionError::create):
5609 (WebCore::PositionError::code):
5610 (WebCore::PositionError::message):
5611 (WebCore::PositionError::PositionError):
5612 * page/PositionError.idl: Added.
5613 * page/PositionErrorCallback.h: Added.
5614 (WebCore::PositionErrorCallback::~PositionErrorCallback):
5615 * page/PositionErrorCallback.idl: Added.
5616 * page/PositionOptions.h: Added.
5617 (WebCore::PositionOptions::create):
5618 (WebCore::PositionOptions::enableHighAccuracy):
5619 (WebCore::PositionOptions::setEnableHighAccuracy):
5620 (WebCore::PositionOptions::timeout):
5621 (WebCore::PositionOptions::setTimeout):
5622 (WebCore::PositionOptions::PositionOptions):
5623 * page/PositionOptions.idl: Added.
5624 * platform/GeolocationService.cpp: Added.
5625 (WebCore::GeolocationService::GeolocationService):
5626 (WebCore::GeolocationService::positionChanged):
5627 (WebCore::GeolocationService::errorOccurred):
5628 * platform/GeolocationService.h: Added.
5629 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
5630 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
5631 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
5632 (WebCore::GeolocationService::~GeolocationService):
5633
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +000056342008-10-24 Simon Fraser <simon.fraser@apple.com>
5635
simon.fraser@apple.com912ac412008-10-24 19:32:51 +00005636 Reviewed by Darin Adler
5637
5638 https://bugs.webkit.org/show_bug.cgi?id=21818
5639
5640 Add HashTraits for AtomicString so that AtomicString can be used as
5641 the key for a HashMap or HashSet.
5642
5643 * GNUmakefile.am: add AtomicStringHash.h
5644 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
5645 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
5646 * platform/text/AtomicString.h:
5647 (WebCore::AtomicString::AtomicString):
5648 (WebCore::AtomicString::isHashTableDeletedValue):
5649 specialize DefaultHash for AtomicString to use AtomicStringHash
5650 * platform/text/AtomicStringHash.h: Added.
5651 * platform/text/StringImpl.cpp:
5652 (WebCore::StringImpl::StringImpl):
5653 compute the hash up-front for the empty string
5654 * platform/text/StringImpl.h:
5655 (WebCore::StringImpl::existingHash):
5656 method to get the hash without a test and branch, for callers like
5657 AtomicStringHash who can guarantee that the hash has already been computed.
5658
56592008-10-24 Simon Fraser <simon.fraser@apple.com>
5660
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +00005661 Reviewed by Sam Weinig
5662
5663 https://bugs.webkit.org/show_bug.cgi?id=21857
5664
5665 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
5666 switch in _wrapCSSRule.
5667
5668 * bindings/objc/DOMCSS.mm:
5669 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
5670
aroben@apple.comb3ba69262008-10-24 19:14:17 +000056712008-10-24 Adam Roben <aroben@apple.com>
5672
5673 Windows build fix
5674
5675 * plugins/PluginView.cpp:
5676
mitz@apple.com258a2a32008-10-24 19:10:51 +000056772008-10-24 Dan Bernstein <mitz@apple.com>
5678
5679 Reviewed by Sam Weinig.
5680
5681 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
5682 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
5683
5684 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
5685
5686 * rendering/RenderWidget.cpp:
5687 (WebCore::RenderWidget::destroy): Copied code added to
5688 RenderBox::destroy() in r36513 into this function.
5689
timothy@apple.comf4540012008-10-24 18:49:39 +000056902008-10-24 Timothy Hatcher <timothy@apple.com>
5691
5692 Add a mechanism to ask the InspectorClient for key/value setting pairs.
5693 These settings can be strings, numbers, booleans or string vectors. The
5694 settings are also bridged to and from JavaScript.
5695
5696 https://bugs.webkit.org/show_bug.cgi?id=21856
5697
5698 Reviewed by Darin Adler.
5699
5700 * WebCore.base.exp: Expose the String CFStringRef constructor.
5701 * inspector/InspectorClient.h:
5702 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
5703 (WebCore::InspectorClient::storeSetting): Ditto.
5704 (WebCore::InspectorClient::removeSetting): Ditto.
5705 * inspector/InspectorController.cpp:
5706 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
5707 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
5708 (WebCore::InspectorController::InspectorController): Increment a global static
5709 to track the number of live InspectorControllers.
5710 (WebCore::InspectorController::~InspectorController): Decrement the global static
5711 that tracks the number of live InspectorControllers. Delete the setting cache if there
5712 are no more live controllers.
5713 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
5714 otherwise make a new Setting and ask the client to populate it.
5715 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
5716 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
5717 to the InspectorController script class.
5718 * inspector/InspectorController.h:
5719 (WebCore::InspectorController::Setting::Setting):
5720 (WebCore::InspectorController::Setting::operator=):
5721 (WebCore::InspectorController::Setting::type): Return m_type.
5722 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
5723 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
5724 Assert the type is correct.
5725 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
5726 Assert the type is correct.
5727 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
5728 Assert the type is correct.
5729 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
5730 Assert the type is correct.
5731 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
5732 field and the type.
5733 * loader/EmptyClients.h:
5734 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
5735 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
5736 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
5737
cwzwarich@webkit.org22ade9b2008-10-24 18:10:17 +000057382008-10-24 Cameron Zwarich <zwarich@apple.com>
5739
5740 Reviewed by Sam Weinig.
5741
5742 Remove some C-style casts.
5743
5744 * html/HTMLViewSourceDocument.cpp:
5745 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
5746
darin@apple.com44331f82008-10-24 16:22:51 +000057472008-10-24 Darin Adler <darin@apple.com>
5748
5749 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
5750
5751 * bindings/js/JSAttrCustom.cpp:
5752 * bindings/js/JSCSSRuleCustom.cpp:
5753 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
5754 * bindings/js/JSCSSValueCustom.cpp:
5755 * bindings/js/JSCanvasPixelArrayCustom.h:
5756 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
5757 * bindings/js/JSClipboardCustom.cpp:
5758 * bindings/js/JSConsoleCustom.cpp:
5759 * bindings/js/JSCustomSQLStatementCallback.cpp:
5760 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
5761 * bindings/js/JSCustomSQLTransactionCallback.cpp:
5762 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
5763 * bindings/js/JSCustomVoidCallback.cpp:
5764 * bindings/js/JSCustomVoidCallback.h:
5765 * bindings/js/JSCustomXPathNSResolver.cpp:
5766 * bindings/js/JSCustomXPathNSResolver.h:
5767 * bindings/js/JSDOMApplicationCacheCustom.cpp:
5768 * bindings/js/JSDOMBinding.cpp:
5769 * bindings/js/JSDOMBinding.h:
5770 * bindings/js/JSDOMWindowBase.cpp:
5771 * bindings/js/JSDOMWindowBase.h:
5772 * bindings/js/JSDOMWindowCustom.cpp:
5773 * bindings/js/JSDOMWindowCustom.h:
5774 * bindings/js/JSDOMWindowShell.cpp:
5775 * bindings/js/JSDOMWindowShell.h:
5776 * bindings/js/JSDatabaseCustom.cpp:
5777 * bindings/js/JSDedicatedWorkerCustom.cpp:
5778 * bindings/js/JSDocumentCustom.cpp:
5779 * bindings/js/JSElementCustom.cpp:
5780 * bindings/js/JSEventCustom.cpp:
5781 * bindings/js/JSEventListener.cpp:
5782 * bindings/js/JSEventTarget.cpp:
5783 * bindings/js/JSEventTarget.h:
5784 * bindings/js/JSEventTargetBase.h:
5785 * bindings/js/JSEventTargetNodeCustom.cpp:
5786 * bindings/js/JSHTMLAllCollection.h:
5787 * bindings/js/JSHTMLAppletElementCustom.cpp:
5788 * bindings/js/JSHTMLCollectionCustom.cpp:
5789 * bindings/js/JSHTMLDocumentCustom.cpp:
5790 * bindings/js/JSHTMLEmbedElementCustom.cpp:
5791 * bindings/js/JSHTMLFormElementCustom.cpp:
5792 * bindings/js/JSHTMLFrameElementCustom.cpp:
5793 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
5794 * bindings/js/JSHTMLIFrameElementCustom.cpp:
5795 * bindings/js/JSHTMLInputElementCustom.cpp:
5796 * bindings/js/JSHTMLObjectElementCustom.cpp:
5797 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
5798 * bindings/js/JSHTMLSelectElementCustom.cpp:
5799 * bindings/js/JSHTMLSelectElementCustom.h:
5800 * bindings/js/JSHistoryCustom.cpp:
5801 * bindings/js/JSImageDataCustom.cpp:
5802 * bindings/js/JSInspectedObjectWrapper.cpp:
5803 * bindings/js/JSInspectedObjectWrapper.h:
5804 * bindings/js/JSInspectorCallbackWrapper.cpp:
5805 * bindings/js/JSInspectorCallbackWrapper.h:
5806 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
5807 * bindings/js/JSLocationCustom.cpp:
5808 * bindings/js/JSMessagePortCustom.cpp:
5809 * bindings/js/JSMimeTypeArrayCustom.cpp:
5810 * bindings/js/JSNamedNodeMapCustom.cpp:
5811 * bindings/js/JSNamedNodesCollection.cpp:
5812 * bindings/js/JSNamedNodesCollection.h:
5813 * bindings/js/JSNavigatorCustom.cpp:
5814 * bindings/js/JSNodeCustom.cpp:
5815 * bindings/js/JSNodeFilterCondition.cpp:
5816 * bindings/js/JSNodeFilterCondition.h:
5817 * bindings/js/JSNodeFilterCustom.cpp:
5818 * bindings/js/JSNodeIteratorCustom.cpp:
5819 * bindings/js/JSNodeListCustom.cpp:
5820 * bindings/js/JSPluginArrayCustom.cpp:
5821 * bindings/js/JSPluginCustom.cpp:
5822 * bindings/js/JSPluginElementFunctions.cpp:
5823 * bindings/js/JSPluginElementFunctions.h:
5824 * bindings/js/JSQuarantinedObjectWrapper.cpp:
5825 * bindings/js/JSQuarantinedObjectWrapper.h:
5826 * bindings/js/JSRGBColor.cpp:
5827 * bindings/js/JSRGBColor.h:
5828 * bindings/js/JSSQLResultSetRowListCustom.cpp:
5829 * bindings/js/JSSQLTransactionCustom.cpp:
5830 * bindings/js/JSSVGElementInstanceCustom.cpp:
5831 * bindings/js/JSSVGLengthCustom.cpp:
5832 * bindings/js/JSSVGMatrixCustom.cpp:
5833 * bindings/js/JSSVGPathSegCustom.cpp:
5834 * bindings/js/JSSVGPathSegListCustom.cpp:
5835 * bindings/js/JSSVGPointListCustom.cpp:
5836 * bindings/js/JSSVGTransformListCustom.cpp:
5837 * bindings/js/JSStorageCustom.cpp:
5838 * bindings/js/JSStyleSheetCustom.cpp:
5839 * bindings/js/JSStyleSheetListCustom.cpp:
5840 * bindings/js/JSTextCustom.cpp:
5841 * bindings/js/JSTreeWalkerCustom.cpp:
5842 * bindings/js/JSXMLHttpRequestCustom.cpp:
5843 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
5844 * bindings/js/JSXSLTProcessorCustom.cpp:
5845 * bindings/js/ScheduledAction.cpp:
5846 * bindings/js/ScheduledAction.h:
5847 * bindings/js/ScriptController.cpp:
5848 * bindings/js/ScriptController.h:
5849 * bindings/objc/WebScriptObject.mm:
5850 * bindings/objc/WebScriptObjectPrivate.h:
5851 * bindings/scripts/CodeGeneratorJS.pm:
5852 * bridge/NP_jsobject.cpp:
5853 * bridge/c/c_instance.cpp:
5854 * bridge/c/c_instance.h:
5855 * bridge/c/c_runtime.cpp:
5856 * bridge/c/c_runtime.h:
5857 * bridge/c/c_utility.cpp:
5858 * bridge/c/c_utility.h:
5859 * bridge/jni/jni_instance.cpp:
5860 * bridge/jni/jni_instance.h:
5861 * bridge/jni/jni_jsobject.h:
5862 * bridge/jni/jni_jsobject.mm:
5863 * bridge/jni/jni_objc.mm:
5864 * bridge/jni/jni_runtime.cpp:
5865 * bridge/jni/jni_runtime.h:
5866 * bridge/jni/jni_utility.cpp:
5867 * bridge/jni/jni_utility.h:
5868 * bridge/objc/WebScriptObject.h:
5869 * bridge/objc/objc_class.h:
5870 * bridge/objc/objc_class.mm:
5871 * bridge/objc/objc_instance.h:
5872 * bridge/objc/objc_instance.mm:
5873 * bridge/objc/objc_runtime.h:
5874 * bridge/objc/objc_runtime.mm:
5875 * bridge/objc/objc_utility.h:
5876 * bridge/objc/objc_utility.mm:
5877 * bridge/qt/qt_class.cpp:
5878 * bridge/qt/qt_class.h:
5879 * bridge/qt/qt_instance.cpp:
5880 * bridge/qt/qt_instance.h:
5881 * bridge/qt/qt_runtime.cpp:
5882 * bridge/qt/qt_runtime.h:
5883 * bridge/runtime.cpp:
5884 * bridge/runtime.h:
5885 * bridge/runtime_array.cpp:
5886 * bridge/runtime_array.h:
5887 * bridge/runtime_method.cpp:
5888 * bridge/runtime_method.h:
5889 * bridge/runtime_object.cpp:
5890 * bridge/runtime_object.h:
5891 * bridge/testqtbindings.cpp:
5892 * inspector/JavaScriptCallFrame.cpp:
5893 * inspector/JavaScriptCallFrame.h:
5894 * inspector/JavaScriptProfile.cpp:
5895 * inspector/JavaScriptProfile.h:
5896 * inspector/JavaScriptProfileNode.cpp:
5897 * inspector/JavaScriptProfileNode.h:
5898 * loader/FrameLoader.cpp:
5899 * loader/FrameLoader.h:
5900 * page/Console.cpp:
5901 * page/Console.h:
5902 * plugins/MimeTypeArray.h:
5903 * plugins/Plugin.h:
5904 * plugins/PluginArray.h:
5905 * plugins/PluginView.cpp:
5906 * xml/XMLHttpRequest.cpp:
5907 Use JSValue* instead of JSValuePtr.
5908
hausmann@webkit.orgcffb4f42008-10-24 14:43:29 +000059092008-10-24 Simon Hausmann <hausmann@webkit.org>
5910
5911 Fix the Qt build.
5912
5913 * bridge/qt/qt_instance.cpp:
5914 (JSC::Bindings::QtField::valueFromInstance):
5915
ddkilzer@apple.com4f3c9aa2008-10-24 07:39:15 +000059162008-10-24 David Kilzer <ddkilzer@apple.com>
5917
5918 Rolled out r37840 and r37841.
5919
5920 * DerivedSources.make:
5921 * GNUmakefile.am:
5922 * WebCore.pro:
5923 * WebCore.vcproj/WebCore.vcproj:
5924 * WebCore.xcodeproj/project.pbxproj:
5925 * WebCoreSources.bkl:
5926 * bindings/js/JSCustomPositionCallback.cpp: Removed.
5927 * bindings/js/JSCustomPositionCallback.h: Removed.
5928 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
5929 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
5930 * bindings/js/JSDOMBinding.cpp:
5931 * bindings/js/JSDOMBinding.h:
5932 * bindings/js/JSDOMWindowCustom.cpp:
5933 (WebCore::markDOMObjectWrapper):
5934 * bindings/js/JSGeolocationCustom.cpp: Removed.
5935 * bindings/js/JSNavigatorCustom.cpp:
5936 * dom/Document.cpp:
5937 (WebCore::Document::Document):
5938 * dom/Document.h:
5939 * loader/FrameLoader.cpp:
5940 (WebCore::FrameLoader::canCachePage):
5941 * page/Geolocation.cpp: Removed.
5942 * page/Geolocation.h: Removed.
5943 * page/Geolocation.idl: Removed.
5944 * page/Geoposition.cpp: Removed.
5945 * page/Geoposition.h: Removed.
5946 * page/Geoposition.idl: Removed.
5947 * page/Navigator.cpp:
5948 (WebCore::Navigator::disconnectFrame):
5949 * page/Navigator.h:
5950 * page/Navigator.idl:
5951 * page/PositionCallback.h: Removed.
5952 * page/PositionCallback.idl: Removed.
5953 * page/PositionError.h: Removed.
5954 * page/PositionError.idl: Removed.
5955 * page/PositionErrorCallback.h: Removed.
5956 * page/PositionErrorCallback.idl: Removed.
5957 * page/PositionOptions.h: Removed.
5958 * page/PositionOptions.idl: Removed.
5959 * platform/GeolocationService.cpp: Removed.
5960 * platform/GeolocationService.h: Removed.
5961
ddkilzer@apple.com4a4be182008-10-24 05:39:28 +000059622008-10-23 David Kilzer <ddkilzer@apple.com>
5963
5964 Attempt to fix GTK build.
5965
5966 * GNUmakefile.am: Added new *.idl files that were missing.
5967
ddkilzer@apple.comc9e37fd2008-10-24 05:05:47 +000059682008-10-23 Greg Bolsinga <bolsinga@apple.com>
5969
5970 Reviewed by Sam Weinig.
5971
5972 https://bugs.webkit.org/show_bug.cgi?id=21475
5973
5974 Provide support for the Geolocation API
5975
5976 http://dev.w3.org/geo/api/spec-source.html
5977
5978 Test: geolocation/geolocation-not-implemented.html
5979
5980 * DerivedSources.make:
5981 * GNUmakefile.am: Added Geolocation support
5982 * WebCore.pro: Added Geolocation support
5983 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
5984 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
5985 * WebCoreSources.bkl: Added Geolocation support
5986 * bindings/js/JSCustomPositionCallback.cpp: Added.
5987 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
5988 (WebCore::JSCustomPositionCallback::handleEvent):
5989 * bindings/js/JSCustomPositionCallback.h: Added.
5990 (WebCore::JSCustomPositionCallback::create):
5991 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
5992 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
5993 (WebCore::JSCustomPositionErrorCallback::handleEvent):
5994 * bindings/js/JSCustomPositionErrorCallback.h: Added.
5995 (WebCore::JSCustomPositionErrorCallback::create):
5996 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
5997 (WebCore::markDOMObjectWrapper):
5998 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
5999 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
6000 * bindings/js/JSGeolocationCustom.cpp: Added.
6001 (WebCore::JSGeolocation::getCurrentPosition):
6002 (WebCore::JSGeolocation::watchPosition):
6003 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
6004 (WebCore::JSNavigator::mark):
6005 * dom/Document.cpp:
6006 (WebCore::Document::Document):
6007 * dom/Document.h:
6008 (WebCore::Document::setUsingGeolocation):
6009 (WebCore::Document::usingGeolocation):
6010 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
6011 (WebCore::FrameLoader::canCachePage):
6012 * page/Geolocation.cpp: Added.
6013 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
6014 (WebCore::Geolocation::GeoNotifier::timerFired):
6015 (WebCore::Geolocation::Geolocation):
6016 (WebCore::Geolocation::disconnectFrame):
6017 (WebCore::Geolocation::getCurrentPosition):
6018 (WebCore::Geolocation::watchPosition):
6019 (WebCore::Geolocation::clearWatch):
6020 (WebCore::Geolocation::stopUpdatingIfEmpty):
6021 (WebCore::Geolocation::sendErrorToOneShots):
6022 (WebCore::Geolocation::sendErrorToWatchers):
6023 (WebCore::Geolocation::sendPositionToOneShots):
6024 (WebCore::Geolocation::sendPositionToWatchers):
6025 (WebCore::Geolocation::handleError):
6026 (WebCore::Geolocation::geolocationServicePositionChanged):
6027 (WebCore::Geolocation::geolocationServiceErrorOccurred):
6028 * page/Geolocation.h: Added.
6029 (WebCore::Geolocation::create):
6030 (WebCore::Geolocation::~Geolocation):
6031 (WebCore::Geolocation::lastPosition):
6032 (WebCore::Geolocation::GeoNotifier::create):
6033 * page/Geolocation.idl: Added.
6034 * page/Geoposition.cpp: Added.
6035 (WebCore::Geoposition::toString):
6036 * page/Geoposition.h: Added.
6037 (WebCore::Geoposition::create):
6038 (WebCore::Geoposition::latitude):
6039 (WebCore::Geoposition::longitude):
6040 (WebCore::Geoposition::altitude):
6041 (WebCore::Geoposition::accuracy):
6042 (WebCore::Geoposition::altitudeAccuracy):
6043 (WebCore::Geoposition::heading):
6044 (WebCore::Geoposition::velocity):
6045 (WebCore::Geoposition::timestamp):
6046 (WebCore::Geoposition::Geoposition):
6047 * page/Geoposition.idl: Added.
6048 * page/Navigator.cpp:
6049 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
6050 (WebCore::Navigator::geolocation): accessor for Geolocation
6051 * page/Navigator.h:
6052 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
6053 * page/Navigator.idl: accessor for Geolocation
6054 * page/PositionCallback.h: Added.
6055 (WebCore::PositionCallback::~PositionCallback):
6056 * page/PositionCallback.idl: Added.
6057 * page/PositionError.h: Added.
6058 (WebCore::PositionError::):
6059 (WebCore::PositionError::create):
6060 (WebCore::PositionError::code):
6061 (WebCore::PositionError::message):
6062 (WebCore::PositionError::PositionError):
6063 * page/PositionError.idl: Added.
6064 * page/PositionErrorCallback.h: Added.
6065 (WebCore::PositionErrorCallback::~PositionErrorCallback):
6066 * page/PositionErrorCallback.idl: Added.
6067 * page/PositionOptions.h: Added.
6068 (WebCore::PositionOptions::create):
6069 (WebCore::PositionOptions::enableHighAccuracy):
6070 (WebCore::PositionOptions::setEnableHighAccuracy):
6071 (WebCore::PositionOptions::timeout):
6072 (WebCore::PositionOptions::setTimeout):
6073 (WebCore::PositionOptions::PositionOptions):
6074 * page/PositionOptions.idl: Added.
6075 * platform/GeolocationService.cpp: Added.
6076 (WebCore::GeolocationService::GeolocationService):
6077 (WebCore::GeolocationService::positionChanged):
6078 (WebCore::GeolocationService::errorOccurred):
6079 * platform/GeolocationService.h: Added.
6080 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
6081 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
6082 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
6083 (WebCore::GeolocationService::~GeolocationService):
6084
alp@webkit.org4e4aac32008-10-24 04:52:50 +000060852008-10-23 Alp Toker <alp@nuanti.com>
6086
6087 Fix typo in comment in previous commit. GTK -> GLIB
6088
6089 * platform/gtk/guriescape.c:
6090
alp@webkit.org274a3a12008-10-24 04:32:51 +000060912008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
6092
6093 Reviewed by Alp Toker.
6094
6095 https://bugs.webkit.org/show_bug.cgi?id=21824
6096 [GTK] FileSystem abstraction uses features from Glib 2.16
6097
6098 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
6099
6100 * platform/gtk/guriescape.c:
6101 (unescape_character):
6102 (_webcore_g_uri_unescape_segment):
6103 (_webcore_g_uri_unescape_string):
6104 * platform/gtk/guriescape.h:
6105
jmalonzo@webkit.orga721ed52008-10-24 03:44:10 +000061062008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
6107
6108 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
6109
6110 * GNUmakefile.am:
6111
darin@chromium.org65ff24c2008-10-24 01:04:33 +000061122008-10-23 Darin Fisher <darin@chromium.org>
6113
6114 Reviewed by Eric Seidel.
6115
6116 m_frame null checked but then dereferenced
6117 https://bugs.webkit.org/show_bug.cgi?id=21845
6118
6119 This error was found using a static analysis tool, and so I do not know
6120 how to produce a null m_frame on entry to this method. Hence, I have
6121 not included a regression test.
6122
6123 * page/EventHandler.cpp:
6124 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
6125
mitz@apple.com83d2e872008-10-23 21:56:03 +000061262008-10-23 Dan Bernstein <mitz@apple.com>
6127
6128 Reviewed by Sam Weinig with no hesitation.
6129
6130 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
6131 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
6132
6133 Test: fast/text/bidi-embedding-pop-and-push-same.html
6134
6135 * platform/text/BidiResolver.h:
6136 (WebCore::BidiResolver::embed): Changed to only add the embedding
6137 operation to a vector of pending operations.
6138
6139 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
6140 code that used to be in the PDF case of embed() here, except the part
6141 that sets the context.
6142
6143 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
6144 code that used to be in the non-PDF case of embed() here, except the
6145 part the sets the context.
6146
6147 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
6148 explicit embedding operations in the vector by creating an updated
6149 context and determining the old and new embedding levels. If the levels
6150 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
6151 sets the context to the new one.
6152
6153 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
6154 commitExplicitEmbedding() after calling embed() and after calling
6155 increment().
6156
6157 * rendering/bidi.cpp:
6158 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
6159 this function increments the resolver.
6160
6161 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
6162
jmalonzo@webkit.org2af1d5f2008-10-23 21:24:14 +000061632008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
6164
6165 Gtk build fix. Not reviewed.
6166
6167 Add DNSCurl and DNSSoup to the Gtk build
6168
6169 * GNUmakefile.am:
6170 * platform/gtk/TemporaryLinkStubs.cpp:
6171 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
6172 (WebCore::prefetchDNS):
6173
eric@webkit.org378afbe2008-10-23 21:17:27 +000061742008-10-23 Eric Seidel <eric@webkit.org>
6175
6176 Reviewed by Sam Weinig.
6177
6178 Un-break the Darwin build.
6179
6180 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
6181 * platform/graphics/cg/ImageCG.cpp:
6182
darin@chromium.org9573fd42008-10-23 21:13:50 +000061832008-10-23 Darin Fisher <darin@chromium.org>
6184
6185 Reviewed by Eric Seidel.
6186
6187 Fix forward decls to be struct instead of class.
6188 https://bugs.webkit.org/show_bug.cgi?id=21838
6189
6190 * rendering/style/StyleRareInheritedData.h:
6191 * rendering/style/StyleRareNonInheritedData.h:
6192
weinig@apple.combb96c632008-10-23 20:36:25 +000061932008-10-23 Brent Fulgham <bfulgham@gmail.com>
6194
6195 Reviewed by Oliver Hunt.
6196
6197 * platform/network/curl/ResourceRequest.h: A better implementation
6198 of CFURLRequest, rather than void*. This gives better compatibility
6199 with the WebKit.idl interface.
6200 (WebCore::ResourceRequest::cfURLRequest):
6201
eric@webkit.orgb7074c02008-10-23 19:59:42 +000062022008-10-23 Mike Pinkerton <pinkerton@chromium.org>
6203
6204 Reviewed by Eric Seidel.
6205
6206 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
6207 ifdefs to reflect that.
6208
6209 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
6210 * platform/graphics/cg/ImageCG.cpp:
6211
pkasting@chromium.org586415d2008-10-23 19:37:35 +000062122008-10-23 Peter Kasting <pkasting@google.com>
6213
6214 Reviewed by Adam Roben.
6215
6216 https://bugs.webkit.org/show_bug.cgi?id=21833
6217 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
6218
6219 * inspector/InspectorController.cpp:
6220 (WebCore::InspectorController::InspectorController):
6221 (WebCore::InspectorController::setWindowVisible):
6222 (WebCore::InspectorController::windowScriptObjectAvailable):
6223 (WebCore::InspectorController::close):
6224 * inspector/InspectorController.h:
6225 * page/Page.cpp:
6226 (WebCore::Page::Page):
6227
kmccullough@apple.comd7e4bf72008-10-23 18:33:46 +000062282008-10-23 Kevin McCullough <kmccullough@apple.com>
6229
6230 Reviewed by Tim Hatcher.
6231
6232 https://bugs.webkit.org/show_bug.cgi?id=21817
6233 Bug 21817: Manual profiler tests should be made into layout tests
6234
6235 -Moving the tests before diffing so that it's clear what changed.
6236
6237 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
6238 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
6239 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
6240 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
6241 * manual-tests/inspector/profiler-test-apply.html: Removed.
6242 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
6243 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
6244 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
6245 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
6246 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
6247 * manual-tests/inspector/profiler-test-constructor.html: Removed.
6248 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
6249 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
6250 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
6251 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
6252 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
6253 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
6254 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
6255 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
6256 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
6257 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
6258 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
6259 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
6260 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
6261 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
6262 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
6263 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
6264 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
6265 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
6266 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
6267 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
6268 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
6269 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
6270 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
6271 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
6272 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
6273 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
6274 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
6275 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
6276 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
6277 * manual-tests/inspector/resources/other-frame.html: Removed.
6278 * manual-tests/inspector/resources/other-window.html: Removed.
6279 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
6280
abarth@webkit.org31873302008-10-23 17:07:24 +000062812008-10-23 Adam Barth <abarth@webkit.org>
6282
6283 Reviewed by Sam Weinig.
6284
6285 https://bugs.webkit.org/show_bug.cgi?id=21826
6286
6287 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
6288
6289 * page/SecurityOrigin.h:
6290 (WebCore::SecurityOrigin::domainWasSetInDOM):
6291
darin@apple.com3f537b92008-10-23 15:55:41 +000062922008-10-23 Darin Adler <darin@apple.com>
6293
6294 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
6295
6296 * bindings/js/ScheduledAction.h:
6297 * inspector/InspectorController.cpp:
6298 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
6299
hausmann@webkit.org7ff09a42008-10-23 12:27:41 +000063002008-10-23 Simon Hausmann <hausmann@webkit.org>
6301
6302 Fix the Qt build.
6303
6304 * bridge/qt/qt_runtime.cpp:
6305 (JSC::Bindings::QtConnectionObject::execute):
6306 * bridge/qt/qt_runtime.h:
6307 (JSC::Bindings::QtRuntimeMethod::createStructureID):
6308
ap@webkit.org76544c12008-10-23 10:15:55 +000063092008-10-23 Alexey Proskuryakov <ap@webkit.org>
6310
6311 Reviewed by Maciej Stachowiak.
6312
6313 https://bugs.webkit.org/show_bug.cgi?id=21825
6314 JSDOMBinding should not blindly cast the global object to JSDOMWindow
6315
6316 * bindings/js/JSDOMGlobalObject.cpp:
6317 * bindings/js/JSDOMGlobalObject.h:
6318 * GNUmakefile.am:
6319 * WebCore.pro:
6320 * WebCore.vcproj/WebCore.vcproj:
6321 * WebCore.xcodeproj/project.pbxproj:
6322 * WebCoreSources.bkl:
6323 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
6324
6325 * bindings/js/JSDOMBinding.cpp:
6326 (WebCore::getCachedDOMStructure):
6327 (WebCore::cacheDOMStructure):
6328 (WebCore::getCachedDOMConstructor):
6329 (WebCore::cacheDOMConstructor):
6330 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
6331
6332 * bindings/js/JSDOMWindowBase.cpp:
6333 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
6334 * bindings/js/JSDOMWindowBase.h:
6335 * bindings/js/JSDOMWindowCustom.cpp:
6336 (WebCore::JSDOMWindow::mark):
6337 Moved constructor and structure tracking to JSDOMGlobalObject.
6338
abarth@webkit.org48cade32008-10-23 09:43:34 +000063392008-10-23 Adam Barth <abarth@webkit.org>
6340
6341 Reviewed by Sam Weinig.
6342
6343 https://bugs.webkit.org/show_bug.cgi?id=21787
6344
6345 Update postMessage to send origin = "null" for non-serializable
6346 origins to match latest spec. Merge SecurityOrigin::toString and
6347 SecurityOrigin::toHTTPOrigin because they are now the same.
6348
6349 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
6350
6351 * loader/FrameLoader.cpp:
6352 (WebCore::FrameLoader::outgoingOrigin):
6353 (WebCore::FrameLoader::loadURL):
6354 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
6355 (WebCore::FrameLoader::loadItem):
6356 * loader/loader.cpp:
6357 (WebCore::Loader::Host::servePendingRequests):
6358 * page/SecurityOrigin.cpp:
6359 (WebCore::SecurityOrigin::toString):
6360 * page/SecurityOrigin.h:
6361 * xml/XMLHttpRequest.cpp:
6362 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
6363 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
6364 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
6365 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
6366
ddkilzer@apple.com5c2a8892008-10-23 02:53:02 +000063672008-10-22 David Kilzer <ddkilzer@apple.com>
6368
6369 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
6370
6371 <https://bugs.webkit.org/show_bug.cgi?id=21781>
6372
6373 Reviewed by Antti.
6374
6375 No tests since there is no change in behavior.
6376
6377 * loader/CachedImage.cpp:
6378 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
6379 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
6380 (WebCore::CachedImage::data): Flag an error if the image being
6381 loaded is too big.
6382 * loader/CachedImage.h:
6383 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
6384 * page/Settings.cpp:
6385 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
6386 to the maximum value of size_t.
6387 * page/Settings.h:
6388 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
6389 (WebCore::Settings::maximumDecodedImageSize): Ditto.
6390
darin@apple.com3fb46e42008-10-23 01:43:37 +000063912008-10-22 Mike Pinkerton <pinkerton@chromium.org>
6392
6393 Reviewed by Dan Bernstein.
6394 Landed and tweaked a bit by Darin Adler.
6395
6396 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
6397
6398 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
6399 its use for PLATFORM(CHROMIUM) in the future.
6400
6401 * platform/graphics/SimpleFontData.h:
6402
dsmith@webkit.org102296e2008-10-23 00:49:27 +000064032008-10-22 David Smith <catfish.man@gmail.com>
6404
darin@apple.com3fb46e42008-10-23 01:43:37 +00006405 Reviewed by Anders Carlsson.
dsmith@webkit.org102296e2008-10-23 00:49:27 +00006406
6407 https://bugs.webkit.org/show_bug.cgi?id=19974
6408 getElementsByClassName not live enough
6409
6410 Test: fast/dom/getElementsByClassName/015.html
6411
6412 * dom/StyledElement.cpp:
6413 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
6414
darin@apple.com74e6ed62008-10-23 00:11:11 +000064152008-10-22 Darin Adler <darin@apple.com>
6416
6417 Reviewed by Sam Weinig.
6418
6419 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
6420 Bug 21294: Devirtualize getOwnPropertySlot()
6421
6422 * bindings/js/JSDOMWindowShell.h:
6423 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
6424 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
6425
6426 * bindings/js/JSInspectorCallbackWrapper.cpp:
6427 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
6428 for this class rather than sharing nullProtoStructureID, which no longer exists.
6429
6430 * bindings/js/JSNamedNodesCollection.h:
6431 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
6432 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
6433 * bindings/js/JSRGBColor.h:
6434 (WebCore::JSRGBColor::createStructureID): Ditto.
6435
6436 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
6437 constructors, and prototypes in any case where they override getOwnPropertySlot, without
6438 HasStandardGetOwnPropertySlot.
6439
6440 * bridge/objc/objc_runtime.h:
6441 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
6442 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
6443 * bridge/qt/qt_runtime.h:
6444 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
6445 * bridge/runtime_array.h:
6446 (JSC::RuntimeArray::createStructureID): Ditto.
6447 * bridge/runtime_method.h:
6448 (JSC::RuntimeMethod::createStructureID): Ditto.
6449 * bridge/runtime_object.h:
6450 (JSC::RuntimeObjectImp::createStructureID): Ditto.
6451
aroben@apple.comf4c75612008-10-22 23:33:58 +000064522008-10-22 Brent Fulgham <bfulgham@gmail.com>
6453
aroben@apple.com21fec102008-10-22 23:34:22 +00006454 Bring Windows Cairo Port's font handling in line with CG.
6455 http://bugs.webkit.org/show_bug.cgi?id=21812.
6456
6457 Reviewed by Adam Roben.
6458
6459 * platform/graphics/win/FontCacheWin.cpp:
6460 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
6461 TrueType font search. It should match CG in all font selections.
6462
64632008-10-22 Brent Fulgham <bfulgham@gmail.com>
6464
aroben@apple.comf4c75612008-10-22 23:33:58 +00006465 http://bugs.webkit.org/show_bug.cgi?id=21812.
6466 Bring Windows Cairo Port's font handling in line with CG.
6467
6468 Reviewed by David Hyatt.
6469
6470 * platform/graphics/win/FontCacheWin.cpp:
6471 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
6472
beidson@apple.comb90e6aa2008-10-22 23:06:53 +000064732008-10-22 Brady Eidson <beidson@apple.com>
6474
6475 Reviewed by Adam Roben
6476
6477 <rdar://6261773> - autocomplete="off" doesn't work on Windows
6478
6479 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
6480 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
6481 instead of the much more correct "true."
6482
6483 In the past we have worked around this by declaring the bitfield member as an unsigned instead
6484 of the enum type.
6485
6486 For more discussion, see http://trac.webkit.org/changeset/25329
6487
6488 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
6489
kmccullough@apple.com0435f782008-10-22 23:04:00 +000064902008-10-22 Kevin McCullough <kmccullough@apple.com>
6491
6492 Reviewed by Oliver Hunt and Tim Hatcher.
6493
6494 https://bugs.webkit.org/show_bug.cgi?id=19225
6495 Bug 19225: JSProfiler: Create automated profiler tests
6496 - This change exports profiles on the console object so that they can be
6497 iterated over via JavaScript, and thus can be used in automated tests.
6498
6499 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
6500 that JS can use.
6501 (WebCore::JSConsole::profiles):
6502 * inspector/InspectorController.h: Use the new typedef.
6503 (WebCore::InspectorController::profiles):
6504 * page/Console.cpp: Keep our own array of profile objects.
6505 (WebCore::Console::profileEnd):
6506 * page/Console.h: Ditto.
6507 (WebCore::Console::profiles):
6508 * page/Console.idl: Expose the profiles to JS.
6509
hyatt@apple.comaf225eb2008-10-22 21:51:23 +000065102008-10-22 David Hyatt <hyatt@apple.com>
6511
6512 https://bugs.webkit.org/show_bug.cgi?id=21775
6513
6514 Convert buttons over to use the new Theme API on OS X.
6515
6516 Reviewed by Adam Roben
6517
6518 * platform/LengthBox.h:
6519 (WebCore::LengthBox::LengthBox):
6520 * platform/Theme.cpp:
6521 (WebCore::Theme::controlBorder):
6522 (WebCore::Theme::controlPadding):
6523 * platform/Theme.h:
6524 (WebCore::Theme::controlFont):
6525 (WebCore::Theme::controlSize):
6526 (WebCore::Theme::minControlSize):
6527 (WebCore::Theme::controlRequiresPreWhiteSpace):
6528 * platform/mac/ThemeMac.h:
6529 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
6530 * platform/mac/ThemeMac.mm:
6531 (WebCore::checkboxSize):
6532 (WebCore::radioSize):
6533 (WebCore::buttonSizes):
6534 (WebCore::buttonMargins):
6535 (WebCore::button):
6536 (WebCore::paintButton):
6537 (WebCore::ThemeMac::controlFont):
6538 (WebCore::ThemeMac::controlSize):
6539 (WebCore::ThemeMac::minControlSize):
6540 (WebCore::ThemeMac::controlBorder):
6541 (WebCore::ThemeMac::controlPadding):
6542 (WebCore::ThemeMac::inflateControlPaintRect):
6543 (WebCore::ThemeMac::paint):
6544 * rendering/RenderTheme.cpp:
6545 (WebCore::RenderTheme::adjustStyle):
6546 (WebCore::RenderTheme::paint):
6547 (WebCore::RenderTheme::controlStatesForRenderer):
6548 (WebCore::RenderTheme::isDefault):
6549 (WebCore::RenderTheme::adjustRadioStyle):
6550 * rendering/RenderTheme.h:
6551 (WebCore::RenderTheme::setRadioSize):
6552 * rendering/RenderThemeMac.h:
6553 * rendering/RenderThemeMac.mm:
6554 (WebCore::RenderThemeMac::adjustRepaintRect):
6555 (WebCore::menuListButtonSizes):
6556 (WebCore::RenderThemeMac::adjustMenuListStyle):
6557 * rendering/style/RenderStyle.h:
6558 (WebCore::InheritedFlags::paddingBox):
6559 (WebCore::InheritedFlags::setPaddingBox):
6560
simon.fraser@apple.coma2a27b52008-10-22 19:35:52 +000065612008-10-22 Chris Marrin <cmarrin@apple.com>
6562
6563 Reviewed by Dave Hyatt
6564
6565 Make sure that the AtomicString that identifies a set of animation keyframes
6566 stays live by keeping a copy in the WebKitCSSKeyframesRule.
6567
6568 Also call styleSheetChanged() when the keyframes name changes, but
6569 add an internal method that doesn't call styleSheetChanged() for use
6570 during normal stylesheet parsing.
6571
6572 Test: animations/change-keyframes-name.html
6573
6574 * css/CSSGrammar.y:
6575 * css/WebKitCSSKeyframesRule.cpp:
6576 (WebCore::WebKitCSSKeyframesRule::setName):
6577 * css/WebKitCSSKeyframesRule.h:
6578 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
6579
ap@webkit.org6ed149d2008-10-22 17:43:26 +000065802008-10-22 Alexey Proskuryakov <ap@webkit.org>
6581
6582 Reviewed by Sam Weinig.
6583
6584 https://bugs.webkit.org/show_bug.cgi?id=21791
6585 WebCore JS bindings should be able to use non-static hash tables for properties
6586
6587 Add a map for HashTables to WebCore JS client data.
6588
6589 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
6590 supported in workers in forseeable future this is not critical.
6591
6592 * bindings/js/JSDOMBinding.cpp:
6593 (WebCore::DOMObjectHashTableMap::get):
6594 (WebCore::DOMObjectHashTableMap::mapFor):
6595 (WebCore::getHashTableForGlobalData):
6596 (WebCore::DOMObjectWrapperMap::mapFor):
6597 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
6598 table one.
6599
6600 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
6601
6602 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
6603 JSDOMBinding map to access its property hash tables.
6604
6605 * dom/MessageChannel.idl:
6606 * dom/MessagePort.idl:
6607 Added NoStaticTables attribute.
6608
alp@webkit.org8d1d4c92008-10-22 13:55:06 +000066092008-10-22 Gustavo Noronha Silva <gns@gnome.org>
6610
6611 Reviewed by Timothy Hatcher.
6612
6613 Build failure because of missing include
6614 https://bugs.webkit.org/show_bug.cgi?id=21765
6615
6616 Build failure fix for WebKit/GTK+; added missing
6617 include (GOwnPtr.h)
6618
6619 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6620
alp@webkit.orgee7dc252008-10-22 10:38:23 +000066212008-10-22 Alp Toker <alp@nuanti.com>
6622
alp@webkit.org197960d2008-10-22 13:51:16 +00006623 Reviewed by Adam Roben.
6624
6625 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
6626 doesn't initialize values if the requested property doesn't exist, so
6627 initialize the values to the documented defaults before calling it
6628 where necessary. Additionally, avoid critical warnings by not calling
6629 gtk_widget_style_get() when we know the property isn't available.
6630
6631 Note that this is an imported source file which doesn't follow the
6632 WebKit coding style.
6633
6634 * platform/gtk/gtk2drawing.c:
6635 (moz_gtk_init):
6636 (moz_gtk_button_get_inner_border):
6637 (moz_gtk_combo_box_paint):
6638 (moz_gtk_toolbar_separator_paint):
6639 (moz_gtk_menu_separator_paint):
6640 (moz_gtk_get_widget_border):
6641 (moz_gtk_get_tab_scroll_arrow_size):
6642 (moz_gtk_get_toolbar_separator_width):
6643 (moz_gtk_get_menu_separator_height):
6644
66452008-10-22 Alp Toker <alp@nuanti.com>
6646
alp@webkit.orgee7dc252008-10-22 10:38:23 +00006647 Fix build for Cairo 1.2.
6648
6649 * platform/graphics/cairo/GraphicsContextCairo.cpp:
6650 (WebCore::GraphicsContext::clipOut):
6651 * platform/gtk/RenderThemeGtk.cpp:
6652 (WebCore::paintMozWidget):
6653
darin@chromium.orga740bfe2008-10-22 07:56:41 +000066542008-10-22 Darin Fisher <darin@chromium.org>
6655
6656 Reviewed by Eric Seidel.
6657
6658 A little more PLATFORM(CHROMIUM) in WebCore
6659 https://bugs.webkit.org/show_bug.cgi?id=21758
6660
6661 * page/AccessibilityObject.h:
6662 * platform/graphics/Icon.h:
6663
ap@webkit.org4c610c02008-10-22 06:07:32 +000066642008-10-21 Alexey Proskuryakov <ap@webkit.org>
6665
6666 Reviewed by Darin Adler.
6667
6668 Test: fast/events/message-channel-gc-3.html
6669
6670 https://bugs.webkit.org/show_bug.cgi?id=21769
6671 MessagePort should be GC protected if there are messages to be delivered
6672
6673 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
6674 pending, and check if the queue is non-empty.
6675 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
6676 fix (below).
6677
6678 * dom/MessagePort.cpp:
6679 (WebCore::CloseMessagePortTimer::fired):
6680 (WebCore::MessagePort::MessagePort):
6681 (WebCore::MessagePort::queueCloseEvent):
6682 (WebCore::MessagePort::dispatchCloseEvent):
6683 (WebCore::MessagePort::hasPendingActivity):
6684 Track message and close event activity separately.
6685
6686 * bindings/js/JSDOMBinding.cpp:
6687 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
6688 causing same-heap ports to never be deleted.
6689
mitz@apple.com90a34532008-10-22 03:10:23 +000066902008-10-21 Dan Bernstein <mitz@apple.com>
6691
6692 Reviewed by Sam Weinig.
6693
6694 - remove unreachable code
6695
6696 * platform/text/BidiResolver.h:
6697 (WebCore::::embed):
6698
bdakin@apple.comc144ec52008-10-22 00:22:55 +000066992008-10-21 Beth Dakin <bdakin@apple.com>
6700
6701 Reviewed by Darin Adler.
6702
6703 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
6704 REGRESSION(r31030-31055): Choosing "Print window" from frame set
6705 prints blank page
6706 and corresponding: <rdar://problem/6142398>
6707
6708 viewHeight() and viewWidth() only return valuable information if we
6709 are not printing. Everywhere else in the code, we make sure we are
6710 not printing before we call these functions. Adding a check for
6711 printing here fixes this bug, and framesets print again.
6712
6713 * rendering/RenderFrameSet.cpp:
6714 (WebCore::RenderFrameSet::layout):
6715
hausmann@webkit.orgfde4e2e2008-10-21 12:57:35 +000067162008-10-21 Yael Aharon <yael.aharon@nokia.com>
6717
6718 Reviewed by Simon.
6719
6720 Pixmap in canvas tag was not getting initialized.
6721
6722 See https://bugs.webkit.org/show_bug.cgi?id=21771
6723
6724 * platform/graphics/qt/ImageBufferQt.cpp:
6725 (WebCore::ImageBuffer::create):
6726
simon.fraser@apple.com1f2bbf32008-10-21 06:01:03 +000067272008-10-20 Simon Fraser <simon.fraser@apple.com>
6728
6729 Reviewed by Dan Bernstein
6730
6731 Add a comment explaining layoutDelta(), and an assertion
6732 that checks that delta changes were correctly paired during layout.
6733
6734 * rendering/RenderView.cpp:
6735 (WebCore::RenderView::layout):
6736 * rendering/RenderView.h:
6737
timothy@apple.com6b535d52008-10-21 04:50:24 +000067382008-10-20 Timothy Hatcher <timothy@apple.com>
6739
timothy@apple.com1c922772008-10-21 04:50:34 +00006740 Make auto-complete only suggest properties that are valid syntax
6741 when using dot-notation. Also when completing numeric properties,
6742 the quotes are omitted inside the brackets.
6743
6744 https://bugs.webkit.org/show_bug.cgi?id=21760
6745 https://bugs.webkit.org/show_bug.cgi?id=21761
6746
6747 Reviewed by Oliver Hunt.
6748
6749 * inspector/front-end/Console.js:
6750 (WebInspector.Console.prototype.completions): Skip properties that
6751 are not valid identifies when using dot-notation. And omit the quotes
6752 when completing numbers in bracket-notation.
6753
67542008-10-20 Timothy Hatcher <timothy@apple.com>
6755
timothy@apple.com6b535d52008-10-21 04:50:24 +00006756 Fixes the Profiles panel in the Web Inspector, which was broken by
6757 the JSValue base-class changes. Also renames some functions and
6758 variables in JavaScriptProfileNode.cpp that where title case.
6759
6760 https://bugs.webkit.org/show_bug.cgi?id=21764
6761
6762 Reviewed by Oliver Hunt.
6763
6764 * inspector/JavaScriptProfile.cpp:
6765 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
6766 returned JSValuePtr will be treated as an object and not a value.
6767 * inspector/JavaScriptProfileNode.cpp:
6768 (WebCore::toJS): Ditto.
6769
weinig@apple.com5ed91732008-10-21 02:14:45 +000067702008-10-20 Sam Weinig <sam@webkit.org>
6771
6772 Reviewed by Anders Carlsson.
6773
6774 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
6775
6776 * loader/EmptyClients.h:
6777 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
6778 * loader/FrameLoader.cpp:
6779 (WebCore::FrameLoader::detachFromParent):
6780 * loader/FrameLoaderClient.h:
6781
antti@apple.com6068cf42008-10-21 01:22:51 +000067822008-10-20 Antti Koivisto <antti@apple.com>
6783
6784 Reviewed by Adele Peterson.
6785
6786 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
6787 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
6788 <rdar://problem/6285025
6789
6790 If we get 304 response we need to explicitly check if that completes the frame load.
6791
6792 No test case, simulating the condition is pretty difficult.
6793
6794 * loader/loader.cpp:
6795 (WebCore::Loader::Host::didReceiveResponse):
6796
andersca@apple.com74021572008-10-21 01:05:19 +000067972008-10-20 Anders Carlsson <andersca@apple.com>
6798
6799 Reviewed by Mark Rowe.
6800
6801 Work around <rdar://problem/6301728>.
6802
6803 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
6804
6805 * loader/MainResourceLoader.cpp:
6806 (WebCore::MainResourceLoader::didReceiveResponse):
6807 (WebCore::MainResourceLoader::didReceiveData):
6808 (WebCore::MainResourceLoader::didFinishLoading):
6809 (WebCore::MainResourceLoader::didFail):
6810
bdakin@apple.com05f9b6b2008-10-20 22:47:19 +000068112008-10-20 Beth Dakin <bdakin@apple.com>
6812
6813 Reviewed by Adele Peterson.
6814
6815 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
6816 crashes in Safari at com.apple.WebCore
6817 WebCore::ScrollView::visibleContentRect const + 153
6818
6819 d->m_view can be null and is null-checked at other points in the
6820 code. The logs indicate that this crash occurs when closing a
6821 window containing a PDF, so in case where we crash, the PDF's view
6822 is probably already null. So the fix is to simply add a null-check.
6823
6824 * page/Frame.cpp:
6825 (WebCore::Frame::selectionRect):
6826
adele@apple.com79cd4612008-10-20 21:31:08 +000068272008-10-20 Adele Peterson <adele@apple.com>
6828
6829 Reviewed by Darin Adler.
6830
6831 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
6832 Removed stray increment that would screw up any form with multiple files in it.
6833
weinig@apple.com5f550542008-10-20 20:42:46 +000068342008-10-20 Sam Weinig <sam@webkit.org>
6835
6836 Rubber-stamped by David Hyatt.
6837
6838 Split LengthBox and LengthSize into their own files.
6839
6840 * GNUmakefile.am:
6841 * WebCore.vcproj/WebCore.vcproj:
6842 * WebCore.xcodeproj/project.pbxproj:
6843 * platform/Length.h:
6844 (WebCore::Length::blend):
6845 * platform/LengthBox.h: Copied from platform/Length.h.
6846 (WebCore::LengthBox::LengthBox):
6847 (WebCore::LengthBox::nonZero):
6848 * platform/LengthSize.h: Copied from platform/Length.h.
6849 (WebCore::LengthSize::LengthSize):
6850 (WebCore::LengthSize::setWidth):
6851 (WebCore::LengthSize::setHeight):
6852 (WebCore::LengthSize::height):
6853 * platform/Theme.h:
6854 * rendering/style/FillLayer.h:
6855 * rendering/style/NinePieceImage.h:
6856 (WebCore::NinePieceImage::NinePieceImage):
6857 * rendering/style/RenderStyle.h:
6858 * rendering/style/StyleDashboardRegion.h:
6859 * rendering/style/StyleSurroundData.h:
6860 * rendering/style/StyleVisualData.h:
6861
mitz@apple.com105c3c02008-10-20 20:15:27 +000068622008-10-20 Dan Bernstein <mitz@apple.com>
6863
6864 - Mac build fix
6865
6866 * WebCore.xcodeproj/project.pbxproj:
6867
alp@webkit.org4a81ed22008-10-20 19:30:26 +000068682008-10-20 Alp Toker <alp@nuanti.com>
6869
6870 Fix autotools dist build target by listing recently added header
6871 files only. Not reviewed.
6872
6873 * GNUmakefile.am:
6874
hyatt@apple.com8f754742008-10-20 19:18:38 +000068752008-10-20 David Hyatt <hyatt@apple.com>
6876
hyatt@apple.comccda9a12008-10-20 19:27:58 +00006877 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
6878 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
6879 originally.
6880
6881 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
6882
6883 Reviewed by Adam Roben
6884
6885 * WebCore.xcodeproj/project.pbxproj:
6886 * platform/Theme.cpp: Added.
6887 (WebCore::Theme::controlSupportsBorder):
6888 (WebCore::Theme::controlSupportsPadding):
6889 * platform/Theme.h:
6890 * platform/mac/ThemeMac.h:
6891 * platform/mac/ThemeMac.mm:
6892 * rendering/RenderTheme.cpp:
6893 (WebCore::RenderTheme::adjustStyle):
6894 * rendering/RenderTheme.h:
6895
68962008-10-20 David Hyatt <hyatt@apple.com>
6897
hyatt@apple.com8f754742008-10-20 19:18:38 +00006898 Rename LengthBox's members to have m_ in front of them.
6899
6900 Reviewed by Sam Weinig
6901
6902 * css/CSSComputedStyleDeclaration.cpp:
6903 (WebCore::valueForNinePieceImage):
6904 (WebCore::getPositionOffsetValue):
6905 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
6906 * css/CSSStyleSelector.cpp:
6907 (WebCore::CSSStyleSelector::mapNinePieceImage):
6908 * platform/Length.h:
6909 (WebCore::LengthBox::LengthBox):
6910 (WebCore::LengthBox::left):
6911 (WebCore::LengthBox::right):
6912 (WebCore::LengthBox::top):
6913 (WebCore::LengthBox::bottom):
6914 (WebCore::LengthBox::operator==):
6915 (WebCore::LengthBox::nonZero):
6916 * rendering/RenderObject.cpp:
6917 (WebCore::RenderObject::paintNinePieceImage):
6918 (WebCore::RenderObject::addDashboardRegions):
6919 * rendering/style/RenderStyle.cpp:
6920 (WebCore::positionedObjectMoved):
6921 (WebCore::RenderStyle::setClip):
6922 (WebCore::RenderStyle::noneDashboardRegions):
6923 * rendering/style/RenderStyle.h:
6924 (WebCore::InheritedFlags::left):
6925 (WebCore::InheritedFlags::right):
6926 (WebCore::InheritedFlags::top):
6927 (WebCore::InheritedFlags::bottom):
6928 (WebCore::InheritedFlags::clipLeft):
6929 (WebCore::InheritedFlags::clipRight):
6930 (WebCore::InheritedFlags::clipTop):
6931 (WebCore::InheritedFlags::clipBottom):
6932 (WebCore::InheritedFlags::marginTop):
6933 (WebCore::InheritedFlags::marginBottom):
6934 (WebCore::InheritedFlags::marginLeft):
6935 (WebCore::InheritedFlags::marginRight):
6936 (WebCore::InheritedFlags::paddingTop):
6937 (WebCore::InheritedFlags::paddingBottom):
6938 (WebCore::InheritedFlags::paddingLeft):
6939 (WebCore::InheritedFlags::paddingRight):
6940 (WebCore::InheritedFlags::setLeft):
6941 (WebCore::InheritedFlags::setRight):
6942 (WebCore::InheritedFlags::setTop):
6943 (WebCore::InheritedFlags::setBottom):
6944 (WebCore::InheritedFlags::setDashboardRegion):
6945 (WebCore::InheritedFlags::setClipLeft):
6946 (WebCore::InheritedFlags::setClipRight):
6947 (WebCore::InheritedFlags::setClipTop):
6948 (WebCore::InheritedFlags::setClipBottom):
6949 (WebCore::InheritedFlags::setMarginTop):
6950 (WebCore::InheritedFlags::setMarginBottom):
6951 (WebCore::InheritedFlags::setMarginLeft):
6952 (WebCore::InheritedFlags::setMarginRight):
6953 (WebCore::InheritedFlags::setPaddingTop):
6954 (WebCore::InheritedFlags::setPaddingBottom):
6955 (WebCore::InheritedFlags::setPaddingLeft):
6956 (WebCore::InheritedFlags::setPaddingRight):
6957
timothy@apple.com77523c52008-10-20 19:03:15 +000069582008-10-20 Timothy Hatcher <timothy@apple.com>
6959
6960 Make the Resource panel perform graph updates atomically, so when resources
6961 are added the graph and summary graph update at the same time.
6962
6963 https://bugs.webkit.org/show_bug.cgi?id=21755
6964
6965 Reviewed by Kevin McCullough.
6966
6967 * inspector/front-end/Resource.js:
6968 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
6969 property is undefined, null or 0. This allows callers to check for -1 and not
6970 the other values when there is no startTime yet.
6971 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
6972 (WebInspector.Resource.prototype.get endTime): Ditto.
6973 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
6974 (WebInspector.Resource.prototype.get latency): Ditto.
6975 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
6976 property is undefined or null. This allows callers to always assume a number.
6977 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
6978 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
6979 no _errors property yet.
6980 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
6981 if the same as the previous value, since there is no work to guard.
6982 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
6983 no _warnings property yet.
6984 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
6985 if the same as the previous value, since there is no work to guard.
6986 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
6987 responseReceivedTime is -1.
6988 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
6989 * inspector/front-end/ResourcesPanel.js:
6990 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
6991 have a _resourcesTreeElement yet, exclude it from the searchable views.
6992 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
6993 and call refresh to refresh the entire graph.
6994 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
6995 is visible that calls refresh.
6996 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
6997 graph for a resource if it hasn't been created yet. If the boundaries changed during
6998 the first stale resource pass, do a full pass of all resources when updating the graphs.
6999 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
7000 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
7001 graph, these are now created during the first refresh.
7002 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
7003 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
7004 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
7005 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
7006 add the resource to the _staleResources and set needsRefresh.
7007 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
7008 _resourcesTreeElement.
7009 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
7010 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
7011 since the insertBefore call will do it if needed.
7012 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
7013 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
7014 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
7015 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
7016 since all the legend items are removed in one pass right before.
7017 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
7018 before the calculator so the correct sortingFunction is there when a refresh happens.
7019 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
7020 when the startTime is -1, since that looks best visually. Also set middle and end
7021 to the start and middle (respectfully) when startAtZero. This looks best visually.
7022 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
7023 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
7024
hyatt@apple.coma16cfd32008-10-20 18:45:17 +000070252008-10-20 David Hyatt <hyatt@apple.com>
7026
7027 https://bugs.webkit.org/show_bug.cgi?id=21733
7028
7029 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
7030 no attempt is made to re-cache the frame from a non-existent image source.
7031
7032 Reviewed by Sam Weinig
7033
7034 * platform/graphics/cairo/ImageCairo.cpp:
7035 (WebCore::BitmapImage::BitmapImage):
7036 * platform/graphics/cg/ImageCG.cpp:
7037 (WebCore::BitmapImage::BitmapImage):
7038
mitz@apple.comdffa6702008-10-20 18:23:29 +000070392008-10-20 Dan Bernstein <mitz@apple.com>
7040
7041 Reviewed by John Sullivan.
7042
7043 - make hasARenderedDescendant() have internal linkage
7044
7045 * editing/CompositeEditCommand.cpp:
7046 (WebCore::hasARenderedDescendant):
7047
cfleizach@apple.com2826b442008-10-20 17:57:12 +000070482008-10-20 Chris Fleizach <cfleizach@apple.com>
7049
7050 Reviewed by Jon Honeycutt
7051
7052 Fix a crash in Accessibility where a table section was being
7053 referenced without first checking if it was null
7054
7055 https://bugs.webkit.org/show_bug.cgi?id=21721
7056
7057 Test: accessibility/table-nofirstbody.html
7058
7059 * page/AccessibilityTable.cpp:
7060 (WebCore::AccessibilityTable::addChildren):
7061
hyatt@apple.com95f62812008-10-20 17:40:52 +000070622008-10-20 David Hyatt <hyatt@apple.com>
7063
7064 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
7065
7066 Reviewed by Darin Adler
7067
7068 * platform/graphics/cg/ImageSourceCG.cpp:
7069 (WebCore::ImageSource::repetitionCount):
7070 (WebCore::ImageSource::frameDurationAtIndex):
7071
alp@webkit.org1b2d1fd2008-10-20 17:06:10 +000070722008-10-20 Alp Toker <alp@nuanti.com>
7073
7074 Reviewed by Mark Rowe.
7075
7076 Fix the pthread conditionals in the FTP code to correctly define
7077 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
7078 build.
7079
7080 * loader/FTPDirectoryDocument.cpp:
7081 * loader/FTPDirectoryParser.cpp:
7082
hyatt@apple.com74aa2f22008-10-20 16:50:20 +000070832008-10-20 David Hyatt <hyatt@apple.com>
7084
7085 https://bugs.webkit.org/show_bug.cgi?id=21751
7086
7087 Convert checkboxes and radio buttons on OS X over to the new Theme API.
7088
7089 Reviewed by Adam Roben
7090
7091 * css/CSSComputedStyleDeclaration.cpp:
7092 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7093 * css/CSSStyleSelector.cpp:
7094 (WebCore::CSSStyleSelector::mapFillSize):
7095 * platform/Length.h:
7096 (WebCore::LengthSize::LengthSize):
7097 (WebCore::LengthSize::operator==):
7098 (WebCore::LengthSize::width):
7099 (WebCore::LengthSize::height):
7100 (WebCore::LengthSize::setWidth):
7101 (WebCore::LengthSize::setHeight):
7102 * platform/Theme.h:
7103 (WebCore::Theme::controlSize):
7104 (WebCore::Theme::controlSupportsBorder):
7105 (WebCore::Theme::controlSupportsPadding):
7106 (WebCore::Theme::paint):
7107 (WebCore::Theme::inflateControlPaintRect):
7108 * platform/ThemeTypes.h:
7109 (WebCore::):
7110 * platform/mac/ThemeMac.h:
7111 * platform/mac/ThemeMac.mm:
7112 (WebCore::):
7113 (WebCore::controlSizeForFont):
7114 (WebCore::sizeFromFont):
7115 (WebCore::setControlSize):
7116 (WebCore::updateStates):
7117 (WebCore::inflateRect):
7118 (WebCore::checkboxSizes):
7119 (WebCore::checkboxMargins):
7120 (WebCore::checkboxSize):
7121 (WebCore::checkbox):
7122 (WebCore::paintCheckbox):
7123 (WebCore::radioSizes):
7124 (WebCore::radioMargins):
7125 (WebCore::radioSize):
7126 (WebCore::radio):
7127 (WebCore::paintRadio):
7128 (WebCore::ThemeMac::baselinePositionAdjustment):
7129 (WebCore::ThemeMac::controlSize):
7130 (WebCore::ThemeMac::controlSupportsBorder):
7131 (WebCore::ThemeMac::controlSupportsPadding):
7132 (WebCore::ThemeMac::inflateControlPaintRect):
7133 (WebCore::ThemeMac::paint):
7134 * rendering/RenderBox.cpp:
7135 (WebCore::RenderBox::calculateBackgroundSize):
7136 * rendering/RenderObject.cpp:
7137 (WebCore::mustRepaintFillLayers):
7138 * rendering/RenderTheme.cpp:
7139 (WebCore::RenderTheme::adjustStyle):
7140 (WebCore::RenderTheme::paint):
7141 (WebCore::RenderTheme::baselinePosition):
7142 (WebCore::RenderTheme::adjustRepaintRect):
7143 (WebCore::RenderTheme::controlStatesForRenderer):
7144 (WebCore::RenderTheme::isFocused):
7145 * rendering/RenderTheme.h:
7146 * rendering/RenderThemeMac.h:
7147 * rendering/RenderThemeMac.mm:
7148 (WebCore::RenderThemeMac::adjustRepaintRect):
7149 * rendering/style/FillLayer.cpp:
7150 (WebCore::FillLayer::operator==):
7151
ggaren@apple.com4b8c0fb2008-10-20 16:48:30 +000071522008-10-18 Geoffrey Garen <ggaren@apple.com>
7153
7154 Reviewed by Darin Adler.
7155
7156 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
7157 Emit profiling instrumentation only if the Web Inspector's profiling
7158 feature is enabled
7159
7160 * bindings/js/JSDOMWindowBase.cpp:
7161 (WebCore::JSDOMWindowBase::supportsProfiling):
7162 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
7163 whether a target global object has the Web Inspector's profiling feature
7164 enabled.
7165
7166 * inspector/JavaScriptDebugServer.cpp:
7167 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
7168 (WebCore::JavaScriptDebugServer::didAddListener):
7169 (WebCore::JavaScriptDebugServer::didRemoveListener):
7170 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
7171 used by the Settings object.
7172
7173 * page/Settings.cpp:
7174 (WebCore::Settings::Settings):
7175 (WebCore::Settings::setDeveloperExtrasEnabled):
7176 * page/Settings.h: Recompile when the developer menu is enabled/disabled
7177 for the first time, to add/remove profiling hooks. In the future, with
7178 better Web Inspector UI, we can do this on a page-by-page basis,
7179 instead of a global basis.
7180
hyatt@apple.com6b537eb2008-10-20 15:54:55 +000071812008-10-20 David Hyatt <hyatt@apple.com>
7182
7183 Move Length to platform/.
7184
7185 Reviewed by Adam Roben
7186
7187 * GNUmakefile.am:
7188 * WebCore.pro:
7189 * WebCore.vcproj/WebCore.vcproj:
7190 * WebCore.xcodeproj/project.pbxproj:
7191 * WebCoreSources.bkl:
7192 * platform/Length.cpp: Copied from rendering/Length.cpp.
7193 * platform/Length.h: Copied from rendering/Length.h.
7194
darin@apple.com29bf98b2008-10-20 15:16:29 +000071952008-10-20 Darin Adler <darin@apple.com>
7196
darin@apple.come90aa812008-10-20 15:28:14 +00007197 - try to fix Qt build
7198
darin@apple.com1f5b8ac2008-10-20 15:29:04 +00007199 * bridge/qt/qt_runtime.cpp:
7200 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
7201 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
7202
72032008-10-20 Darin Adler <darin@apple.com>
7204
7205 - try to fix Qt build
7206
darin@apple.come90aa812008-10-20 15:28:14 +00007207 * bridge/qt/qt_instance.cpp:
7208 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
7209 (JSC::Bindings::QtField::valueFromInstance): Ditto.
7210 * bridge/qt/qt_instance.h: Ditto.
7211
72122008-10-20 Darin Adler <darin@apple.com>
7213
darin@apple.com29bf98b2008-10-20 15:16:29 +00007214 - try to fix Tiger build
7215
7216 * bridge/objc/objc_instance.mm:
7217 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
7218 volatile qualifier.
7219 (ObjcInstance::invokeDefaultMethod): Ditto.
7220 (ObjcInstance::getValueOfUndefinedField): Ditto.
7221 * bridge/objc/objc_runtime.mm:
7222 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
7223
ap@webkit.org0d0f77352008-10-20 15:13:11 +000072242008-10-20 Alexey Proskuryakov <ap@webkit.org>
7225
7226 Reviewed by Darin Adler.
7227
7228 https://bugs.webkit.org/show_bug.cgi?id=21750
7229 Eliminate the notion of "temporary events"
7230
7231 We mark some events as temporary when dispatching, for the sole reason of
7232 manually calling forgetDOMObject when done dispatching.
7233
7234 There doesn't seem to be any reason to call it manually, as JSEvent destructor
7235 will do this automatically right away.
7236
7237 * bindings/js/ScriptController.cpp:
7238 * bindings/js/ScriptController.h:
7239 Removed ScriptController::finishedWithEvent(), which was called after dispatching
7240 a temporary event.
7241
7242 * dom/ContainerNode.cpp:
7243 (WebCore::dispatchChildInsertionEvents):
7244 (WebCore::dispatchChildRemovalEvents):
7245 * dom/EventTarget.h:
7246 * dom/EventTargetNode.cpp:
7247 (WebCore::EventTargetNode::dispatchEvent):
7248 (WebCore::EventTargetNode::dispatchGenericEvent):
7249 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
7250 (WebCore::EventTargetNode::dispatchWindowEvent):
7251 (WebCore::EventTargetNode::dispatchUIEvent):
7252 (WebCore::EventTargetNode::dispatchKeyEvent):
7253 (WebCore::EventTargetNode::dispatchMouseEvent):
7254 (WebCore::EventTargetNode::dispatchWheelEvent):
7255 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
7256 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
7257 (WebCore::EventTargetNode::dispatchEventForType):
7258 (WebCore::EventTargetNode::dispatchProgressEvent):
7259 (WebCore::EventTargetNode::dispatchStorageEvent):
7260 * dom/EventTargetNode.h:
7261 * dom/MessagePort.cpp:
7262 (WebCore::MessagePort::dispatchMessages):
7263 (WebCore::MessagePort::dispatchCloseEvent):
7264 (WebCore::MessagePort::dispatchEvent):
7265 * dom/MessagePort.h:
7266 * editing/Editor.cpp:
7267 (WebCore::Editor::dispatchCPPEvent):
7268 (WebCore::dispatchEditableContentChangedEvents):
7269 * editing/ReplaceSelectionCommand.cpp:
7270 (WebCore::ReplacementFragment::ReplacementFragment):
7271 * editing/TypingCommand.cpp:
7272 (WebCore::TypingCommand::insertText):
7273 * loader/appcache/DOMApplicationCache.cpp:
7274 (WebCore::DOMApplicationCache::dispatchEvent):
7275 (WebCore::DOMApplicationCache::callListener):
7276 * loader/appcache/DOMApplicationCache.h:
7277 * page/EventHandler.cpp:
7278 (WebCore::EventHandler::dispatchDragEvent):
7279 (WebCore::EventHandler::keyEvent):
7280 (WebCore::EventHandler::handleTextInputEvent):
7281 * page/FrameView.cpp:
7282 (WebCore::FrameView::scheduleEvent):
7283 (WebCore::FrameView::updateOverflowStatus):
7284 (WebCore::FrameView::dispatchScheduledEvents):
7285 * page/FrameView.h:
7286 * rendering/RenderLayer.cpp:
7287 (WebCore::RenderLayer::scrollToOffset):
7288 (WebCore::RenderLayer::updateOverflowStatus):
7289 * svg/SVGElement.cpp:
7290 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
7291 * svg/SVGElementInstance.cpp:
7292 (WebCore::SVGElementInstance::dispatchEvent):
7293 * svg/SVGElementInstance.h:
7294 * xml/XMLHttpRequest.cpp:
7295 (WebCore::XMLHttpRequest::dispatchEvent):
7296 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
7297 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
7298 * xml/XMLHttpRequest.h:
7299 * xml/XMLHttpRequestUpload.cpp:
7300 (WebCore::XMLHttpRequestUpload::dispatchEvent):
7301 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
7302 * xml/XMLHttpRequestUpload.h:
7303 Don't pass the tempEvent boolean around.
7304
alp@webkit.org64c083f2008-10-20 11:32:36 +000073052008-10-20 Alp Toker <alp@nuanti.com>
7306
7307 Remove unused includes only. Partial GTK+/Win build fix.
7308
7309 * platform/graphics/gtk/SimpleFontDataPango.cpp:
7310
ap@webkit.org00a9b882008-10-20 09:24:30 +000073112008-10-20 Alexey Proskuryakov <ap@webkit.org>
7312
7313 Reviewed by Oliver Hunt.
7314
7315 https://bugs.webkit.org/show_bug.cgi?id=21705
7316 Implement Web Workers client-side API
7317
7318 The implementation is experimental, and disabled by default. It doesn't quite match the
7319 published draft, being influenced by further WHATWG discussions.
7320
7321 This only implements the client-side API, and does not actually create any threads or
7322 global contexts yet.
7323
7324 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
7325 still not sure if having separate classes for these helps at all.
7326
7327 * WebCore.xcodeproj/project.pbxproj: Added new files.
7328
7329 * bindings/js/JSDOMWindowBase.cpp:
7330 (jsDOMWindowBaseWorker):
7331 (WebCore::JSDOMWindowBase::put):
7332 (setJSDOMWindowBaseWorker):
7333 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
7334 to match prevailing style.
7335
7336 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
7337 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
7338 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
7339 The implementation of event listeners are left custom intentionally, for easier implementation
7340 of listeners that are not tied to any Document in the future.
7341
7342 * dom/DedicatedWorker.cpp: Added.
7343 * dom/DedicatedWorker.h: Added.
7344 * dom/DedicatedWorker.idl: Added.
7345 Added an implementation that can only load requested scripts for now.
7346
darin@apple.comcd9e55b2008-10-20 06:29:32 +000073472008-10-19 Darin Adler <darin@apple.com>
7348
7349 Reviewed by Dan Bernstein.
7350
7351 - fix assertion seen when opening inspector
7352
7353 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7354 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
7355 Removed unneeded asObject cast.
7356
mitz@apple.com2cce4672008-10-20 03:49:58 +000073572008-10-19 Dan Bernstein <mitz@apple.com>
7358
7359 Rubber-stamped by Timothy Hatcher.
7360
7361 - remove empty directories and correct the MIME type of inspector images
7362
7363 * page/inspector: Removed.
7364 * page/inspector/Images: Removed.
7365
timothy@apple.com2b1a4132008-10-20 03:43:19 +000073662008-10-19 Timothy Hatcher <timothy@apple.com>
7367
timothy@apple.com389d6642008-10-20 03:43:57 +00007368 Make the Web Inspector Resources panel open quicker and change graphs
7369 faster. There was some accidental n^2 logic at fault when updating the
7370 graph boundaries.
7371
7372 https://bugs.webkit.org/show_bug.cgi?id=21742
7373
7374 Reviewed by Darin Adler.
7375
7376 * inspector/front-end/ResourcesPanel.js:
7377 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
7378 a null calculator. Remove the second argument passed to _refreshAllResources.
7379 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
7380 the calculator for all the stale resources before calling refreshResource.
7381 Pass true for the first argument of refreshResource to skip the boundary update.
7382 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
7383 the second argument passed to _refreshAllResources.
7384 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
7385 skipSort argument since every passed true, and it would be bad to pass false.
7386 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
7387 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
7388 the resources before calling refreshResource. Pass true for the first argument
7389 of refreshResource to skip the boundary update.
7390
73912008-10-19 Timothy Hatcher <timothy@apple.com>
7392
timothy@apple.coma68e10d2008-10-20 03:43:45 +00007393 Visually distinguish resources that loaded from the memory cache.
7394
7395 https://bugs.webkit.org/show_bug.cgi?id=14279
7396
7397 Reviewed by Dan Bernstein.
7398
7399 * English.lproj/localizedStrings.js: New string.
7400 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
7401 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
7402 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
7403 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
7404 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
7405 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
7406 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
7407 * inspector/front-end/ResourcesPanel.js:
7408 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
7409 Add the "(from cache)" suffix to the tooltip.
7410 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
7411 Add the "(from cache)" suffix to the tooltip.
7412 (WebInspector.ResourceGraph): Add the "resource-cached" class.
7413 * inspector/front-end/inspector.css: New styles to make the timeline
7414 bars use the hollow pill images.
7415
74162008-10-19 Timothy Hatcher <timothy@apple.com>
7417
timothy@apple.comc4c00ec2008-10-20 03:43:29 +00007418 Update the scroll position in the Resources panel when loading
7419 a new page or toggling on small resource rows.
7420
7421 https://bugs.webkit.org/show_bug.cgi?id=20114
7422
7423 Reviewed by Darin Adler.
7424
7425 * inspector/front-end/ResourcesPanel.js:
7426 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
7427 since all the resource are being removed.
7428 (WebInspector.ResourcesPanel.prototype.removeResource): Call
7429 _adjustScrollPosition in case the view is shorter and needs scrolled.
7430 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
7431 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
7432 the height of the sidebar against the scrollTop and height of the
7433 resourcesContainerElement. If the sidebar is shorter, scroll up
7434 so the last resource is at the bottom again.
7435
74362008-10-19 Timothy Hatcher <timothy@apple.com>
7437
timothy@apple.com2b1a4132008-10-20 03:43:19 +00007438 Show per resource times and sizes when hovering over the bar graph for a resource.
7439
7440 https://bugs.webkit.org/show_bug.cgi?id=14300
7441 rdar://problem/5712802
7442
7443 Reviewed by Cameron Zwarich.
7444
7445 * English.lproj/localizedStrings.js: Add new strings.
7446 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
7447 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
7448 * inspector/front-end/ResourcesPanel.js:
7449 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
7450 ResourceGraph.refresh function.
7451 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
7452 returns the formatted value.
7453 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
7454 for the latency and download times. Also generate a custom tooltip.
7455 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
7456 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
7457 in case the bar has changed size.
7458 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
7459 * inspector/front-end/inspector.css: New styles for the labels.
7460
darin@apple.com989a6f82008-10-20 00:28:51 +000074612008-10-19 Darin Adler <darin@apple.com>
7462
7463 Reviewed by Oliver Hunt.
7464
7465 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
7466 improve performance by eliminating JSValue as a base class for JSCell
7467
7468 Remove most uses of JSValue, which will be removed in a future patch.
7469
7470 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
7471 and used JSValuePtr instead.
7472 * bindings/js/JSEventTarget.h: Ditto.
7473 * bindings/js/JSNodeFilterCondition.h: Ditto.
7474 * bindings/js/ScheduledAction.h: Ditto.
7475 * bindings/js/ScriptController.h: Ditto.
7476 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
7477 * bridge/c/c_utility.h: Ditto.
7478 * bridge/jni/jni_jsobject.h: Ditto.
7479 * bridge/jni/jni_utility.h: Ditto.
7480 * bridge/objc/WebScriptObject.h: Ditto.
7481 * dom/Traversal.h: Ditto.
7482 * inspector/InspectorController.cpp: Ditto.
7483 * inspector/JavaScriptProfile.h: Ditto.
7484 * inspector/JavaScriptProfileNode.h: Ditto.
7485 * loader/FrameLoader.h: Ditto.
7486 * page/Console.h: Ditto.
7487 * plugins/MimeTypeArray.h: Ditto.
7488 * plugins/Plugin.h: Ditto.
7489 * plugins/PluginArray.h: Ditto.
7490 * plugins/PluginView.cpp:
7491 (WebCore::getString): Ditto.
7492 (WebCore::PluginView::performRequest): Ditto.
7493 * plugins/gtk/PluginViewGtk.cpp: Ditto.
7494 * plugins/qt/PluginViewQt.cpp: Ditto.
7495 * plugins/win/PluginViewWin.cpp: Ditto.
7496
7497 * bridge/qt/qt_class.cpp:
7498 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
7499 instead of JSValue*.
7500 * bridge/qt/qt_class.h: Ditto.
7501 * bridge/qt/qt_instance.cpp:
7502 (JSC::Bindings::QtInstance::mark): Ditto.
7503 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
7504 (JSC::Bindings::QtInstance::defaultValue): Ditto.
7505 (JSC::Bindings::QtInstance::stringValue): Ditto.
7506 (JSC::Bindings::QtInstance::numberValue): Ditto.
7507 (JSC::Bindings::QtInstance::booleanValue): Ditto.
7508 (JSC::Bindings::QtInstance::valueOf): Ditto.
7509 (JSC::Bindings::QtField::valueFromInstance): Ditto.
7510 (JSC::Bindings::QtField::setValueToInstance): Ditto.
7511 * bridge/qt/qt_instance.h: Ditto.
7512 * bridge/qt/qt_runtime.cpp: Ditto.
7513 (JSC::Bindings::valueRealType): Ditto.
7514 (JSC::Bindings::convertValueToQVariant): Ditto.
7515 (JSC::Bindings::convertQVariantToValue): Ditto.
7516 (JSC::Bindings::findMethodIndex): Ditto.
7517 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
7518 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
7519 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
7520 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
7521 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
7522 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
7523 (JSC::Bindings::QtArray::setValueAt): Ditto.
7524 (JSC::Bindings::QtArray::valueAt): Ditto.
7525 * bridge/qt/qt_runtime.h: Ditto.
7526
7527 * bridge/testqtbindings.cpp:
7528 (main): Use JSValuePtr.
7529
darin@apple.com5c465b02008-10-19 16:58:58 +000075302008-10-18 Darin Adler <darin@apple.com>
7531
7532 Reviewed by Oliver Hunt.
7533
7534 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
7535 improve performance by eliminating JSValue as a base class for JSCell
7536
7537 Tweak a little more to get closer to where we can make JSValuePtr a class.
7538
7539 * bindings/js/JSAudioConstructor.cpp:
7540 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
7541 (WebCore::constructAudio): Ditto.
7542 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7543 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
7544
7545 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7546 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
7547 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
7548 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
7549 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
7550 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
7551 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
7552 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
7553
7554 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7555 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
7556
7557 * bindings/js/JSDOMBinding.cpp:
7558 (WebCore::setDOMException): Use noValue.
7559
7560 * bindings/js/JSDOMBinding.h:
7561 (WebCore::getDOMPrototype): Use asObject.
7562
7563 * bindings/js/JSDOMWindowBase.cpp:
7564 (WebCore::showModalDialog): Use noValue.
7565 (jsDOMWindowBaseEvent): Use asObject.
7566 (jsDOMWindowBaseImage): Ditto.
7567 (jsDOMWindowBaseMessageChannel): Ditto.
7568 (jsDOMWindowBaseOption): Ditto.
7569 (jsDOMWindowBaseXMLHttpRequest): Ditto.
7570 (jsDOMWindowBaseAudio): Ditto.
7571 (jsDOMWindowBaseXSLTProcessor): Ditto.
7572 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
7573 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
7574 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
7575 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
7576 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
7577 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
7578 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
7579 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
7580 (windowProtoFuncOpen): Use noValue.
7581 (WebCore::toJSDOMWindow): Use asObject.
7582
7583 * bindings/js/JSDOMWindowCustom.cpp:
7584 (WebCore::setTimeoutOrInterval): Use asString.
7585 (WebCore::toDOMWindow): Use asObject.
7586
7587 * bindings/js/JSEventListener.cpp:
7588 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
7589 (WebCore::JSLazyEventListener::parseCode): Use asObject.
7590
7591 * bindings/js/JSHTMLCollectionCustom.cpp:
7592 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
7593 * bindings/js/JSHTMLDocumentCustom.cpp:
7594 (WebCore::JSHTMLDocument::nameGetter): Ditto.
7595 * bindings/js/JSHTMLElementCustom.cpp:
7596 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
7597 * bindings/js/JSHTMLFormElementCustom.cpp:
7598 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
7599 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7600 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
7601 * bindings/js/JSHTMLOptionElementConstructor.cpp:
7602 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
7603 (WebCore::constructHTMLOptionElement): Ditto.
7604 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7605 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
7606 * bindings/js/JSImageConstructor.cpp:
7607 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
7608 (WebCore::constructImage): Ditto.
7609 * bindings/js/JSInspectedObjectWrapper.cpp:
7610 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
7611 * bindings/js/JSInspectorCallbackWrapper.cpp:
7612 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
7613
7614 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7615 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
7616
7617 * bindings/js/JSMessageChannelConstructor.cpp:
7618 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
7619 (WebCore::JSMessageChannelConstructor::construct): Ditto.
7620 * bindings/js/JSMimeTypeArrayCustom.cpp:
7621 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
7622 * bindings/js/JSNamedNodeMapCustom.cpp:
7623 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
7624 * bindings/js/JSNamedNodesCollection.cpp:
7625 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
7626 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
7627 * bindings/js/JSNodeFilterCustom.cpp:
7628 (WebCore::toNodeFilter): Ditto.
7629 * bindings/js/JSNodeListCustom.cpp:
7630 (WebCore::JSNodeList::nameGetter): Ditto.
7631 * bindings/js/JSPluginArrayCustom.cpp:
7632 (WebCore::JSPluginArray::nameGetter): Ditto.
7633 * bindings/js/JSPluginCustom.cpp:
7634 (WebCore::JSPlugin::nameGetter): Ditto.
7635 * bindings/js/JSPluginElementFunctions.cpp:
7636 (WebCore::runtimeObjectGetter): Ditto.
7637 (WebCore::runtimeObjectPropertyGetter): Ditto.
7638 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7639 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
7640 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
7641 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
7642 * bindings/js/JSRGBColor.cpp:
7643 (jsRGBColorRed): Ditto.
7644 (jsRGBColorGreen): Ditto.
7645 (jsRGBColorBlue): Ditto.
7646
7647 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7648 (WebCore::JSSQLResultSetRowList::item): Use noValue.
7649
7650 * bindings/js/JSStorageCustom.cpp:
7651 (WebCore::JSStorage::nameGetter): Use asObject.
7652 (WebCore::JSStorage::deleteProperty): Ditto.
7653 (WebCore::JSStorage::customPut): Ditto.
7654 * bindings/js/JSStyleSheetListCustom.cpp:
7655 (WebCore::JSStyleSheetList::nameGetter): Ditto.
7656 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7657 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
7658 * bindings/js/JSXSLTProcessorCustom.cpp:
7659 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
7660 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
7661 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
7662
7663 * bindings/js/ScriptController.cpp:
7664 (WebCore::ScriptController::evaluate): Use noValue.
7665 * bindings/objc/DOMInternal.mm:
7666 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
7667
7668 * bindings/objc/WebScriptObject.mm:
7669 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
7670 (-[WebScriptObject valueForKey:]): Ditto.
7671 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
7672 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
7673 Use asObject and asString.
7674
7675 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
7676
7677 * bridge/c/c_instance.h: Use JSValuePtr.
7678 * bridge/c/c_runtime.cpp:
7679 (JSC::Bindings::CField::setValueToInstance): Ditto.
7680
7681 * bridge/c/c_utility.cpp:
7682 (JSC::Bindings::convertValueToNPVariant): Use asObject.
7683
7684 * bridge/jni/jni_instance.cpp:
7685 (JavaInstance::booleanValue): Use JSValuePtr.
7686 (JavaInstance::invokeMethod): Ditto. And noValue.
7687 * bridge/jni/jni_jsobject.mm:
7688 (JavaJSObject::getSlot): Ditto.
7689 (JavaJSObject::convertValueToJObject): Ditto.
7690 * bridge/jni/jni_runtime.cpp:
7691 (JavaField::dispatchValueFromInstance): Ditto.
7692 (JavaField::valueFromInstance): Ditto.
7693 (JavaField::dispatchSetValueToInstance): Ditto.
7694 (JavaField::setValueToInstance): Ditto.
7695 (JavaArray::setValueAt): Ditto.
7696 (JavaArray::valueAt): Ditto.
7697 * bridge/jni/jni_runtime.h: Ditto.
7698
7699 * bridge/jni/jni_utility.cpp:
7700 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
7701 instead of a JSValue*.
7702 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
7703
7704 * bridge/objc/objc_class.h: Use JSValuePtr.
7705 * bridge/objc/objc_instance.h: Ditto.
7706 * bridge/objc/objc_runtime.h: Ditto.
7707
7708 * bridge/objc/objc_runtime.mm:
7709 (JSC::Bindings::callObjCFallbackObject): Use asObject.
7710
7711 * bridge/objc/objc_utility.h: Use JSValuePtr.
7712 * bridge/objc/objc_utility.mm:
7713 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
7714 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
7715
7716 * bridge/runtime.cpp:
7717 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
7718 (JSC::Bindings::Instance::setValueOfField): Ditto.
7719
7720 * bridge/runtime_array.cpp:
7721 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
7722 (JSC::RuntimeArray::indexGetter): Ditto.
7723 * bridge/runtime_array.h: Ditto.
7724 * bridge/runtime_method.cpp:
7725 (JSC::RuntimeMethod::lengthGetter): Ditto.
7726 (JSC::callRuntimeMethod): Ditto.
7727 * bridge/runtime_object.cpp:
7728 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
7729 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
7730 (JSC::RuntimeObjectImp::methodGetter): Ditto.
7731
7732 * loader/FrameLoader.cpp:
7733 (WebCore::FrameLoader::executeScript): Use noValue.
7734
7735 * page/Console.cpp:
7736 (WebCore::Console::trace): Use asInternalFunction.
7737
mitz@apple.com50ba3892008-10-19 16:41:50 +000077382008-10-19 Dan Bernstein <mitz@apple.com>
7739
7740 Reviewed by Timothy Hatcher.
7741
7742 - lower the default button repaint frequency
7743
7744 * rendering/RenderButton.cpp:
7745 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
7746 0.01 to 0.03.
7747
mitz@apple.com3076b4b2008-10-19 02:53:39 +000077482008-10-18 Dan Bernstein <mitz@apple.com>
7749
mitz@apple.comfc465242008-10-19 06:26:15 +00007750 Reviewed by Mark Rowe.
7751
7752 - Windows build fix
7753
7754 * rendering/RenderThemeSafari.cpp:
7755 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
7756 (WebCore::RenderThemeSafari::paintMediaMuteButton):
7757 (WebCore::RenderThemeSafari::paintMediaPlayButton):
7758 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
7759 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
7760 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
7761
77622008-10-18 Dan Bernstein <mitz@apple.com>
7763
mitz@apple.com3076b4b2008-10-19 02:53:39 +00007764 Reviewed by Sam Weinig.
7765
7766 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
7767 Long-dead decoded image data make up for most of the object cache's memory use over time
7768
7769 Add a cache setting for how long decoded image data should be allowed to
7770 persist in memory after the image has died. By default, this is set to
7771 0, which means "forever".
7772
7773 * loader/Cache.cpp:
7774 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
7775 * loader/Cache.h:
7776 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
7777 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
7778 * loader/CachedImage.cpp:
7779 (WebCore::CachedImage::CachedImage): Initialize the decoded data
7780 deletion timer.
7781 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
7782 the decoded image data.
7783 (WebCore::CachedImage::addClient): Stop the timer if it is active.
7784 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
7785 deletion timer.
7786 * loader/CachedImage.h:
7787
darin@apple.com9c9096f2008-10-18 21:54:01 +000077882008-10-18 Darin Adler <darin@apple.com>
7789
darin@apple.com05b30262008-10-19 02:12:26 +00007790 Reviewed by Dan Bernstein.
7791
7792 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
7793 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
7794
7795 * html/HTMLFormElement.cpp:
7796 (WebCore::HTMLFormElement::formData):
7797 Fix loop that goes through the FormDataList to go two at a time in a clearer
7798 way. My last patch screwed up the way it got form content from the items.
darin@apple.comf20ce3332008-10-19 02:14:16 +00007799 This "two at a time" approach is a confusing way to do things, which explains
7800 why I got it wrong last time through, but I decided to just fix it locally for
7801 now rather than changing the design of FormDataList.
darin@apple.com05b30262008-10-19 02:12:26 +00007802
78032008-10-18 Darin Adler <darin@apple.com>
7804
darin@apple.com67c6c012008-10-19 01:52:42 +00007805 Reviewed by Cameron Zwarich.
7806
7807 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
7808 improve performance by eliminating JSValue as a base class for JSCell
7809
7810 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
7811 changing JSValuePtr to be a class, and then eventually renaming it
7812 to JSValue once that's done.
7813
7814 * bindings/js/JSAttrCustom.cpp:
7815 * bindings/js/JSCSSRuleCustom.cpp:
7816 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7817 * bindings/js/JSCSSValueCustom.cpp:
7818 * bindings/js/JSCanvasPixelArrayCustom.h:
7819 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7820 * bindings/js/JSClipboardCustom.cpp:
7821 * bindings/js/JSConsoleCustom.cpp:
7822 * bindings/js/JSCustomSQLStatementCallback.cpp:
7823 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7824 * bindings/js/JSCustomSQLTransactionCallback.cpp:
7825 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7826 * bindings/js/JSCustomVoidCallback.cpp:
7827 * bindings/js/JSCustomVoidCallback.h:
7828 * bindings/js/JSCustomXPathNSResolver.cpp:
7829 * bindings/js/JSDOMApplicationCacheCustom.cpp:
7830 * bindings/js/JSDOMBinding.cpp:
7831 * bindings/js/JSDOMBinding.h:
7832 * bindings/js/JSDOMWindowBase.cpp:
7833 * bindings/js/JSDOMWindowBase.h:
7834 * bindings/js/JSDOMWindowCustom.cpp:
7835 * bindings/js/JSDOMWindowCustom.h:
7836 * bindings/js/JSDOMWindowShell.cpp:
7837 * bindings/js/JSDOMWindowShell.h:
7838 * bindings/js/JSDatabaseCustom.cpp:
7839 * bindings/js/JSDocumentCustom.cpp:
7840 * bindings/js/JSElementCustom.cpp:
7841 * bindings/js/JSEventCustom.cpp:
7842 * bindings/js/JSEventListener.cpp:
7843 * bindings/js/JSEventTarget.cpp:
7844 * bindings/js/JSEventTargetBase.h:
7845 * bindings/js/JSEventTargetNodeCustom.cpp:
7846 * bindings/js/JSHTMLAllCollection.h:
7847 * bindings/js/JSHTMLAppletElementCustom.cpp:
7848 * bindings/js/JSHTMLCollectionCustom.cpp:
7849 * bindings/js/JSHTMLDocumentCustom.cpp:
7850 * bindings/js/JSHTMLEmbedElementCustom.cpp:
7851 * bindings/js/JSHTMLFormElementCustom.cpp:
7852 * bindings/js/JSHTMLFrameElementCustom.cpp:
7853 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7854 * bindings/js/JSHTMLIFrameElementCustom.cpp:
7855 * bindings/js/JSHTMLInputElementCustom.cpp:
7856 * bindings/js/JSHTMLObjectElementCustom.cpp:
7857 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7858 * bindings/js/JSHTMLSelectElementCustom.cpp:
7859 * bindings/js/JSHTMLSelectElementCustom.h:
7860 * bindings/js/JSHistoryCustom.cpp:
7861 * bindings/js/JSImageDataCustom.cpp:
7862 * bindings/js/JSInspectedObjectWrapper.cpp:
7863 * bindings/js/JSInspectedObjectWrapper.h:
7864 * bindings/js/JSInspectorCallbackWrapper.cpp:
7865 * bindings/js/JSInspectorCallbackWrapper.h:
7866 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7867 * bindings/js/JSLocationCustom.cpp:
7868 * bindings/js/JSMessagePortCustom.cpp:
7869 * bindings/js/JSMimeTypeArrayCustom.cpp:
7870 * bindings/js/JSNamedNodeMapCustom.cpp:
7871 * bindings/js/JSNamedNodesCollection.cpp:
7872 * bindings/js/JSNamedNodesCollection.h:
7873 * bindings/js/JSNavigatorCustom.cpp:
7874 * bindings/js/JSNodeCustom.cpp:
7875 * bindings/js/JSNodeFilterCondition.cpp:
7876 * bindings/js/JSNodeFilterCustom.cpp:
7877 * bindings/js/JSNodeIteratorCustom.cpp:
7878 * bindings/js/JSNodeListCustom.cpp:
7879 * bindings/js/JSPluginArrayCustom.cpp:
7880 * bindings/js/JSPluginCustom.cpp:
7881 * bindings/js/JSPluginElementFunctions.cpp:
7882 * bindings/js/JSPluginElementFunctions.h:
7883 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7884 * bindings/js/JSQuarantinedObjectWrapper.h:
7885 * bindings/js/JSRGBColor.cpp:
7886 * bindings/js/JSRGBColor.h:
7887 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7888 * bindings/js/JSSQLTransactionCustom.cpp:
7889 * bindings/js/JSSVGElementInstanceCustom.cpp:
7890 * bindings/js/JSSVGLengthCustom.cpp:
7891 * bindings/js/JSSVGMatrixCustom.cpp:
7892 * bindings/js/JSSVGPathSegCustom.cpp:
7893 * bindings/js/JSSVGPathSegListCustom.cpp:
7894 * bindings/js/JSSVGPointListCustom.cpp:
7895 * bindings/js/JSSVGTransformListCustom.cpp:
7896 * bindings/js/JSStorageCustom.cpp:
7897 * bindings/js/JSStyleSheetCustom.cpp:
7898 * bindings/js/JSStyleSheetListCustom.cpp:
7899 * bindings/js/JSTextCustom.cpp:
7900 * bindings/js/JSTreeWalkerCustom.cpp:
7901 * bindings/js/JSXMLHttpRequestCustom.cpp:
7902 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7903 * bindings/js/JSXSLTProcessorCustom.cpp:
7904 * bindings/js/ScheduledAction.cpp:
7905 * bindings/js/ScheduledAction.h:
7906 * bindings/js/ScriptController.cpp:
7907 * bindings/js/ScriptController.h:
7908 * bindings/objc/WebScriptObject.mm:
7909 * bindings/scripts/CodeGeneratorJS.pm:
7910 * bridge/NP_jsobject.cpp:
7911 * bridge/c/c_instance.cpp:
7912 * bridge/c/c_instance.h:
7913 * bridge/c/c_runtime.cpp:
7914 * bridge/c/c_runtime.h:
7915 * bridge/c/c_utility.cpp:
7916 * bridge/jni/jni_instance.cpp:
7917 * bridge/jni/jni_instance.h:
7918 * bridge/jni/jni_jsobject.mm:
7919 * bridge/jni/jni_objc.mm:
7920 * bridge/jni/jni_runtime.cpp:
7921 * bridge/jni/jni_runtime.h:
7922 * bridge/jni/jni_utility.cpp:
7923 * bridge/objc/objc_class.mm:
7924 * bridge/objc/objc_instance.h:
7925 * bridge/objc/objc_instance.mm:
7926 * bridge/objc/objc_runtime.h:
7927 * bridge/objc/objc_runtime.mm:
7928 * bridge/objc/objc_utility.h:
7929 * bridge/objc/objc_utility.mm:
7930 * bridge/runtime.h:
7931 * bridge/runtime_array.cpp:
7932 * bridge/runtime_array.h:
7933 * bridge/runtime_method.cpp:
7934 * bridge/runtime_method.h:
7935 * bridge/runtime_object.cpp:
7936 * bridge/runtime_object.h:
7937 * inspector/JavaScriptCallFrame.cpp:
7938 * inspector/JavaScriptCallFrame.h:
7939 * inspector/JavaScriptProfile.cpp:
7940 * inspector/JavaScriptProfileNode.cpp:
7941 * loader/FrameLoader.cpp:
7942 * loader/FrameLoader.h:
7943 * page/Console.cpp:
7944 * page/Console.h:
7945 * plugins/MimeTypeArray.h:
7946 * plugins/Plugin.h:
7947 * plugins/PluginArray.h:
7948 * xml/XMLHttpRequest.cpp:
7949 Replace JSValue* with JSValuePtr.
7950
79512008-10-18 Darin Adler <darin@apple.com>
7952
darin@apple.com5a494422008-10-18 23:08:12 +00007953 Reviewed by Oliver Hunt.
7954
7955 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
7956 improve performance by eliminating JSValue as a base class for JSCell
7957
7958 Update for change to make PreferredPrimitiveType no longer
7959 a member of JSValue.
7960
7961 * bridge/c/c_instance.cpp:
7962 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
7963 * bridge/jni/jni_instance.cpp:
7964 (JavaInstance::defaultValue): Ditto.
7965 * bridge/objc/objc_instance.mm:
7966 (ObjcInstance::defaultValue): Ditto.
7967 * bridge/qt/qt_instance.cpp:
7968 (JSC::Bindings::QtInstance::defaultValue): Ditto.
7969 * bridge/runtime.h: Ditto. Also removed typedef.
7970
79712008-10-18 Darin Adler <darin@apple.com>
7972
darin@apple.com9c9096f2008-10-18 21:54:01 +00007973 - try to fix Windows build
7974
7975 * rendering/RenderThemeSafari.cpp:
7976 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
7977 SafariTheme namespace, since there is now an identically named constant in
7978 the ControlPart enum.
7979 (WebCore::RenderThemeSafari::paintButton): Ditto.
7980 (WebCore::RenderThemeSafari::paintTextField): Ditto.
7981 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
7982 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
7983 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
7984 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
7985 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
7986
jmalonzo@webkit.orgbb77ef92008-10-18 21:23:59 +000079872008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
7988
7989 Reviewed by Alp Toker.
7990
7991 [GTK] crash after selecting a file on an <input type=file>
7992 https://bugs.webkit.org/show_bug.cgi?id=21385
7993
7994 Follow Mac and Win's behaviors for Icon::paint
7995
7996 * platform/graphics/gtk/IconGtk.cpp:
7997 (WebCore::Icon::paint): check if painting is enabled before
7998 painting the icon
7999
oliver@apple.com154f91e2008-10-18 08:44:34 +000080002008-10-18 Zan Dobersek <zandobersek@gmail.com>
8001
8002 Reviewed by Oliver Hunt.
8003
8004 Qt port build fix.
8005
8006 * platform/qt/RenderThemeQt.h:
8007
kevino@webkit.org75d2aee2008-10-18 00:03:58 +000080082008-10-17 Kevin Watters <kevinwatters@gmail.com>
8009
8010 Reviewed by Kevin Ollivier
8011
8012 Fix wx port's scrollbar and drawing handling after recent changes.
8013
8014 https://bugs.webkit.org/show_bug.cgi?id=21720
8015
8016 * platform/ScrollView.h:
8017 * platform/wx/ScrollViewWx.cpp:
8018 (WebCore::ScrollView::platformVisibleContentRect):
8019 (WebCore::ScrollView::platformContentsSize):
8020 (WebCore::ScrollView::platformSetContentsSize):
8021 * platform/wx/WidgetWx.cpp:
8022 (WebCore::Widget::paint):
8023
kevino@webkit.orgc81374f2008-10-17 23:22:58 +000080242008-10-17 Kevin Ollivier <kevino@theolliviers.com>
8025
8026 wx build fix. EAppearance -> ControlPart.
8027
8028 * platform/wx/RenderThemeWx.cpp:
8029 (WebCore::RenderThemeWx::isControlStyled):
8030 (WebCore::RenderThemeWx::adjustRepaintRect):
8031 (WebCore::RenderThemeWx::controlSupportsTints):
8032 (WebCore::RenderThemeWx::supportsFocus):
8033 (WebCore::RenderThemeWx::paintButton):
8034
hyatt@apple.com084394f2008-10-17 21:26:46 +000080352008-10-17 David Hyatt <hyatt@apple.com>
8036
hyatt@apple.com5cdc5e042008-10-17 22:02:16 +00008037 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
8038 values from the enum since they are handled by ScrollbarTheme instead.
8039
8040 Reviewed by Tim Hatcher
8041
8042 * css/CSSPrimitiveValueMappings.h:
8043 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
8044 (WebCore::CSSPrimitiveValue::operator ControlPart):
8045 * css/CSSStyleSelector.cpp:
8046 (WebCore::CSSStyleSelector::adjustRenderStyle):
8047 * css/CSSValueKeywords.in:
8048 * platform/gtk/RenderThemeGtk.cpp:
8049 (WebCore::supportsFocus):
8050 (WebCore::RenderThemeGtk::baselinePosition):
8051 (WebCore::setToggleSize):
8052 (WebCore::RenderThemeGtk::setCheckboxSize):
8053 (WebCore::RenderThemeGtk::setRadioSize):
8054 (WebCore::RenderThemeGtk::adjustButtonStyle):
8055 * platform/qt/RenderThemeQt.cpp:
8056 (WebCore::RenderThemeQt::baselinePosition):
8057 (WebCore::RenderThemeQt::controlSupportsTints):
8058 (WebCore::RenderThemeQt::adjustRepaintRect):
8059 (WebCore::RenderThemeQt::isControlStyled):
8060 (WebCore::computeSizeBasedOnStyle):
8061 (WebCore::RenderThemeQt::paintButton):
8062 (WebCore::RenderThemeQt::paintTextField):
8063 (WebCore::RenderThemeQt::paintMenuList):
8064 (WebCore::RenderThemeQt::supportsFocus):
8065 (WebCore::RenderThemeQt::applyTheme):
8066 (WebCore::RenderThemeQt::adjustSliderThumbSize):
8067 * platform/qt/RenderThemeQt.h:
8068 * rendering/RenderSlider.cpp:
8069 (WebCore::RenderSlider::createThumbStyle):
8070 (WebCore::RenderSlider::layout):
8071 (WebCore::RenderSlider::setValueForPosition):
8072 (WebCore::RenderSlider::setPositionFromValue):
8073 (WebCore::RenderSlider::positionForOffset):
8074 (WebCore::RenderSlider::currentPosition):
8075 (WebCore::RenderSlider::setCurrentPosition):
8076 (WebCore::RenderSlider::trackSize):
8077 * rendering/RenderTheme.cpp:
8078 (WebCore::RenderTheme::adjustStyle):
8079 (WebCore::RenderTheme::paint):
8080 (WebCore::RenderTheme::paintBorderOnly):
8081 (WebCore::RenderTheme::paintDecorations):
8082 (WebCore::RenderTheme::isControlContainer):
8083 (WebCore::RenderTheme::isControlStyled):
8084 (WebCore::RenderTheme::supportsFocusRing):
8085 (WebCore::RenderTheme::isDefault):
8086 * rendering/RenderTheme.h:
8087 * rendering/RenderThemeMac.mm:
8088 (WebCore::RenderThemeMac::isControlStyled):
8089 (WebCore::RenderThemeMac::adjustRepaintRect):
8090 (WebCore::RenderThemeMac::baselinePosition):
8091 (WebCore::RenderThemeMac::controlSupportsTints):
8092 (WebCore::RenderThemeMac::adjustButtonStyle):
8093 (WebCore::RenderThemeMac::setButtonCellState):
8094 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
8095 (WebCore::RenderThemeMac::popupInternalPaddingRight):
8096 (WebCore::RenderThemeMac::popupInternalPaddingTop):
8097 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
8098 (WebCore::RenderThemeMac::paintSliderTrack):
8099 (WebCore::RenderThemeMac::paintSliderThumb):
8100 (WebCore::RenderThemeMac::adjustSliderThumbSize):
8101 * rendering/RenderThemeSafari.cpp:
8102 (WebCore::RenderThemeSafari::isControlStyled):
8103 (WebCore::RenderThemeSafari::adjustRepaintRect):
8104 (WebCore::RenderThemeSafari::baselinePosition):
8105 (WebCore::RenderThemeSafari::controlSupportsTints):
8106 (WebCore::RenderThemeSafari::adjustButtonStyle):
8107 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
8108 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
8109 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
8110 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
8111 (WebCore::RenderThemeSafari::paintSliderTrack):
8112 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
8113 * rendering/RenderThemeWin.cpp:
8114 (WebCore::RenderThemeWin::supportsFocus):
8115 (WebCore::RenderThemeWin::determineClassicState):
8116 (WebCore::RenderThemeWin::getClassicThemeData):
8117 (WebCore::RenderThemeWin::getThemeData):
8118 (WebCore::drawControl):
8119 (WebCore::RenderThemeWin::paintSliderTrack):
8120 (WebCore::RenderThemeWin::adjustSliderThumbSize):
8121 * rendering/RenderThemeWin.h:
8122 * rendering/style/RenderStyle.h:
8123 (WebCore::InheritedFlags::hasAppearance):
8124 (WebCore::InheritedFlags::appearance):
8125 (WebCore::InheritedFlags::setAppearance):
8126 (WebCore::InheritedFlags::initialAppearance):
8127 * rendering/style/RenderStyleConstants.h:
8128
81292008-10-17 David Hyatt <hyatt@apple.com>
8130
hyatt@apple.com084394f2008-10-17 21:26:46 +00008131 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
8132 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
8133
8134 Reviewed by Tim Hatcher
8135
8136 * WebCore.vcproj/WebCore.vcproj:
8137 * WebCore.xcodeproj/project.pbxproj:
8138 * config.h:
8139 * platform/Theme.h: Added.
8140 (WebCore::Theme::Theme):
8141 (WebCore::Theme::~Theme):
8142 (WebCore::Theme::baselinePositionAdjustment):
8143 (WebCore::Theme::controlHasInactiveAppearance):
8144 (WebCore::Theme::controlsCanHaveInactiveAppearance):
8145 (WebCore::Theme::controlsCanHaveHoveredAppearance):
8146 (WebCore::Theme::controlDrawsBorder):
8147 (WebCore::Theme::controlDrawsBackground):
8148 (WebCore::Theme::controlDrawsFocusOutline):
8149 (WebCore::Theme::selectionColor):
8150 (WebCore::Theme::textSearchHighlightColor):
8151 (WebCore::Theme::systemColor):
8152 (WebCore::Theme::systemFont):
8153 (WebCore::Theme::caretBlinkFrequency):
8154 (WebCore::Theme::themeChanged):
8155 (WebCore::Theme::controlSize):
8156 (WebCore::Theme::controlFont):
8157 (WebCore::Theme::controlPadding):
8158 (WebCore::Theme::controlInternalPadding):
8159 (WebCore::Theme::controlBorder):
8160 (WebCore::Theme::controlBorderRadius):
8161 (WebCore::Theme::paint):
8162 (WebCore::Theme::inflateControlPaintRect):
8163 * platform/ThemeTypes.h: Added.
8164 (WebCore::):
8165 (WebCore::ControlBox::ControlBox):
8166 (WebCore::ControlBox::top):
8167 (WebCore::ControlBox::right):
8168 (WebCore::ControlBox::bottom):
8169 (WebCore::ControlBox::left):
8170 * platform/mac/ThemeMac.h: Added.
8171 (WebCore::ThemeMac::ThemeMac):
8172 (WebCore::ThemeMac::~ThemeMac):
8173 * platform/mac/ThemeMac.mm: Added.
8174 (WebCore::platformTheme):
8175 * rendering/RenderTheme.cpp:
8176 (WebCore::RenderTheme::RenderTheme):
8177 * rendering/RenderTheme.h:
8178
jmalonzo@webkit.org38edc132008-10-17 21:16:01 +000081792008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
8180
8181 Reviewed by Sam Weinig. Landed by Jan Alonzo.
8182
8183 https://bugs.webkit.org/show_bug.cgi?id=21603
8184 [GTK] Minor fixes to GOwnPtr
8185
8186 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
8187 (WebCore::mediaPlayerPrivateErrorCallback):
8188
timothy@apple.com4bfc7332008-10-17 16:51:03 +000081892008-10-17 Timothy Hatcher <timothy@apple.com>
8190
timothy@apple.com22edf572008-10-17 21:04:42 +00008191 Recompile the JavaScript functions when removing any listener, so functions that are
8192 not being debugged can resume normal speed again.
8193
8194 https://bugs.webkit.org/show_bug.cgi?id=21715
8195
8196 Reviewed by Geoffrey Garen.
8197
8198 * bindings/js/JSDOMWindowBase.cpp:
8199 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
8200 was firing when closing the window and having the recompile fire after. This was an
8201 overzelious assert now.
8202 * inspector/JavaScriptDebugServer.cpp:
8203 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
8204 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
8205
82062008-10-17 Timothy Hatcher <timothy@apple.com>
8207
timothy@apple.com4bfc7332008-10-17 16:51:03 +00008208 Fixes a regression where starting a debugging session in
8209 another Web Inspector window would not show any scripts.
8210 Also only attach the debugger to only the required Pages.
8211
8212 https://bugs.webkit.org/show_bug.cgi?id=21708
8213
8214 Reviewed by Darin Adler.
8215
8216 * inspector/JavaScriptDebugServer.cpp:
8217 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
8218 remove the call to willAddFirstListener(). Add a call to
8219 didAddListener().
8220 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
8221 and call to didRemoveListener().
8222 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
8223 if there is a listener interested in the new Page.
8224 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
8225 Use hasGlobalListeners() instead of isEmpty().
8226 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
8227 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
8228 debugger to the page if non-null, or all pages if page is null.
8229 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
8230 the debugger only if there are no interested listeners.
8231 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
8232 call to Page::setDebuggerForAllPages().
8233 * inspector/JavaScriptDebugServer.h:
8234 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
8235
brettw@chromium.orgaf9954f2008-10-17 15:56:24 +000082362008-10-15 Brett Wilson <brettw@chromium.org>
8237
8238 Reviewed by Timothy Hatcher.
8239
8240 Have ImageDocument generate its own filename for the title of images
8241 without relying on the suggested filename from the network layer, which
8242 may be nonexistant or not relevant.
8243 https://bugs.webkit.org/show_bug.cgi?id=21565
8244
8245 * loader/ImageDocument.cpp:
8246 (WebCore::ImageTokenizer::finish):
8247
ap@webkit.org2114abd2008-10-17 08:10:55 +000082482008-10-17 Alexey Proskuryakov <ap@webkit.org>
8249
ap@webkit.org6959ea02008-10-17 13:35:28 +00008250 Non-Mac build fix.
8251
8252 * GNUmakefile.am:
8253 * WebCore.pro:
8254 * WebCore.vcproj/WebCore.vcproj:
8255 * WebCoreSources.bkl:
8256 Added ActiveDOMObject to the build.
8257
82582008-10-17 Alexey Proskuryakov <ap@webkit.org>
8259
ap@webkit.org2114abd2008-10-17 08:10:55 +00008260 Reviewed by Sam Weinig.
8261
8262 https://bugs.webkit.org/show_bug.cgi?id=21642
8263 Abstract out active object tracking
8264
8265 * WebCore.xcodeproj/project.pbxproj:
8266 * bindings/js/JSDOMBinding.cpp:
8267 (WebCore::markActiveObjectsForDocument):
8268 * dom/ActiveDOMObject.cpp: Added.
8269 (WebCore::ActiveDOMObject::ActiveDOMObject):
8270 (WebCore::ActiveDOMObject::~ActiveDOMObject):
8271 (WebCore::ActiveDOMObject::contextDestroyed):
8272 (WebCore::ActiveDOMObject::stop):
8273 * dom/ActiveDOMObject.h: Added.
8274 (WebCore::ActiveDOMObject::document):
8275 (WebCore::ActiveDOMObject::hasPendingActivity):
8276 (WebCore::ActiveDOMObject::setPendingActivity):
8277 (WebCore::ActiveDOMObject::unsetPendingActivity):
8278 * dom/Document.cpp:
8279 (WebCore::Document::~Document):
8280 (WebCore::Document::stopActiveDOMObjects):
8281 (WebCore::Document::createdActiveDOMObject):
8282 (WebCore::Document::destroyedActiveDOMObject):
8283 * dom/Document.h:
8284 (WebCore::Document::activeDOMObjects):
8285 * dom/MessagePort.cpp:
8286 (WebCore::MessagePort::contextDestroyed):
8287 * dom/MessagePort.h:
8288 * loader/FrameLoader.cpp:
8289 (WebCore::FrameLoader::stopLoading):
8290 * xml/XMLHttpRequest.cpp:
8291 (WebCore::XMLHttpRequest::XMLHttpRequest):
8292 (WebCore::XMLHttpRequest::~XMLHttpRequest):
8293 (WebCore::XMLHttpRequest::associatedFrame):
8294 (WebCore::XMLHttpRequest::responseXML):
8295 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
8296 (WebCore::XMLHttpRequest::initSend):
8297 (WebCore::XMLHttpRequest::send):
8298 (WebCore::XMLHttpRequest::createRequest):
8299 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8300 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8301 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8302 (WebCore::XMLHttpRequest::loadRequestSynchronously):
8303 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
8304 (WebCore::XMLHttpRequest::dropProtection):
8305 (WebCore::XMLHttpRequest::setRequestHeader):
8306 (WebCore::XMLHttpRequest::processSyncLoadResults):
8307 (WebCore::XMLHttpRequest::didFinishLoading):
8308 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
8309 (WebCore::XMLHttpRequest::willSendRequest):
8310 (WebCore::XMLHttpRequest::accessControlCheck):
8311 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8312 (WebCore::XMLHttpRequest::stop):
8313 (WebCore::XMLHttpRequest::contextDestroyed):
8314 * xml/XMLHttpRequest.h:
8315 Move activity tracking to a new ActiveDOMObject class.
8316
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +000083172008-10-16 David Hyatt <hyatt@apple.com>
8318
hyatt@apple.comd4925582008-10-17 01:20:46 +00008319 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
8320 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
8321 did though. This patch removes the renderer argument and the Element subclass shadow implementation
8322 so that confusion like this can't occur again.
8323
8324 Reviewed by Oliver Hunt
8325
8326 * dom/Element.cpp:
8327 * dom/Element.h:
8328 * dom/Node.cpp:
8329 (WebCore::Node::createRendererIfNeeded):
8330 (WebCore::Node::styleForRenderer):
8331 * dom/Node.h:
8332 * html/HTMLOptGroupElement.cpp:
8333 (WebCore::HTMLOptGroupElement::attach):
8334 * html/HTMLOptionElement.cpp:
8335 (WebCore::HTMLOptionElement::attach):
8336 * svg/SVGClipPathElement.cpp:
8337 (WebCore::SVGClipPathElement::canvasResource):
8338 * svg/SVGFEDiffuseLightingElement.cpp:
8339 (WebCore::SVGFEDiffuseLightingElement::build):
8340 * svg/SVGFEFloodElement.cpp:
8341 (WebCore::SVGFEFloodElement::build):
8342 * svg/SVGFESpecularLightingElement.cpp:
8343 (WebCore::SVGFESpecularLightingElement::build):
8344 * svg/SVGGradientElement.cpp:
8345 (WebCore::SVGGradientElement::buildStops):
8346 * svg/SVGUseElement.cpp:
8347 (WebCore::SVGUseElement::attachShadowTree):
8348
83492008-10-16 David Hyatt <hyatt@apple.com>
8350
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +00008351 https://bugs.webkit.org/attachment.cgi?bugid=21647
8352
8353 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
8354 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
8355 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
8356 to use the arena.
8357
8358 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
8359 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
8360 arena also limited the usefulness.
8361
8362 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
8363 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
8364 manual ref/deref far outweigh keeping them in the arena.
8365
8366 Reviewed by Adam Roben
8367
8368 * css/CSSStyleSelector.cpp:
8369 (WebCore::CSSStyleSelector::CSSStyleSelector):
8370 (WebCore::CSSStyleSelector::~CSSStyleSelector):
8371 (WebCore::CSSStyleSelector::styleForElement):
8372 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
8373 (WebCore::CSSStyleSelector::pseudoStyleForElement):
8374 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
8375 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
8376
8377 (WebCore::CSSStyleSelector::updateFont):
8378 (WebCore::CSSStyleSelector::checkSelector):
8379 (WebCore::CSSStyleSelector::applyProperty):
8380 (WebCore::CSSStyleSelector::mapFillSize):
8381 (WebCore::CSSStyleSelector::mapFillXPosition):
8382 (WebCore::CSSStyleSelector::mapFillYPosition):
8383 * css/CSSStyleSelector.h:
8384 (WebCore::CSSStyleSelector::style):
8385 * dom/Document.cpp:
8386 (WebCore::Document::recalcStyle):
8387 * dom/Element.cpp:
8388 (WebCore::Element::styleForRenderer):
8389 (WebCore::Element::recalcStyle):
8390 (WebCore::Element::computedStyle):
8391 * dom/Element.h:
8392 * dom/ElementRareData.h:
8393 (WebCore::ElementRareData::ElementRareData):
8394 (WebCore::ElementRareData::resetComputedStyle):
8395 * dom/Node.cpp:
8396 (WebCore::Node::diff):
8397 (WebCore::Node::createRendererIfNeeded):
8398 (WebCore::Node::styleForRenderer):
8399 (WebCore::Node::setRenderStyle):
8400 * dom/Node.h:
8401 * html/CanvasRenderingContext2D.cpp:
8402 (WebCore::CanvasRenderingContext2D::setFont):
8403 * html/HTMLOptGroupElement.cpp:
8404 (WebCore::HTMLOptGroupElement::attach):
8405 (WebCore::HTMLOptGroupElement::detach):
8406 (WebCore::HTMLOptGroupElement::setRenderStyle):
8407 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
8408 * html/HTMLOptGroupElement.h:
8409 * html/HTMLOptionElement.cpp:
8410 (WebCore::HTMLOptionElement::attach):
8411 (WebCore::HTMLOptionElement::detach):
8412 (WebCore::HTMLOptionElement::setRenderStyle):
8413 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
8414 * html/HTMLOptionElement.h:
8415 * page/animation/AnimationBase.h:
8416 (WebCore::AnimationBase::animate):
8417 * page/animation/AnimationController.cpp:
8418 (WebCore::AnimationController::updateAnimations):
8419 * page/animation/AnimationController.h:
8420 * page/animation/CompositeAnimation.cpp:
8421 (WebCore::CompositeAnimationPrivate::updateTransitions):
8422 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
8423 (WebCore::CompositeAnimationPrivate::animate):
8424 (WebCore::CompositeAnimation::animate):
8425 * page/animation/CompositeAnimation.h:
8426 * page/animation/ImplicitAnimation.cpp:
8427 (WebCore::ImplicitAnimation::ImplicitAnimation):
8428 (WebCore::ImplicitAnimation::~ImplicitAnimation):
8429 (WebCore::ImplicitAnimation::animate):
8430 (WebCore::ImplicitAnimation::reset):
8431 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
8432 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
8433 * page/animation/ImplicitAnimation.h:
8434 (WebCore::ImplicitAnimation::create):
8435 * page/animation/KeyframeAnimation.cpp:
8436 (WebCore::KeyframeAnimation::KeyframeAnimation):
8437 (WebCore::KeyframeAnimation::~KeyframeAnimation):
8438 (WebCore::KeyframeAnimation::animate):
8439 (WebCore::KeyframeAnimation::validateTransformFunctionList):
8440 * page/animation/KeyframeAnimation.h:
8441 (WebCore::KeyframeAnimation::create):
8442 (WebCore::KeyframeAnimation::unanimatedStyle):
8443 * rendering/InlineTextBox.cpp:
8444 (WebCore::InlineTextBox::paint):
8445 * rendering/MediaControlElements.cpp:
8446 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
8447 (WebCore::MediaControlInputElement::MediaControlInputElement):
8448 * rendering/RenderBlock.cpp:
8449 (WebCore::RenderBlock::styleDidChange):
8450 (WebCore::RenderBlock::updateFirstLetter):
8451 * rendering/RenderContainer.cpp:
8452 (WebCore::RenderContainer::addChild):
8453 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
8454 * rendering/RenderFileUploadControl.cpp:
8455 (WebCore::RenderFileUploadControl::updateFromElement):
8456 (WebCore::RenderFileUploadControl::createButtonStyle):
8457 * rendering/RenderFileUploadControl.h:
8458 * rendering/RenderFlow.cpp:
8459 (WebCore::RenderFlow::createAnonymousFlow):
8460 * rendering/RenderFlow.h:
8461 * rendering/RenderInline.cpp:
8462 (WebCore::RenderInline::addChildToFlow):
8463 * rendering/RenderLayer.cpp:
8464 (WebCore::RenderLayer::updateScrollCornerStyle):
8465 (WebCore::RenderLayer::updateResizerStyle):
8466 (WebCore::RenderLayer::updateReflectionStyle):
8467 * rendering/RenderListItem.cpp:
8468 (WebCore::RenderListItem::styleDidChange):
8469 * rendering/RenderMedia.cpp:
8470 (WebCore::RenderMedia::createPanel):
8471 (WebCore::RenderMedia::createTimeDisplay):
8472 (WebCore::RenderMedia::changeOpacity):
8473 * rendering/RenderObject.cpp:
8474 (WebCore::RenderObject::selectionBackgroundColor):
8475 (WebCore::RenderObject::selectionForegroundColor):
8476 (WebCore::RenderObject::createAnonymousBlock):
8477 (WebCore::RenderObject::setAnimatableStyle):
8478 (WebCore::RenderObject::setStyle):
8479 (WebCore::RenderObject::setStyleInternal):
8480 (WebCore::RenderObject::arenaDelete):
8481 (WebCore::RenderObject::firstLineStyle):
8482 (WebCore::RenderObject::getPseudoStyle):
8483 * rendering/RenderObject.h:
8484 (WebCore::RenderObject::style):
8485 * rendering/RenderSVGBlock.cpp:
8486 (WebCore::RenderSVGBlock::setStyle):
8487 * rendering/RenderSVGBlock.h:
8488 * rendering/RenderScrollbar.cpp:
8489 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
8490 (WebCore::RenderScrollbar::updateScrollbarPart):
8491 * rendering/RenderScrollbar.h:
8492 * rendering/RenderSlider.cpp:
8493 (WebCore::RenderSlider::styleDidChange):
8494 (WebCore::RenderSlider::createThumbStyle):
8495 (WebCore::RenderSlider::updateFromElement):
8496 * rendering/RenderSlider.h:
8497 * rendering/RenderTable.cpp:
8498 (WebCore::RenderTable::addChild):
8499 * rendering/RenderTableRow.cpp:
8500 (WebCore::RenderTableRow::addChild):
8501 * rendering/RenderTableSection.cpp:
8502 (WebCore::RenderTableSection::addChild):
8503 * rendering/RenderTextControl.cpp:
8504 (WebCore::RenderTextControl::styleDidChange):
8505 (WebCore::RenderTextControl::createInnerBlockStyle):
8506 (WebCore::RenderTextControl::createInnerTextStyle):
8507 (WebCore::RenderTextControl::createResultsButtonStyle):
8508 (WebCore::RenderTextControl::createCancelButtonStyle):
8509 (WebCore::RenderTextControl::createSubtreeIfNeeded):
8510 (WebCore::RenderTextControl::updatePlaceholderVisibility):
8511 * rendering/RenderTextControl.h:
8512 * rendering/TextControlInnerElements.cpp:
8513 (WebCore::TextControlInnerElement::attachInnerElement):
8514 * rendering/TextControlInnerElements.h:
8515 * rendering/style/KeyframeList.cpp:
8516 (WebCore::KeyframeList::clear):
8517 (WebCore::KeyframeList::operator==):
8518 (WebCore::KeyframeList::insert):
8519 * rendering/style/KeyframeList.h:
8520 (WebCore::KeyframeValue::KeyframeValue):
8521 (WebCore::KeyframeValue::~KeyframeValue):
8522 (WebCore::KeyframeValue::key):
8523 (WebCore::KeyframeValue::style):
8524 * rendering/style/RenderStyle.cpp:
8525 (WebCore::defaultStyle):
8526 (WebCore::RenderStyle::create):
8527 (WebCore::RenderStyle::createDefaultStyle):
8528 (WebCore::RenderStyle::clone):
8529 (WebCore::RenderStyle::RenderStyle):
8530 (WebCore::RenderStyle::getCachedPseudoStyle):
8531 (WebCore::RenderStyle::addCachedPseudoStyle):
8532 * rendering/style/RenderStyle.h:
8533 (WebCore::):
8534 (WebCore::InheritedFlags::operator!=):
8535 * svg/SVGClipPathElement.cpp:
8536 (WebCore::SVGClipPathElement::canvasResource):
8537 * svg/SVGGradientElement.cpp:
8538 (WebCore::SVGGradientElement::buildStops):
8539 * svg/SVGStyledElement.cpp:
8540 (WebCore::SVGStyledElement::resolveStyle):
8541 * svg/SVGStyledElement.h:
8542 * svg/SVGUseElement.cpp:
8543 (WebCore::SVGUseElement::recalcStyle):
8544 (WebCore::SVGUseElement::attachShadowTree):
8545
andersca@apple.com2c7cec42008-10-16 19:08:19 +000085462008-10-16 Kenneth Russell <kenneth.russell@sun.com>
8547
8548 Reviewed and landed by Anders Carlsson.
8549
8550 https://bugs.webkit.org/show_bug.cgi?id=21587
8551 NPN_PluginThreadAsyncCall does not work properly
8552
8553 * plugins/PluginMainThreadScheduler.cpp:
8554 (WebCore::PluginMainThreadScheduler::dispatchCalls):
8555 Make sure to set m_callPending to false once the queue has been cleared.
8556
ap@webkit.orga89bd1e2008-10-16 08:00:53 +000085572008-10-15 Alexey Proskuryakov <ap@webkit.org>
8558
8559 Reviewed by Darin Adler.
8560
8561 https://bugs.webkit.org/show_bug.cgi?id=21609
8562 Make MessagePorts protect their peers across heaps
8563
8564 * dom/MessagePort.cpp:
8565 (WebCore::MessagePort::MessagePort):
8566 * dom/MessagePort.h:
8567 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
8568 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
8569 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
8570 means that the implementation object knows about JS bindings - but it is not possible to
8571 access JS wrappers from another heap/thread.
8572
8573 * bindings/js/JSDOMBinding.cpp:
8574 (WebCore::markCrossHeapDependentObjectsForDocument):
8575 * bindings/js/JSDOMBinding.h:
8576 * bindings/js/JSDOMWindowBase.cpp:
8577 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
8578 * bindings/js/JSDOMWindowBase.h:
8579 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
8580 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
8581 as long as its entangled port is accessible itself.
8582
jhoneycutt@apple.com2edeb802008-10-16 04:56:46 +000085832008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
8584
8585 Remove unneeded check of whether a Page defers loading before running it
8586 in a modal dialog.
8587
8588 No test possible.
8589
8590 Reviewed by Tim Hatcher.
8591
8592 * page/Chrome.cpp:
8593
ggaren@apple.com9f980342008-10-15 23:33:07 +000085942008-10-15 Geoffrey Garen <ggaren@apple.com>
8595
8596 Reviewed by Cameron Zwarich.
8597
8598 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
8599 Start the debugger without reloading the inspected page
8600
8601 * WebCore.base.exp: New symbols.
8602
8603 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
8604 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
8605 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
8606
8607 * inspector/InspectorController.cpp:
8608 (WebCore::InspectorController::setWindowVisible):
8609 (WebCore::InspectorController::windowScriptObjectAvailable):
8610 (WebCore::InspectorController::startDebugging):
8611 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
8612 to startDebugging, and changed its behavior to match.
8613
8614 * inspector/JavaScriptDebugListener.h:
8615 * inspector/JavaScriptDebugServer.cpp:
8616 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
8617 (WebCore::JavaScriptDebugServer::addListener):
8618 (WebCore::JavaScriptDebugServer::removeListener):
8619 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
8620 (WebCore::JavaScriptDebugServer::willAddFirstListener):
8621 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
8622 * inspector/JavaScriptDebugServer.h: Refactored the
8623 JavaScriptDebugServer to centralize handling of adding the first listener
8624 and removing the last. Then, added a feature to recompile all JS functions
8625 in these cases. This allows us to dynamically add and remove hooks like
8626 the debugger hooks without reloading the page.
8627
8628 * inspector/front-end/ScriptsPanel.js:
8629 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
8630 startDebugging rename. Removed all UI that claimed that starting the
8631 debugger would reload the page.
8632
adele@apple.com40c50522008-10-15 22:10:25 +000086332008-10-15 Adele Peterson <adele@apple.com>
8634
8635 Attempt to fix the Tiger build.
8636
8637 * platform/network/mac/ResourceHandleMac.mm:
8638
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +000086392008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
8640
zecke@webkit.orgc588fe72008-10-15 22:22:38 +00008641 Build fix attempt.
8642
8643 Try to fix static/non-static declaration of g_string_append_uri_escape
8644 by renaming that string. Another look needs to be taken.
8645
8646 * platform/gtk/guriescape.c:
8647 (_webcore_g_string_append_uri_escaped):
8648 (_webcore_g_uri_escape_string):
8649
86502008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
8651
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +00008652 Build fix.
8653
8654 m_animatingImageType is gone.
8655
8656 * platform/graphics/cairo/ImageCairo.cpp:
8657 (WebCore::BitmapImage::BitmapImage):
8658
zecke@webkit.org34a153a2008-10-15 22:01:31 +000086592008-10-15 Jeff Cook <cookiecaper@gmail.com>
8660
8661 Reviewed by Holger Freyther.
8662
8663 Stop SIGSEGV when leaving a page with a Flash object by reordering
8664 window destruction and plugin stop.
8665
8666 See https://bugs.webkit.org/show_bug.cgi?id=20779
8667
8668 * plugins/gtk/PluginViewGtk.cpp:
8669 (WebCore::PluginView::stop):
8670
adele@apple.com555df922008-10-15 21:53:46 +000086712008-10-15 Adele Peterson <adele@apple.com>
8672
8673 Reviewed by Sam Weinig.
8674
8675 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
8676
8677 * platform/network/ResourceHandle.h:
8678 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
8679 * platform/network/mac/ResourceHandleMac.mm:
8680 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
8681 (WebCore::ResourceHandle::start):
8682 (WebCore::ResourceHandle::cancel):
8683 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
8684 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
8685 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
8686 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
8687
pkasting@chromium.orgaf85ed22008-10-15 21:11:23 +000086882008-10-15 Peter Kasting <pkasting@google.com>
8689
8690 Reviewed by David Hyatt.
8691
8692 Qt build bustage fix.
8693
8694 * platform/graphics/qt/StillImageQt.h:
8695 (WebCore::StillImage::destroyDecodedData):
8696
hyatt@apple.com8907c882008-10-15 21:06:22 +000086972008-10-15 David Hyatt <hyatt@apple.com>
8698
8699 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
8700
8701 Reviewed by Mark Rowe
8702
8703 * rendering/RenderScrollbar.cpp:
8704 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
8705 (WebCore::RenderScrollbar::updateScrollbarPart):
8706
pkasting@chromium.orge8a5a6b2008-10-15 20:38:13 +000087072008-10-15 Peter Kasting <pkasting@google.com>
8708
8709 Reviewed by David Hyatt.
8710
8711 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
8712 Account for paint and timer lag when animating images. Also pretend
8713 that images whose animations were paused (by becoming invisible)
8714 continued to animate, by "catching up" to the correct frame when they're
8715 shown again.
8716
8717 * platform/graphics/BitmapImage.cpp:
8718 (WebCore::BitmapImage::BitmapImage):
8719 (WebCore::BitmapImage::destroyDecodedData):
8720 (WebCore::BitmapImage::cacheFrame):
8721 (WebCore::BitmapImage::frameIsCompleteAtIndex):
8722 (WebCore::BitmapImage::frameDurationAtIndex):
8723 (WebCore::BitmapImage::frameHasAlphaAtIndex):
8724 (WebCore::BitmapImage::repetitionCount):
8725 (WebCore::BitmapImage::shouldAnimate):
8726 (WebCore::BitmapImage::startAnimation):
8727 (WebCore::BitmapImage::resetAnimation):
8728 (WebCore::BitmapImage::advanceAnimation):
8729 (WebCore::BitmapImage::internalAdvanceAnimation):
8730 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
8731 * platform/graphics/BitmapImage.h:
8732 (WebCore::FrameData::FrameData):
8733 (WebCore::BitmapImage::):
8734 * platform/graphics/GeneratedImage.h:
8735 (WebCore::GeneratedImage::destroyDecodedData):
8736 * platform/graphics/Image.h:
8737 * platform/graphics/cairo/ImageCairo.cpp:
8738 (WebCore::FrameData::clear):
8739 (WebCore::BitmapImage::BitmapImage):
8740 (WebCore::BitmapImage::draw):
8741 * platform/graphics/cg/ImageCG.cpp:
8742 (WebCore::FrameData::clear):
8743 (WebCore::BitmapImage::BitmapImage):
8744 (WebCore::BitmapImage::draw):
8745 * platform/graphics/cg/PDFDocumentImage.h:
8746 (WebCore::PDFDocumentImage::destroyDecodedData):
8747 * platform/graphics/qt/ImageQt.cpp:
8748 (WebCore::FrameData::clear):
8749 (WebCore::BitmapImage::draw):
8750 * platform/graphics/wx/ImageWx.cpp:
8751 (WebCore::FrameData::clear):
8752 (WebCore::BitmapImage::draw):
8753 * svg/graphics/SVGImage.h:
8754 (WebCore::SVGImage::destroyDecodedData):
8755
bdakin@apple.comcf22dba2008-10-15 20:32:43 +000087562008-10-14 Maxime Britto <britto@apple.com>
8757
8758 Reviewed by Darin Adler, tweaked and landed by Beth.
8759
8760 * WebCore.base.exp: Exposes two functions to be able to create a
8761 selection from a point on the screen. Also exposes the new
8762 TextIterator::currentNode function.
8763 * WebCore/editing/TextIterator.cpp:
8764 (TextIterator::currentNode) : New function that returns the current
8765 text node or NULL if there is no text node.
8766
zecke@webkit.orgc6012912008-10-15 20:18:31 +000087672008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
8768
8769 Reviewed by Holger Freyther.
8770
zecke@webkit.orgbc692f72008-10-15 20:53:02 +00008771 http://bugs.webkit.org/show_bug.cgi?id=21211
8772 [CURL] Upload doesn't work because cancel is called
8773
8774 FormDataStream::read returns 0 when retrieving data from the form
8775 fails, but also when there is no more data to send. This means that
8776 ResourceHandleManager::cancel is always called even when the data was
8777 successfully sent.
8778
8779 Check if there are more elements in the form before calling
8780 FormDataStream::read.
8781
8782 * platform/network/curl/FormDataStreamCurl.cpp:
8783 (WebCore::FormDataStream::hasMoreElements):
8784 * platform/network/curl/FormDataStreamCurl.h:
8785 * platform/network/curl/ResourceHandleManager.cpp:
8786 (WebCore::readCallback):
8787
87882008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
8789
8790 Reviewed by Holger Freyther.
8791
zecke@webkit.orgc6012912008-10-15 20:18:31 +00008792 http://bugs.webkit.org/show_bug.cgi?id=20664
8793 [GTK] File names are not always encodable in UTF-8
8794
8795 On Linux file names are just raw data and cannot always be directly
8796 encoded in UTF-8 or in any other encodings, so we escape them before
8797 storing the file name in a String and unescape them before passing
8798 them to native functions handling files.
8799
8800 * GNUmakefile.am:
8801 * platform/FileSystem.h:
8802 * platform/gtk/FileChooserGtk.cpp:
8803 (WebCore::stringByAdoptingFileSystemRepresentation):
8804 (WebCore::FileChooser::basenameForWidth):
8805 * platform/gtk/FileSystemGtk.cpp:
8806 (WebCore::filenameToString):
8807 (WebCore::filenameFromString):
8808 (WebCore::filenameForDisplay):
8809 (WebCore::fileExists):
8810 (WebCore::deleteFile):
8811 (WebCore::deleteEmptyDirectory):
8812 (WebCore::getFileSize):
8813 (WebCore::getFileModificationTime):
8814 (WebCore::makeAllDirectories):
8815 (WebCore::homeDirectoryPath):
8816 (WebCore::pathGetFileName):
8817 (WebCore::listDirectory):
8818 * platform/gtk/KURLGtk.cpp:
8819 (WebCore::KURL::fileSystemPath):
8820 * platform/gtk/SharedBufferGtk.cpp:
8821 (WebCore::SharedBuffer::createWithContentsOfFile):
8822 * platform/gtk/guriescape.c: Added.
8823 (is_valid):
8824 (gunichar_ok):
8825 (g_string_append_uri_escaped):
8826 (_webcore_g_uri_escape_string):
8827 * platform/gtk/guriescape.h: Added.
8828
darin@apple.come0c926d2008-10-15 17:02:02 +000088292008-10-15 Dirk Schulze <vbs85@gmx.de>
8830
8831 Reviewed by Eric Seidel.
8832
8833 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
8834 Moved gradient spread method out of SVG into the GraphicsContext.
8835
8836 * platform/graphics/GraphicsContext.cpp:
8837 (WebCore::GraphicsContext::spreadMethod):
8838 (WebCore::GraphicsContext::setSpreadMethod):
8839 * platform/graphics/GraphicsContext.h:
8840 (WebCore::):
8841 * platform/graphics/GraphicsContextPrivate.h:
8842 * platform/graphics/cairo/GraphicsContextCairo.cpp:
8843 (WebCore::applySpreadMethod):
8844 (WebCore::GraphicsContext::fillPath):
8845 (WebCore::GraphicsContext::strokePath):
8846 * platform/graphics/qt/GraphicsContextQt.cpp:
8847 (WebCore::applySpreadMethod):
8848 (WebCore::GraphicsContext::fillPath):
8849 (WebCore::GraphicsContext::strokePath):
8850 * svg/GradientAttributes.h:
8851 (WebCore::GradientAttributes::GradientAttributes):
8852 (WebCore::GradientAttributes::spreadMethod):
8853 (WebCore::GradientAttributes::setSpreadMethod):
8854 * svg/SVGGradientElement.cpp:
8855 (WebCore::SVGGradientElement::parseMappedAttribute):
8856 * svg/SVGGradientElement.h:
8857 * svg/SVGLinearGradientElement.cpp:
8858 (WebCore::SVGLinearGradientElement::collectGradientProperties):
8859 * svg/SVGRadialGradientElement.cpp:
8860 (WebCore::SVGRadialGradientElement::collectGradientProperties):
8861 * svg/graphics/SVGPaintServerGradient.cpp:
8862 (WebCore::operator<<):
8863 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
8864 (WebCore::SVGPaintServerGradient::spreadMethod):
8865 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
8866 (WebCore::SVGPaintServerGradient::externalRepresentation):
8867 * svg/graphics/SVGPaintServerGradient.h:
8868 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
8869 (WebCore::SVGPaintServerGradient::setup):
8870 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
8871 (WebCore::SVGPaintServerGradient::setup):
8872
darin@chromium.org7a0c3c92008-10-15 05:22:03 +000088732008-10-09 Darin Fisher <darin@chromium.org>
8874
8875 Reviewed by Sam Weinig.
8876
8877 Make pan scrolling a platform configurable option
8878 https://bugs.webkit.org/show_bug.cgi?id=21515
8879
8880 * page/EventHandler.cpp:
8881 (WebCore::EventHandler::handleAutoscroll):
8882 (WebCore::EventHandler::autoscrollTimerFired):
8883 (WebCore::EventHandler::stopAutoscrollTimer):
8884 (WebCore::EventHandler::handleMousePressEvent):
8885 (WebCore::EventHandler::keyEvent):
8886
darin@chromium.org5a0619c2008-10-15 05:15:47 +000088872008-10-10 Darin Fisher <darin@chromium.org>
8888
8889 Reviewed by Darin Adler.
8890
8891 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
8892 https://bugs.webkit.org/show_bug.cgi?id=21511
8893
8894 * loader/FTPDirectoryDocument.cpp:
8895 * loader/FTPDirectoryParser.cpp:
8896 * loader/FrameLoader.cpp:
8897 (WebCore::FrameLoader::finishedLoadingDocument):
8898 * platform/ContextMenuItem.h:
8899 * platform/Cursor.h:
8900 * platform/DragData.h:
8901 * platform/DragImage.h:
8902 * platform/Pasteboard.h:
8903 * platform/PlatformKeyboardEvent.h:
8904 (WebCore::PlatformKeyboardEvent::isSystemKey):
8905 * platform/PlatformMenuDescription.h:
8906 * platform/PlatformMouseEvent.h:
8907 * platform/PlatformWheelEvent.h:
8908 * platform/PopupMenu.h:
8909 * platform/ScrollView.h:
8910 * platform/Widget.h:
8911 * platform/network/NetworkStateNotifier.h:
8912
cmarrin@apple.com78e50e82008-10-14 21:31:40 +000089132008-10-14 Chris Marrin <cmarrin@apple.com>
8914
8915 Reviewed by Darin Adler.
8916
8917 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
8918 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
8919
8920 Test: css3/change-keyframes.html
8921
8922 * css/WebKitCSSKeyframesRule.cpp:
8923 (WebCore::WebKitCSSKeyframesRule::append):
8924 (WebCore::WebKitCSSKeyframesRule::deleteRule):
8925
hyatt@apple.combf26cc02008-10-14 20:35:36 +000089262008-10-14 David Hyatt <hyatt@apple.com>
8927
8928 https://bugs.webkit.org/show_bug.cgi?id=21595
8929
8930 Clean up background and overflow propagation from the body to the viewport. Make it match the
8931 latest CSS2.1 spec thinking.
8932
8933 Reviewed by Adam Roben
8934
8935 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
8936 (available at http://simon.html5.org/test/css/magic-body/).
8937
8938 * dom/Document.cpp:
8939 (WebCore::Document::body):
8940 * page/FrameView.cpp:
8941 (WebCore::FrameView::layout):
8942 * rendering/RenderBox.cpp:
8943 (WebCore::RenderBox::styleDidChange):
8944 (WebCore::RenderBox::paintRootBoxDecorations):
8945 (WebCore::RenderBox::paintBoxDecorations):
8946 (WebCore::RenderBox::repaintLayerRectsForImage):
8947
weinig@apple.com91cdcd52008-10-14 19:55:12 +000089482008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
8949
8950 Reviewed and landed by Sam Weinig.
8951
8952 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
8953 remove NSResolver code, leaving only checking for selectors that need
8954 NS resolution and throwing a coresponding error.
8955
8956 * WebCore.pro:
8957 * WebCore.vcproj/WebCore.vcproj:
8958 * WebCore.xcodeproj/project.pbxproj:
8959 * WebCoreSources.bkl:
8960 * bindings/js/JSDocumentCustom.cpp:
8961 * bindings/js/JSDocumentFragmentCustom.cpp:
8962 * bindings/js/JSElementCustom.cpp:
8963 * bindings/js/JSNSResolver.cpp: Removed.
8964 * bindings/js/JSNSResolver.h: Removed.
8965 * dom/Document.idl:
8966 * dom/DocumentFragment.idl:
8967 * dom/Element.idl:
8968 * dom/NSResolver.h: Removed.
8969 * dom/NSResolver.idl: Removed.
8970 * dom/Node.h:
8971 * dom/Node.cpp:
8972 (WebCore::forEachTagSelector):
8973 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
8974 (WebCore::selectorNeedsNamespaceResolution):
8975 (WebCore::Node::querySelector):
8976 (WebCore::Node::querySelectorAll):
8977
darin@apple.com2b4eb8f2008-10-14 19:19:33 +000089782008-10-14 Darin Adler <darin@apple.com>
8979
8980 Reviewed by Sam Weinig (all but the FormDataListItem rename).
8981
8982 - https://bugs.webkit.org/show_bug.cgi?id=21593
8983 Bug 21593: add multiple-file support to HTMLFormElement
8984
8985 * html/FormDataList.cpp: Removed appendFile since it's now inline.
8986 Also took incorrect old copyrights off of this file that are left
8987 over from when it was split.
8988 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
8989 made it a member of FormDataList. Changed it to hold a File object
8990 instead of a path. And made its data members private. Changed
8991 FormDataList::appendFile accordingly.
8992
8993 * html/HTMLFormElement.cpp:
8994 (WebCore::HTMLFormElement::formData): Updated for above changes.
8995 Removed the code that special-cases HTMLInputElement, because now
8996 the FormDataListItem has everything we need. And if there are
8997 multiple files, we'll get multiple list items for them.
8998
8999 * html/HTMLInputElement.cpp:
9000 (WebCore::HTMLInputElement::appendFormData): Changed the code for
9001 <input type=file> to use File objects instead of path strings and
9002 also to append multiple files if the file list has them.
9003
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000090042008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9005
9006 Reviewed by Simon.
vestbo@webkit.org61042592008-10-14 12:50:51 +00009007
9008 Fix QtWebKit scrollbar painting errors
9009
9010 * platform/qt/ScrollbarThemeQt.cpp:
9011 (WebCore::ScrollbarThemeQt::paint):
9012 (WebCore::ScrollbarThemeQt::paintScrollCorner):
9013
90142008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9015
9016 Reviewed by Simon.
vestbo@webkit.org03ca7582008-10-14 08:38:41 +00009017
vestbo@webkit.org084e5f62008-10-14 08:43:01 +00009018 Fix scrollbar arrows for horizontal scrollbars
9019
9020 * platform/qt/ScrollbarThemeQt.cpp:
9021 (WebCore::styleOptionSlider):
9022
90232008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
9024
9025 Reviewed by Simon.
9026
vestbo@webkit.org03ca7582008-10-14 08:38:41 +00009027 Use style-painter to draw scrollbars in ScrollbarThemeQt
9028
9029 This has the benefit of setting up the painter properly without
9030 antialiasing and saving and restoring the brush. It also ensures
9031 that we use the style of the QWebView over the QApplication style
9032 if possible.
9033
9034 * platform/qt/RenderThemeQt.cpp:
9035 (WebCore::StylePainter::StylePainter):
9036 (WebCore::StylePainter::init):
9037 * platform/qt/RenderThemeQt.h:
9038 * platform/qt/ScrollbarThemeQt.cpp:
9039 (WebCore::ScrollbarThemeQt::paint):
9040
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +000090412008-10-13 David Hyatt <hyatt@apple.com>
9042
hyatt@apple.com2768a4b2008-10-14 06:45:52 +00009043 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
9044 for how to add support for the rest.
9045
9046 Reviewed by Oliver Hunt
9047
9048 * page/animation/AnimationBase.cpp:
9049 (WebCore::ensurePropertyMap):
9050 * rendering/style/RenderStyle.h:
9051 (WebCore::RenderStyle::fillOpacity):
9052 (WebCore::RenderStyle::setFillOpacity):
9053 (WebCore::RenderStyle::strokeOpacity):
9054 (WebCore::RenderStyle::setStrokeOpacity):
9055 (WebCore::RenderStyle::floodOpacity):
9056 (WebCore::RenderStyle::setFloodOpacity):
9057
90582008-10-13 David Hyatt <hyatt@apple.com>
9059
hyatt@apple.comda1f6322008-10-14 06:29:36 +00009060 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
9061
9062 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
9063 implements paintTrackBackground so that when the thumb is not present the track still paints.
9064
9065 Reviewed by Oliver Hunt
9066
9067 * platform/ScrollbarThemeComposite.cpp:
9068 (WebCore::ScrollbarThemeComposite::paint):
9069 * platform/win/ScrollbarThemeWin.cpp:
9070 (WebCore::ScrollbarThemeWin::paintTrackBackground):
9071 * platform/win/ScrollbarThemeWin.h:
9072
90732008-10-13 David Hyatt <hyatt@apple.com>
9074
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +00009075 Fix over-invalidation of native scrollbars.
9076
9077 Reviewed by Oliver Hunt
9078
9079 * platform/Scrollbar.h:
9080 (WebCore::Scrollbar::styleChanged):
9081 * platform/mac/ScrollbarThemeMac.mm:
9082 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
9083 * rendering/RenderScrollbar.cpp:
9084 (WebCore::RenderScrollbar::styleChanged):
9085
alp@webkit.orga3417882008-10-14 04:14:38 +000090862008-10-13 Alp Toker <alp@nuanti.com>
9087
9088 Fix autotools dist build target by listing recently added header
9089 files only. Not reviewed.
9090
9091 * GNUmakefile.am:
9092
mrowe@apple.com5c9cb4d2008-10-14 02:28:46 +000090932008-10-13 Mark Rowe <mrowe@apple.com>
9094
9095 Reviewed by Brady Eidson.
9096
9097 Don't run a SQLite query on every iteration of the sync thread when the query
9098 will touch a large portion of the icon database while performing no useful work.
9099
9100 * loader/icon/IconDatabase.cpp:
9101 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
9102 we modified the database.
9103 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
9104 unless we've been asked to prune any dangling pageURLs that we find.
9105
mjs@apple.com268962e2008-10-14 01:21:43 +000091062008-10-13 Maciej Stachowiak <mjs@apple.com>
9107
9108 Rubber stamped by Mark Rowe.
9109
9110 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
9111
9112 * Configurations/DebugRelease.xcconfig:
9113
hyatt@apple.comc3ed34a2008-10-14 00:59:46 +000091142008-10-13 David Hyatt <hyatt@apple.com>
9115
9116 Make dropdown lists on Windows work with CSS custom scrollbars.
9117
9118 Reviewed by Adele
9119
9120 * platform/PopupMenu.h:
9121 (WebCore::PopupMenu::scrollbarCornerPresent):
9122 * platform/PopupMenuClient.h:
9123 * platform/win/PopupMenuWin.cpp:
9124 (WebCore::PopupMenu::show):
9125 * rendering/RenderMenuList.cpp:
9126 (WebCore::RenderMenuList::createScrollbar):
9127 * rendering/RenderMenuList.h:
9128 * rendering/RenderTextControl.cpp:
9129 (WebCore::RenderTextControl::createScrollbar):
9130 * rendering/RenderTextControl.h:
9131
cfleizach@apple.com12468c12008-10-13 22:48:19 +000091322008-10-13 Chris Fleizach <cfleizach@apple.com>
9133
9134 Reviewed by Beth Dakin.
9135
9136 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
9137
9138 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
9139 The position of image map links was being reported incorrectly and the parent-chain
9140 hierarchy for image map links was incorrect because image map links did not have a reference
9141 to their parent image.
9142
9143 Test: accessibility/document-links.html
9144
9145 * page/AccessibilityImageMapLink.cpp:
9146 (WebCore::AccessibilityImageMapLink::parentObject):
9147 (WebCore::AccessibilityImageMapLink::actionElement):
9148 (WebCore::AccessibilityImageMapLink::elementRect):
9149 * page/AccessibilityImageMapLink.h:
9150 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
9151 (WebCore::AccessibilityImageMapLink::setParent):
9152 * page/AccessibilityObject.cpp:
9153 * page/AccessibilityObject.h:
9154 * page/AccessibilityRenderObject.cpp:
9155 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
9156 (WebCore::AccessibilityRenderObject::getDocumentLinks):
9157 (WebCore::AccessibilityRenderObject::addChildren):
9158 * page/AccessibilityRenderObject.h:
9159 * page/mac/AccessibilityObjectWrapper.mm:
9160 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
9161
hyatt@apple.com59696ac2008-10-13 21:53:07 +000091622008-10-13 David Hyatt <hyatt@apple.com>
9163
hyatt@apple.com456dd872008-10-13 22:42:59 +00009164 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
9165 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
9166 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
9167
9168 Reviewed by Tim Hatcher
9169
9170 Added scrollbars/listbox-scrollbar-combinations.html
9171
9172 * rendering/RenderListBox.cpp:
9173 (WebCore::RenderListBox::~RenderListBox):
9174 (WebCore::RenderListBox::updateFromElement):
9175 (WebCore::RenderListBox::createScrollbar):
9176 (WebCore::RenderListBox::destroyScrollbar):
9177 (WebCore::RenderListBox::setHasVerticalScrollbar):
9178 * rendering/RenderListBox.h:
9179
91802008-10-13 David Hyatt <hyatt@apple.com>
9181
hyatt@apple.com59696ac2008-10-13 21:53:07 +00009182 In order to always match the :corner-present pseudo-class properly, delay initial updating of
9183 scrollbar styles until the layer has the scrollbars in its member variables.
9184
9185 Reviewed by Tim Hatcher
9186
9187 * rendering/RenderLayer.cpp:
9188 (WebCore::RenderLayer::setHasHorizontalScrollbar):
9189 (WebCore::RenderLayer::setHasVerticalScrollbar):
9190 * rendering/RenderScrollbar.cpp:
9191 (WebCore::RenderScrollbar::RenderScrollbar):
9192
weinig@apple.comfe8ca432008-10-13 21:41:40 +000091932008-10-13 Sam Weinig <sam@webkit.org>
9194
9195 Reviewed by Dan Bernstein.
9196
9197 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
9198 5 false positive StructureID leaks
9199
9200 In WebCore, we intentionally leak the common JSGlobalData which in turn
9201 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
9202 ignore the StructureIDs leaked within.
9203
9204 * bindings/js/JSDOMWindowBase.cpp:
9205 (WebCore::JSDOMWindowBase::commonJSGlobalData):
9206
hyatt@apple.com097c92d2008-10-13 20:21:35 +000092072008-10-13 David Hyatt <hyatt@apple.com>
9208
hyatt@apple.come2a30fd2008-10-13 21:23:21 +00009209 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
9210 artwork based on whether there is a scrollbar corner present.
9211
9212 Reviewed by Tim Hatcher
9213
9214 * css/CSSSelector.cpp:
9215 (WebCore::CSSSelector::extractPseudoType):
9216 * css/CSSSelector.h:
9217 (WebCore::CSSSelector::):
9218 * css/CSSStyleSelector.cpp:
9219 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9220 * platform/ScrollView.cpp:
9221 (WebCore::ScrollView::scrollbarCornerPresent):
9222 * platform/ScrollView.h:
9223 * platform/ScrollbarClient.h:
9224 * rendering/RenderLayer.cpp:
9225 (WebCore::cornerRect):
9226 (WebCore::scrollCornerRect):
9227 (WebCore::resizerCornerRect):
9228 (WebCore::RenderLayer::scrollbarCornerPresent):
9229 (WebCore::RenderLayer::setHasHorizontalScrollbar):
9230 (WebCore::RenderLayer::setHasVerticalScrollbar):
9231 * rendering/RenderLayer.h:
9232 (WebCore::RenderLayer::horizontalScrollbar):
9233 (WebCore::RenderLayer::verticalScrollbar):
9234 * rendering/RenderListBox.h:
9235 (WebCore::RenderListBox::scrollbarCornerPresent):
9236
92372008-10-13 David Hyatt <hyatt@apple.com>
9238
hyatt@apple.com2c1832e2008-10-13 20:56:29 +00009239 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
9240 test case for all this can land).
9241
9242 Reviewed by Tim Hatcher
9243
9244 * css/CSSStyleSelector.cpp:
9245 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
9246 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9247 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9248 * rendering/RenderLayer.cpp:
9249 (WebCore::RenderLayer::paintOverflowControls):
9250 (WebCore::RenderLayer::paintScrollCorner):
9251 (WebCore::RenderLayer::paintResizer):
9252 (WebCore::RenderLayer::styleChanged):
9253 (WebCore::RenderLayer::updateScrollCornerStyle):
9254 (WebCore::RenderLayer::updateResizerStyle):
9255 * rendering/RenderLayer.h:
9256 * rendering/RenderScrollbar.cpp:
9257 (WebCore::RenderScrollbar::paint):
9258 * rendering/RenderScrollbarPart.cpp:
9259 (WebCore::RenderScrollbarPart::paintIntoRect):
9260
92612008-10-13 David Hyatt <hyatt@apple.com>
9262
hyatt@apple.com097c92d2008-10-13 20:21:35 +00009263 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
9264 and invalidate properly as images load, etc.
9265
9266 Reviewed by Tim Hatcher
9267
9268 * rendering/RenderLayer.cpp:
9269 (WebCore::cornerRect):
9270 (WebCore::scrollCornerRect):
9271 (WebCore::resizerCornerRect):
9272 (WebCore::RenderLayer::positionOverflowControls):
9273 (WebCore::RenderLayer::paintOverflowControls):
9274 (WebCore::RenderLayer::paintScrollCorner):
9275 (WebCore::RenderLayer::paintResizer):
9276 (WebCore::RenderLayer::isPointInResizeControl):
9277 (WebCore::RenderLayer::hitTestOverflowControls):
9278 (WebCore::RenderLayer::styleChanged):
9279 * rendering/RenderLayer.h:
9280 * rendering/RenderObject.h:
9281 (WebCore::RenderObject::setRect):
9282 * rendering/RenderScrollbarPart.cpp:
9283 (WebCore::RenderScrollbarPart::styleDidChange):
9284 (WebCore::RenderScrollbarPart::imageChanged):
9285
jmalonzo@webkit.org4d9c9522008-10-13 11:44:35 +000092862008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
9287
9288 Reviewed by Darin Adler. Landed by Jan Alonzo.
9289
9290 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
9291 http://bugs.webkit.org/show_bug.cgi?id=20483
9292
9293 Start the conversion to use GOwnPtr and fix a memory leak.
9294
9295 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
9296 (WebCore::mediaPlayerPrivateErrorCallback):
9297
jhoneycutt@apple.com6bc9f352008-10-13 02:43:30 +000092982008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
9299
9300 Windows build fix.
9301
9302 * loader/TextResourceDecoder.cpp:
9303
darin@apple.com21120fc2008-10-13 02:13:47 +000093042008-10-12 Darin Fisher <darin@chromium.org>
9305
9306 Reviewed by Darin Adler.
9307
9308 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
9309 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
9310
9311 * platform/network/NetworkStateNotifier.h: Add the #include.
9312
darin@apple.com6de19a02008-10-13 01:37:13 +000093132008-10-12 Darin Adler <darin@apple.com>
9314
9315 Based on work by Holger Freyther.
9316
9317 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
9318 Split WidthIterator into its own source file.
9319
9320 * GNUmakefile.am: Added new source files.
9321 * WebCore.vcproj/WebCore.vcproj: Ditto.
9322 * WebCore.xcodeproj/project.pbxproj: Ditto.
9323 * WebCoreSources.bkl: Ditto.
9324
9325 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
9326 * platform/graphics/WidthIterator.cpp: Added.
9327 * platform/graphics/WidthIterator.h: Added.
9328
darin@apple.com755e9c22008-10-13 01:13:29 +000093292008-10-12 Tony Chang <tony@chromium.org>
9330
9331 Reviewed by Sam Weinig.
9332
9333 - https://bugs.webkit.org/show_bug.cgi?id=21480
9334 Remove duplicate definitions of MimeClassInfo and PluginInfo.
9335
9336 * plugins/PluginInfoStore.cpp: Added an include.
9337 * plugins/PluginInfoStore.h: Removed struct declarations.
9338
darin@apple.com365a7d82008-10-13 01:07:04 +000093392008-10-12 Darin Adler <darin@apple.com>
9340
9341 Reviewed by Dan Bernstein.
9342
9343 - https://bugs.webkit.org/show_bug.cgi?id=21563
9344 Bug 21563: platform Gradient class should not use the CSS parser
9345
9346 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
9347 that accepts a CSS color string. That's handled in the DOM now, not here.
9348 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
9349 copy of it here.
9350 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
9351
darin@apple.comad096ca2008-10-13 00:58:00 +000093522008-10-12 Glenn Wilson <gwilson@google.com>
9353
9354 Reviewed by Darin Adler.
9355
9356 - https://bugs.webkit.org/show_bug.cgi?id=20461
9357
9358 Added feature to allow multi-line inputs into text fields.
9359 HTMLInputElement would cut the set text at the first 'system' character,
9360 so it would truncate at the first carriage return or newline.
9361 This fix modifies that behavior to truncate at any non-space system character
9362 but changes \r, \n, and \r\n to a single space.
9363
9364 Tests: editing/pasteboard/paste-multiline-text-input.html
9365
9366 * html/HTMLInputElement.cpp:
9367 (WebCore::HTMLInputElement::constrainValue):
9368
darin@apple.comdcbbe942008-10-13 00:25:00 +000093692008-10-12 Dirk Schulze <vbs85@gmx.de>
9370
9371 Reviewed by Eric Seidel.
9372
9373 - https://bugs.webkit.org/show_bug.cgi?id=20435
9374
9375 Added exception codes to canvas gradients to match current specification.
9376
9377 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
9378 fast/canvas/linearGradient-infinite-values.html
9379 fast/canvas/radialGradient-infinite-values.html
9380
9381 * html/CanvasGradient.cpp:
9382 (WebCore::CanvasGradient::addColorStop):
9383 * html/CanvasGradient.h:
9384 * html/CanvasGradient.idl:
9385 * html/CanvasRenderingContext2D.cpp:
9386 (WebCore::CanvasRenderingContext2D::createLinearGradient):
9387 (WebCore::CanvasRenderingContext2D::createRadialGradient):
9388 * html/CanvasRenderingContext2D.h:
9389 * html/CanvasRenderingContext2D.idl:
9390
darin@apple.come4c4b502008-10-12 23:59:09 +000093912008-10-12 Eric Roman <eroman@chromium.org>
9392
9393 - https://bugs.webkit.org/show_bug.cgi?id=20246
9394 Implement RenderThemeWin::systemColor() to match Windows colors.
9395
9396 Reviewed by David Hyatt.
9397
9398 * rendering/RenderThemeWin.cpp:
9399 (WebCore::cssValueIdToSysColorIndex):
9400 (WebCore::RenderThemeWin::systemColor):
9401 * rendering/RenderThemeWin.h:
9402
darin@apple.com734c7252008-10-12 23:50:45 +000094032008-10-12 Aaron Bockover <abockover@novell.com>
9404
9405 Reviewed by Alp Toker.
9406
9407 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
9408 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
9409 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
9410
9411 * plugins/gtk/PluginPackageGtk.cpp:
9412
darin@apple.comee5d0dc2008-10-12 23:01:25 +000094132008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
9414
9415 Reviewed by Oliver Hunt.
9416
9417 - https://bugs.webkit.org/show_bug.cgi?id=19331
9418 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
9419
9420 * page/DragController.cpp:
9421 (WebCore::DragController::startDrag): When a link is dragged without any
9422 text selected (note: for this to work, the EditableLinkBehavior setting must be
9423 set to 'live' or 'default') and then dropped into an editable html document it
9424 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
9425 is a selection. To prevent this, expand the selection to the enclosing anchor tag
9426 when the drag begins.
9427
darin@apple.com2ce65d52008-10-12 22:49:46 +000094282008-10-12 Darin Adler <darin@apple.com>
9429
darin@apple.comb3de9be2008-10-12 22:53:15 +00009430 Reviewed by Mark Rowe.
9431
9432 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
9433 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
9434
9435 * rendering/RenderObject.cpp:
9436 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
9437 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
9438 as RenderObject::isText(), and this guarantees that the node can be cast to
9439 Element*, which is done just below. The reason this is hit is that RenderLayer
9440 can call getPseudoStyle on a RenderView, which has the document as its
9441 element() -- and a document is neither a Text node nor an Element. A loose
9442 end is that this seems to mean you can't style the scrollbar corner or the
9443 resizer on a RenderView. Hyatt may want to look into that later.
9444
94452008-10-12 Darin Adler <darin@apple.com>
9446
darin@apple.com2ce65d52008-10-12 22:49:46 +00009447 Reviewed by Sam Weinig.
9448
9449 - https://bugs.webkit.org/show_bug.cgi?id=21556
9450 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
9451
9452 Tests: fast/dom/HTMLFontElement/size-attribute.html
9453 fast/dom/HTMLInputElement/size-attribute.html
9454 fast/dom/HTMLTableElement/cellpadding-attribute.html
9455
9456 * html/HTMLFontElement.cpp:
9457 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
9458 Unicode::isDigit, since non-ASCII digits are not valid here.
9459 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
9460 the unneeded destructor declaration.
9461 * platform/text/String.cpp:
9462 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
9463 of Unicode::isDigit, since non-ASCII digits are not valid.
9464
darin@apple.com39669162008-10-12 22:38:23 +000094652008-10-12 Jungshik Shin <jshin@chromium.org>
9466
9467 Reviewed by Darin Adler.
9468
9469 Treat x-user-defined as windows-1252 for html files with meta charset
9470 declaration to be compatible with Indian web sites.
9471 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
9472
9473 Test: fast/encoding/charset-xuser-defined.html
9474
9475 * loader/TextResourceDecoder.cpp:
9476 (WebCore::TextResourceDecoder::setEncoding):
9477
weinig@apple.com68017df2008-10-12 20:43:15 +000094782008-10-12 Sam Weinig <sam@webkit.org>
9479
weinig@apple.com590ccdb2008-10-12 21:32:38 +00009480 Reviewed by Dan Bernstein.
9481
9482 Remove unneeded forward declaration.
9483
9484 * platform/graphics/ImageBuffer.h:
9485
94862008-10-12 Sam Weinig <sam@webkit.org>
9487
weinig@apple.com68017df2008-10-12 20:43:15 +00009488 Reviewed by Darin Adler.
9489
9490 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
9491 Layering violation: String should not be responsible for creating Lengths
9492
9493 It was a layering violation for String to know haw to parse
9494 into Lengths, LengthArrays, and CoordsArrays.
9495
9496 * GNUmakefile.am:
9497 * WebCore.pro:
9498 * WebCore.vcproj/WebCore.vcproj:
9499 * WebCore.xcodeproj/project.pbxproj:
9500 * WebCoreSources.bkl:
9501 * html/HTMLAreaElement.cpp:
9502 (WebCore::HTMLAreaElement::parseMappedAttribute):
9503 * html/HTMLFrameSetElement.cpp:
9504 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
9505 * platform/text/AtomicString.h:
9506 (WebCore::AtomicString::percentage):
9507 * platform/text/PlatformString.h:
9508 * platform/text/String.cpp:
9509 * platform/text/StringImpl.cpp:
9510 * platform/text/StringImpl.h:
9511 * rendering/Length.cpp: Added.
9512 (WebCore::parseLength):
9513 (WebCore::countCharacter):
9514 (WebCore::newCoordsArray):
9515 (WebCore::newLengthArray):
9516 * rendering/Length.h:
9517 (WebCore::LengthSize::LengthSize):
9518
darin@apple.com231607b2008-10-12 18:23:56 +000095192008-10-12 Brad Garcia <bgarcia@google.com>
9520
9521 Reviewed by Darin Adler.
9522
9523 Interpret fractional percentage values for %MultiLength values.
9524 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
9525 Test: fast/frames/frame-length-fractional-percentage.html
9526
9527 * platform/text/StringImpl.cpp:
9528 (WebCore::parseLength):
9529
timothy@apple.combba898e2008-10-12 17:04:51 +000095302008-10-12 Timothy Hatcher <timothy@apple.com>
9531
9532 Remember the expanded state of the rules in the Styles pane. So
9533 collapsing a rule will persist across all the elements that have
9534 that same rule. The same applies to Computed Style, so the Computed
9535 Style rule is now collapsed by default. This should help lessen the
9536 confusion on why Computed Style can't be edited (a common confusion.)
9537
9538 https://bugs.webkit.org/show_bug.cgi?id=21553
9539
9540 Reviewed by Darin Adler.
9541
9542 * inspector/front-end/PropertiesSection.js:
9543 (WebInspector.PropertiesSection): Set the _expanded property directly,
9544 instead of using the setter. Expanded is the default, so no work is needed.
9545 This prevents calling StylesSidebarPane.collapse before object initialization
9546 is complete.
9547 * inspector/front-end/StylesSidebarPane.js:
9548 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
9549 for the expanded state of the StylePropertiesSection. Collapse computed style
9550 by default and expand everything else.
9551 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
9552 when remembering expanded state.
9553 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
9554 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
9555 the state if the dontRememberState property is true.
9556 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
9557 to false for this identifier in Preferences.styleRulesExpandedState.
9558 * inspector/front-end/inspector.js:
9559 (Preferences.styleRulesExpandedState): Initialize to an empty object.
9560
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +000095612008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
9562
9563 Reviewed by Alp Toker.
9564
9565 [Gtk] Remove libWebCoreJS.la when doing make clean
9566 https://bugs.webkit.org/show_bug.cgi?id=21544
9567
9568 Remove libWebCoreJS.la when doing a clean target
9569
9570 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
9571
alp@webkit.org85a7e4f2008-10-12 06:50:21 +000095722008-10-11 Alp Toker <alp@nuanti.com>
9573
9574 Reviewed by Darin Adler.
9575
9576 https://bugs.webkit.org/show_bug.cgi?id=20592
9577 The focus ring is not shown while navigating on some pages
9578
9579 Fix drawFocusRing() so it doesn't depend on the current graphics
9580 state, thus matching other platforms which already work this way.
9581
9582 This patch provides two code paths: one using straight Cairo and
9583 one specialised for the GTK+ port with a more conventional appearance.
9584
9585 Also change focusRingColor() to return a null color, allowing the
9586 focus ring to pick up the style's current color if it isn't overridden
9587 with CSS.
9588
9589 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9590 (WebCore::GraphicsContext::drawFocusRing):
9591 * platform/gtk/TemporaryLinkStubs.cpp:
9592 (WebCore::focusRingColor):
9593
mitz@apple.com7378cec2008-10-12 04:56:20 +000095942008-10-11 Dan Bernstein <mitz@apple.com>
9595
9596 Rubber-stamped by Sam Weinig.
9597
9598 - change all internal callers to use Cache::evict() instead of remove()
9599
9600 * loader/Cache.cpp:
9601 (WebCore::Cache::revalidateResource):
9602 (WebCore::Cache::revalidationSucceeded):
9603 (WebCore::Cache::pruneDeadResources):
9604 (WebCore::Cache::setDisabled):
9605
hyatt@apple.com0578b132008-10-12 04:20:26 +000096062008-10-11 David Hyatt <hyatt@apple.com>
9607
hyatt@apple.com668b6712008-10-12 04:26:47 +00009608 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
9609
9610 Reviewed by Tim Hatcher
9611
9612 * platform/ScrollbarThemeComposite.cpp:
9613 (WebCore::ScrollbarThemeComposite::invalidatePart):
9614
96152008-10-11 David Hyatt <hyatt@apple.com>
9616
hyatt@apple.com0578b132008-10-12 04:20:26 +00009617 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
9618
9619 Also fixed resizer positioning problems.
9620
9621 Reviewed by Tim Hatcher
9622
9623 * platform/ScrollbarThemeComposite.cpp:
9624 (WebCore::ScrollbarThemeComposite::splitTrack):
9625 (WebCore::ScrollbarThemeComposite::trackPosition):
9626 (WebCore::ScrollbarThemeComposite::trackLength):
9627 * platform/ScrollbarThemeComposite.h:
9628 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
9629 * rendering/RenderLayer.cpp:
9630 (WebCore::scrollCornerRect):
9631 (WebCore::RenderLayer::positionOverflowControls):
9632 (WebCore::RenderLayer::paintOverflowControls):
9633 (WebCore::RenderLayer::isPointInResizeControl):
9634 (WebCore::RenderLayer::hitTestOverflowControls):
9635 * rendering/RenderScrollbarTheme.cpp:
9636 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
9637 * rendering/RenderScrollbarTheme.h:
9638
alp@webkit.org9c37e8f2008-10-12 03:33:28 +000096392008-10-11 Alp Toker <alp@nuanti.com>
9640
9641 Reviewed by David Hyatt.
9642
9643 Implement release/retain for Widget GTK+.
9644
9645 * platform/Widget.cpp:
9646 * platform/gtk/WidgetGtk.cpp:
9647 (WebCore::Widget::~Widget):
9648 (WebCore::Widget::releasePlatformWidget):
9649 (WebCore::Widget::retainPlatformWidget):
9650
mitz@apple.comf0f7ed82008-10-11 22:53:28 +000096512008-10-11 Dan Bernstein <mitz@apple.com>
9652
9653 Reviewed by Sam Weinig.
9654
9655 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
9656 and add a corresponding getter; add the same functions on Windows
9657
9658 * WebCore.base.exp:
9659 * platform/graphics/Font.cpp:
9660 (WebCore::Font::setCodePath):
9661 (WebCore::codePath):
9662 (WebCore::Font::canUseGlyphCache):
9663 * platform/graphics/Font.h:
9664 * platform/mac/WebCoreTextRenderer.h:
9665 * platform/mac/WebCoreTextRenderer.mm:
9666 (WebCoreSetAlwaysUsesComplexTextCodePath):
9667 (WebCoreAlwaysUsesComplexTextCodePath):
9668 * platform/win/WebCoreTextRenderer.cpp:
9669 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
9670 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
9671 * platform/win/WebCoreTextRenderer.h:
9672
weinig@apple.comeb4243f2008-10-11 22:10:38 +000096732008-10-11 Sam Weinig <sam@webkit.org>
9674
9675 Reviewed by Cameron Zwarich.
9676
weinig@apple.com5f7c6162008-10-11 22:20:09 +00009677 Stop leaking the event parameter names. The protected strings were showing up
9678 in the caches window after one use. No measurable performance loss.
9679
9680 * bindings/js/JSEventListener.cpp:
9681 (WebCore::eventParameterName):
9682
96832008-10-11 Sam Weinig <sam@webkit.org>
9684
9685 Reviewed by Cameron Zwarich.
9686
weinig@apple.comeb4243f2008-10-11 22:10:38 +00009687 Remove unused function getNodeEventListener.
9688
9689 * bindings/js/JSEventListener.cpp:
9690 * bindings/js/JSEventListener.h:
9691
hyatt@apple.comf2452672008-10-11 07:50:03 +000096922008-10-11 David Hyatt <hyatt@apple.com>
9693
9694 Add support for both positive and negative margins to tracks and track pieces.
9695
9696 Reviewed by Tim Hatcher
9697
9698 * platform/ScrollbarThemeComposite.cpp:
9699 (WebCore::ScrollbarThemeComposite::paint):
9700 (WebCore::ScrollbarThemeComposite::hitTest):
9701 (WebCore::ScrollbarThemeComposite::splitTrack):
9702 (WebCore::ScrollbarThemeComposite::trackPieceRects):
9703 (WebCore::ScrollbarThemeComposite::trackPosition):
9704 (WebCore::ScrollbarThemeComposite::trackLength):
9705 * platform/ScrollbarThemeComposite.h:
9706 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
9707 * rendering/RenderScrollbar.cpp:
9708 (WebCore::RenderScrollbar::trackRect):
9709 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
9710 * rendering/RenderScrollbar.h:
9711 * rendering/RenderScrollbarPart.cpp:
9712 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
9713 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
9714 * rendering/RenderScrollbarTheme.cpp:
9715 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
9716 * rendering/RenderScrollbarTheme.h:
9717
hyatt@apple.com729214e2008-10-11 06:30:47 +000097182008-10-10 David Hyatt <hyatt@apple.com>
9719
9720 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
9721 the scrollbar pseudo-elements anyway.
9722
9723 Reviewed by Tim Hatcher
9724
9725 * css/CSSSelector.cpp:
9726 (WebCore::CSSSelector::extractPseudoType):
9727 * css/CSSSelector.h:
9728 (WebCore::CSSSelector::):
9729 * css/CSSStyleSelector.cpp:
9730 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9731
mitz@apple.comb5de9462008-10-11 06:26:59 +000097322008-10-10 Dan Bernstein <mitz@apple.com>
9733
9734 Reviewed by Sam Weinig.
9735
9736 - separate Cache::remove() into a private method and a public interface,
9737 then make Cache::pruneDeadResources() use the private method.
9738
9739 * loader/Cache.cpp:
9740 (WebCore::Cache::pruneDeadResources):
9741 (WebCore::Cache::evict):
9742 * loader/Cache.h:
9743 (WebCore::Cache::remove):
9744
hyatt@apple.comd65740c2008-10-11 05:30:39 +000097452008-10-10 David Hyatt <hyatt@apple.com>
9746
hyatt@apple.com739b8f02008-10-11 06:12:14 +00009747 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
9748 now that the track pieces meet under the thumb.
9749
9750 Reviewed by Tim Hatcher
9751
9752 * platform/ScrollbarThemeComposite.cpp:
9753 (WebCore::ScrollbarThemeComposite::paint):
9754 (WebCore::ScrollbarThemeComposite::splitTrack):
9755
97562008-10-10 David Hyatt <hyatt@apple.com>
9757
hyatt@apple.com4c767e22008-10-11 06:04:02 +00009758 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
9759
9760 Reviewed by Tim Hatcher
9761
9762 * platform/ScrollbarThemeComposite.cpp:
9763 (WebCore::ScrollbarThemeComposite::hitTest):
9764 (WebCore::ScrollbarThemeComposite::splitTrack):
9765
97662008-10-10 David Hyatt <hyatt@apple.com>
9767
hyatt@apple.come8609a22008-10-11 05:54:35 +00009768 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
9769
9770 Reviewed by Tim Hatcher
9771
9772 * rendering/RenderLayer.cpp:
9773 (WebCore::RenderLayer::createScrollbar):
9774 * rendering/RenderScrollbar.cpp:
9775 (WebCore::RenderScrollbar::createCustomScrollbar):
9776 (WebCore::RenderScrollbar::RenderScrollbar):
9777 (WebCore::RenderScrollbar::setParent):
9778 (WebCore::RenderScrollbar::updateScrollbarParts):
9779 (WebCore::RenderScrollbar::updateScrollbarPart):
9780 * rendering/RenderScrollbar.h:
9781 * rendering/style/RenderStyle.h:
9782 (WebCore::RenderStyle::):
9783
97842008-10-10 David Hyatt <hyatt@apple.com>
9785
hyatt@apple.comd65740c2008-10-11 05:30:39 +00009786 Make sure scrollbar background images cause proper part invalidation to occur.
9787
9788 Reviewed by Tim Hatcher
9789
9790 * rendering/RenderScrollbar.cpp:
9791 (WebCore::RenderScrollbar::setHoveredPart):
9792 (WebCore::RenderScrollbar::setPressedPart):
9793 * rendering/RenderScrollbarPart.cpp:
9794 (WebCore::RenderScrollbarPart::styleDidChange):
9795 (WebCore::RenderScrollbarPart::imageChanged):
9796 * rendering/RenderScrollbarPart.h:
9797
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +000097982008-10-10 Simon Fraser <simon.fraser@apple.com>
9799
9800 Reviewed by Darin Adler
9801
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +00009802 https://bugs.webkit.org/show_bug.cgi?id=21538
9803
9804 The blendFunc() for TransformOperations should never mess with the
9805 operation lists by replacing some ops with identity, otherwise the lists
9806 no longer match and transitions break.
9807
9808 Test: transitions/matched-transform-functions.html
9809
9810 * page/animation/AnimationBase.cpp:
9811 (WebCore::blendFunc):
9812
98132008-10-10 Simon Fraser <simon.fraser@apple.com>
9814
9815 Reviewed by Darin Adler
9816
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +00009817 https://bugs.webkit.org/show_bug.cgi?id=21537
9818
9819 Fix re-targetting a running transition; if the target property
9820 changes, we do need to make a new ImplicitAnimation.
9821
9822 Test: transitions/retargetted-transition.html
9823
9824 * page/animation/CompositeAnimation.cpp:
9825 (WebCore::CompositeAnimationPrivate::updateTransitions):
9826
oliver@apple.com7264bb52008-10-10 23:21:39 +000098272008-10-10 Oliver Hunt <oliver@apple.com>
9828
9829 Reviewed by Cameron Zwarich.
9830
9831 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
9832
9833 When JS is terminated by the user choosing to stop a slow script
9834 the exception toString method throws, yet the console logger does
9835 not perform exception checks after logging. This leaves an
9836 exception on the Machine, which in turn results in an assertion
9837 failure next time we attempt to enter JS. The solution is just to
9838 clear the exception state after attempting to record the exception.
9839
9840 * page/Console.cpp:
9841 (WebCore::Console::reportException):
9842
hyatt@apple.comfca034d2008-10-10 21:05:07 +000098432008-10-10 David Hyatt <hyatt@apple.com>
9844
hyatt@apple.com0f129042008-10-10 22:24:15 +00009845 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
9846 when looking for pseudo styles.
9847
9848 Reviewed by Tim Hatcher
9849
9850 * rendering/RenderLayer.cpp:
9851 (WebCore::RenderLayer::createScrollbar):
9852 (WebCore::RenderLayer::styleChanged):
9853
98542008-10-10 David Hyatt <hyatt@apple.com>
9855
hyatt@apple.comca798132008-10-10 22:16:24 +00009856 Add the ability to style the scroll corner and the resizer from CSS.
9857
9858 Reviewed by Tim Hatcher
9859
9860 * css/CSSSelector.cpp:
9861 (WebCore::CSSSelector::extractPseudoType):
9862 * css/CSSSelector.h:
9863 (WebCore::CSSSelector::):
9864 * css/CSSStyleSelector.cpp:
9865 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9866 * rendering/RenderLayer.cpp:
9867 (WebCore::RenderLayer::RenderLayer):
9868 (WebCore::RenderLayer::~RenderLayer):
9869 (WebCore::RenderLayer::paintOverflowControls):
9870 (WebCore::RenderLayer::paintScrollCorner):
9871 (WebCore::RenderLayer::paintResizer):
9872 (WebCore::RenderLayer::styleChanged):
9873 * rendering/RenderLayer.h:
9874 * rendering/RenderScrollbar.cpp:
9875 (WebCore::RenderScrollbar::updateScrollbarPart):
9876 (WebCore::RenderScrollbar::paintPart):
9877 * rendering/RenderScrollbarPart.cpp:
9878 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
9879 (WebCore::RenderScrollbarPart::paintIntoRect):
9880 * rendering/RenderScrollbarPart.h:
9881 * rendering/style/RenderStyle.h:
9882 (WebCore::RenderStyle::):
9883
98842008-10-10 David Hyatt <hyatt@apple.com>
9885
hyatt@apple.comfca034d2008-10-10 21:05:07 +00009886 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
9887
9888 Reviewed by Sam Weinig
9889
9890 No test case possible, since the OS setting can vary.
9891
9892 * css/CSSSelector.cpp:
9893 (WebCore::CSSSelector::extractPseudoType):
9894 * css/CSSSelector.h:
9895 (WebCore::CSSSelector::):
9896 * css/CSSStyleSelector.cpp:
9897 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9898 * platform/Scrollbar.h:
9899 (WebCore::Scrollbar::styleChanged):
9900 * platform/mac/ScrollbarThemeMac.mm:
9901 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
9902 (WebCore::ScrollbarThemeMac::preferencesChanged):
9903 * rendering/RenderLayer.cpp:
9904 (WebCore::RenderLayer::invalidateScrollbarRect):
9905 * rendering/RenderScrollbar.cpp:
9906 (WebCore::RenderScrollbar::styleChanged):
9907 (WebCore::RenderScrollbar::updateScrollbarPart):
9908 * rendering/RenderScrollbar.h:
9909 * rendering/RenderScrollbarTheme.h:
9910 (WebCore::RenderScrollbarTheme::buttonsPlacement):
9911
timothy@apple.comc1df5732008-10-10 20:27:51 +000099122008-10-10 Timothy Hatcher <timothy@apple.com>
9913
9914 Fixes a regression with input search fields, where the placeholder text
9915 would not be updated when the value of the placeholder attribute changed.
9916
9917 https://bugs.webkit.org/show_bug.cgi?id=21521
9918
9919 Reviewed by Adele Peterson.
9920
9921 Test: fast/forms/search-placeholder-value-changed.html
9922
9923 * html/HTMLInputElement.cpp:
9924 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
9925 placeholderValueChanged parameter of updatePlaceholderVisibility.
9926 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
9927 for placeholderValueChanged that informs the method that the value changed.
9928 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
9929 updatePlaceholderVisibility method. Made it default to false.
9930
hyatt@apple.comf9e710b2008-10-10 19:32:52 +000099312008-10-10 David Hyatt <hyatt@apple.com>
9932
hyatt@apple.comc92f8c22008-10-10 20:12:14 +00009933 Allow the track part to have negative margins so that it can slightly overlap buttons. This
9934 is necessary to emulate the Aqua look in CSS.
9935
9936 Reviewed by Sam Weinig
9937
9938 * platform/ScrollbarThemeComposite.cpp:
9939 (WebCore::ScrollbarThemeComposite::paint):
9940 (WebCore::ScrollbarThemeComposite::hitTest):
9941 * rendering/RenderScrollbar.cpp:
9942 (WebCore::RenderScrollbar::setHoveredPart):
9943 (WebCore::RenderScrollbar::trackRect):
9944 * rendering/RenderScrollbar.h:
9945 * rendering/RenderScrollbarPart.cpp:
9946 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
9947 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
9948 * rendering/RenderScrollbarTheme.cpp:
9949 (WebCore::RenderScrollbarTheme::backButtonRect):
9950 (WebCore::RenderScrollbarTheme::forwardButtonRect):
9951 (WebCore::RenderScrollbarTheme::trackRect):
9952
99532008-10-10 David Hyatt <hyatt@apple.com>
9954
hyatt@apple.comf9e710b2008-10-10 19:32:52 +00009955 https://bugs.webkit.org/show_bug.cgi?id=21527
9956
9957 Make CSS scrollbars support :not, :hover and :active.
9958
9959 Reviewed by Adam Roben
9960
9961 Added WebCore/manual-tests/scrollbar-hover-active.html
9962
9963 * css/CSSStyleSelector.cpp:
9964 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9965 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
9966 * platform/Scrollbar.cpp:
9967 (WebCore::Scrollbar::autoscrollPressedPart):
9968 (WebCore::Scrollbar::startTimerIfNeeded):
9969 (WebCore::Scrollbar::setHoveredPart):
9970 (WebCore::Scrollbar::setPressedPart):
9971 (WebCore::Scrollbar::mouseMoved):
9972 (WebCore::Scrollbar::mouseExited):
9973 (WebCore::Scrollbar::mouseUp):
9974 (WebCore::Scrollbar::mouseDown):
9975 * platform/Scrollbar.h:
9976 * rendering/RenderScrollbar.cpp:
9977 (WebCore::RenderScrollbar::setHoveredPart):
9978 (WebCore::RenderScrollbar::setPressedPart):
9979 (WebCore::RenderScrollbar::updateScrollbarParts):
9980 (WebCore::pseudoForScrollbarPart):
9981 (WebCore::RenderScrollbar::updateScrollbarPart):
9982 * rendering/RenderScrollbar.h:
9983
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +000099842008-10-10 Chris Marrin <cmarrin@apple.com>
9985
9986 Reviewed by Dan Bernstein.
9987
9988 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
9989 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
9990
9991 Test: transitions/interrupt-zero-duration.html
9992
9993 * page/animation/CompositeAnimation.cpp:
9994 (WebCore::CompositeAnimation::updateTransitions):
9995
kevino@webkit.org0b227f82008-10-10 17:13:46 +000099962008-10-10 Kevin Ollivier <kevino@theolliviers.com>
9997
9998 wx build fix. Add new scrollbar-related sources.
9999
10000 * WebCoreSources.bkl:
10001
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000100022008-10-10 David Hyatt <hyatt@apple.com>
10003
hyatt@apple.com676ab7f2008-10-10 16:59:20 +000010004 https://bugs.webkit.org/show_bug.cgi?id=21522
10005
10006 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
10007 created. (Just :hover/:active left to finish it up.)
10008
10009 Reviewed by Adam Roben
10010
10011 Added scrollbars/scrollbar-buttons.html
10012
10013 * css/CSSStyleSelector.cpp:
10014 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10015
100162008-10-10 David Hyatt <hyatt@apple.com>
10017
hyatt@apple.com08425212008-10-10 16:40:26 +000010018 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
10019 back/forward to decrement/increment. Adding start/end pseudoclasses.
10020
10021 Reviewed by Eric Seidel
10022
10023 * css/CSSSelector.cpp:
10024 (WebCore::CSSSelector::extractPseudoType):
10025 * css/CSSSelector.h:
10026 (WebCore::CSSSelector::):
10027 * css/CSSStyleSelector.cpp:
10028 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10029
100302008-10-10 David Hyatt <hyatt@apple.com>
10031
hyatt@apple.com216ac3b2008-10-10 07:15:04 +000010032 Switch window-active to window-inactive, since that will work better as far as degrading in other
10033 browsers.
10034
10035 Reviewed by Tim Hatcher
10036
10037 * css/CSSSelector.cpp:
10038 (WebCore::CSSSelector::extractPseudoType):
10039 * css/CSSSelector.h:
10040 (WebCore::CSSSelector::):
10041 * css/CSSStyleSelector.cpp:
10042 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10043
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +0000100442008-10-09 Chris Marrin <cmarrin@apple.com>
10045
10046 Reviewed by Dan Bernstein.
10047
10048 https://bugs.webkit.org/show_bug.cgi?id=21310
10049
10050 Redesigned how animation events are sent in order to get rid of
10051 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
10052 are now ref counted. While calling the event handler, I keep a
10053 reference to this class to avoid it getting destroyed out from under me.
10054
10055 I also moved most of the functionality of CompositeAnimation to
10056 and internal class (CompositeAnimationPrivate) to reduce the exposure
10057 of the internals of the various animation classes.
10058
10059 We have several transition and animation LayoutTests which verify that
10060 this fix works as expected and continues to avoid crashes.
10061
10062 * page/animation/AnimationBase.cpp:
10063 (WebCore::AnimationBase::AnimationBase):
10064 * page/animation/AnimationBase.h:
10065 (WebCore::AnimationBase::cancelTimers):
10066 (WebCore::AnimationBase::waitingForStyleAvailable):
10067 * page/animation/CompositeAnimation.cpp:
10068 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
10069 (WebCore::CompositeAnimationPrivate::suspended):
10070 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
10071 (WebCore::CompositeAnimationPrivate::updateTransitions):
10072 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
10073 (WebCore::CompositeAnimationPrivate::animate):
10074 (WebCore::CompositeAnimationPrivate::setAnimating):
10075 (WebCore::CompositeAnimationPrivate::animating):
10076 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
10077 (WebCore::CompositeAnimationPrivate::resetTransitions):
10078 (WebCore::CompositeAnimationPrivate::resetAnimations):
10079 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
10080 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
10081 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
10082 (WebCore::CompositeAnimationPrivate::suspendAnimations):
10083 (WebCore::CompositeAnimationPrivate::resumeAnimations):
10084 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
10085 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
10086 (WebCore::compareAnimationIndices):
10087 (WebCore::CompositeAnimationPrivate::styleAvailable):
10088 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
10089 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
10090 (WebCore::CompositeAnimation::CompositeAnimation):
10091 (WebCore::CompositeAnimation::~CompositeAnimation):
10092 (WebCore::CompositeAnimation::animate):
10093 (WebCore::CompositeAnimation::animating):
10094 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
10095 (WebCore::CompositeAnimation::resetTransitions):
10096 (WebCore::CompositeAnimation::suspendAnimations):
10097 (WebCore::CompositeAnimation::resumeAnimations):
10098 (WebCore::CompositeAnimation::suspended):
10099 (WebCore::CompositeAnimation::styleAvailable):
10100 (WebCore::CompositeAnimation::setAnimating):
10101 (WebCore::CompositeAnimation::isAnimatingProperty):
10102 (WebCore::CompositeAnimation::setAnimationStartTime):
10103 (WebCore::CompositeAnimation::setTransitionStartTime):
10104 (WebCore::CompositeAnimation::overrideImplicitAnimations):
10105 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
10106 * page/animation/CompositeAnimation.h:
10107 * page/animation/ImplicitAnimation.cpp:
10108 (WebCore::ImplicitAnimation::sendTransitionEvent):
10109 * page/animation/ImplicitAnimation.h:
10110 (WebCore::ImplicitAnimation::create):
10111 * page/animation/KeyframeAnimation.cpp:
10112 (WebCore::KeyframeAnimation::sendAnimationEvent):
10113 * page/animation/KeyframeAnimation.h:
10114 (WebCore::KeyframeAnimation::create):
10115
hyatt@apple.come784a792008-10-10 05:56:10 +0000101162008-10-09 David Hyatt <hyatt@apple.com>
10117
hyatt@apple.come3803262008-10-10 07:04:38 +000010118 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
10119 is active as well.
10120
10121 Reviewed by Tim Hatcher
10122
10123 Added scrollbars/scrollbar-orientation.html
10124
10125 * css/CSSSelector.cpp:
10126 (WebCore::CSSSelector::extractPseudoType):
10127 * css/CSSSelector.h:
10128 (WebCore::CSSSelector::):
10129 * css/CSSStyleSelector.cpp:
10130 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10131 * platform/Scrollbar.cpp:
10132 (WebCore::Scrollbar::isWindowActive):
10133 * platform/Scrollbar.h:
10134 * rendering/RenderScrollbar.cpp:
10135 (WebCore::RenderScrollbar::paint):
10136 (WebCore::RenderScrollbar::partForStyleResolve):
10137 * rendering/RenderScrollbar.h:
10138
101392008-10-09 David Hyatt <hyatt@apple.com>
10140
hyatt@apple.come784a792008-10-10 05:56:10 +000010141 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
10142 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
10143
10144 Reviewed by Tim Hatcher
10145
10146 Added scrollbars/disabled-scrollbar.html
10147
10148 * css/CSSStyleSelector.cpp:
10149 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
10150 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10151 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10152 * css/CSSStyleSelector.h:
10153 * rendering/RenderObject.cpp:
10154 (WebCore::RenderObject::getPseudoStyle):
10155 * rendering/RenderObject.h:
10156 * rendering/RenderScrollbar.cpp:
10157 (WebCore::RenderScrollbar::setEnabled):
10158 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
10159 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
10160 (WebCore::RenderScrollbar::paintPart):
10161 * rendering/RenderScrollbar.h:
10162
eric.carlson@apple.com24750582008-10-10 04:04:15 +0000101632008-10-09 Eric Carlson <eric.carlson@apple.com>
10164
10165 Media controls should not show when element is not visible
10166
10167 https://bugs.webkit.org/show_bug.cgi?id=21155
10168
10169 Reviewed by Adele Peterson.
10170
10171 * html/HTMLMediaElement.cpp:
10172 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
10173 in sync with visibility changes
10174 * html/HTMLMediaElement.h:
10175 * rendering/RenderMedia.cpp:
10176 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
10177 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
10178 if element is visible or not. Don't animate controller visibility when change triggered by
10179 showing or hiding media element.
10180 * rendering/RenderMedia.h: declare m_previousVisible
10181
timothy@apple.com746258b2008-10-10 03:23:12 +0000101822008-10-09 Timothy Hatcher <timothy@apple.com>
10183
10184 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
10185 availability macros and version macros.
10186
10187 https://bugs.webkit.org/show_bug.cgi?id=21496
10188 rdar://problem/6259225
10189
10190 Reviewed by Sam Weinig.
10191
10192 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
10193 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
10194 and add an #if around the enum.
10195 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
10196 comment to match the other headers.
10197 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
10198 * bindings/objc/DOMObject.h: Add a version #if around class interface.
10199 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
10200 and add a version #if around the enum.
10201 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
10202 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
10203 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
10204 when they where added to WebKit. Also annotate individual methods that are
10205 deprecated or where added after the class was added to WebKit.
10206 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
10207 since this header is included by most DOM headers. Annotate the JSObject method.
10208
10209 * bindings/scripts/CodeGeneratorObjC.pm:
10210 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
10211 And parse out the availability version for the class/protocol. Default to
10212 WEBKIT_VERSION_LATEST if the class is new.
10213 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
10214 interface availability version check if the class has a required version. Create
10215 a public interface key (used to lookup in $publicInterfaces) and make a declaration
10216 suffix that includes the availability macro (if needed). Use the "available in 1.3
10217 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
10218 the default availability macro for old style methods. Tweak line breaks in the generated
10219 headers to look good and not have too many extra lines.
10220
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +0000102212008-10-09 Simon Fraser <simon.fraser@apple.com>
10222
10223 Reviewed by Dave Hyatt
10224
10225 https://bugs.webkit.org/show_bug.cgi?id=20947
10226
10227 Refactor setStyle() methods into styleWillChange()
10228 and styleDidChange(), so most of the setStyle() overrides can
10229 be removed.
10230
10231 * rendering/RenderBR.cpp:
10232 (WebCore::RenderBR::styleDidChange):
10233 * rendering/RenderBR.h:
10234 * rendering/RenderBlock.cpp:
10235 (WebCore::RenderBlock::styleWillChange):
10236 (WebCore::RenderBlock::styleDidChange):
10237 * rendering/RenderBlock.h:
10238 * rendering/RenderBox.cpp:
10239 (WebCore::RenderBox::~RenderBox):
10240 (WebCore::RenderBox::destroy):
10241 (WebCore::RenderBox::styleWillChange):
10242 (WebCore::RenderBox::styleDidChange):
10243 * rendering/RenderBox.h:
10244 * rendering/RenderButton.cpp:
10245 (WebCore::RenderButton::styleWillChange):
10246 (WebCore::RenderButton::styleDidChange):
10247 * rendering/RenderButton.h:
10248 * rendering/RenderFieldset.cpp:
10249 (WebCore::RenderFieldset::styleDidChange):
10250 * rendering/RenderFieldset.h:
10251 * rendering/RenderFileUploadControl.cpp:
10252 (WebCore::RenderFileUploadControl::styleDidChange):
10253 * rendering/RenderFileUploadControl.h:
10254 * rendering/RenderInline.cpp:
10255 (WebCore::RenderInline::styleDidChange):
10256 * rendering/RenderInline.h:
10257 * rendering/RenderLayer.cpp:
10258 (WebCore::RenderLayer::styleChanged):
10259 * rendering/RenderLayer.h:
10260 * rendering/RenderListBox.cpp:
10261 (WebCore::RenderListBox::styleDidChange):
10262 * rendering/RenderListBox.h:
10263 * rendering/RenderListItem.cpp:
10264 (WebCore::RenderListItem::styleDidChange):
10265 * rendering/RenderListItem.h:
10266 * rendering/RenderListMarker.cpp:
10267 (WebCore::RenderListMarker::styleWillChange):
10268 (WebCore::RenderListMarker::styleDidChange):
10269 * rendering/RenderListMarker.h:
10270 * rendering/RenderMenuList.cpp:
10271 (WebCore::RenderMenuList::styleDidChange):
10272 * rendering/RenderMenuList.h:
10273 * rendering/RenderObject.cpp:
10274 (WebCore::RenderObject::setStyle):
10275 (WebCore::RenderObject::setStyleInternal):
10276 (WebCore::RenderObject::styleWillChange):
10277 (WebCore::RenderObject::styleDidChange):
10278 * rendering/RenderObject.h:
10279 * rendering/RenderReplaced.cpp:
10280 (WebCore::RenderReplaced::styleDidChange):
10281 * rendering/RenderReplaced.h:
10282 * rendering/RenderSVGGradientStop.cpp:
10283 (WebCore::RenderSVGGradientStop::styleDidChange):
10284 * rendering/RenderSVGGradientStop.h:
10285 * rendering/RenderScrollbarPart.cpp:
10286 (WebCore::RenderScrollbarPart::styleDidChange):
10287 * rendering/RenderScrollbarPart.h:
10288 * rendering/RenderSlider.cpp:
10289 (WebCore::RenderSlider::styleDidChange):
10290 * rendering/RenderSlider.h:
10291 * rendering/RenderTable.cpp:
10292 (WebCore::RenderTable::styleDidChange):
10293 * rendering/RenderTable.h:
10294 * rendering/RenderTableCell.cpp:
10295 (WebCore::RenderTableCell::styleWillChange):
10296 (WebCore::RenderTableCell::styleDidChange):
10297 * rendering/RenderTableCell.h:
10298 * rendering/RenderTableRow.cpp:
10299 (WebCore::RenderTableRow::styleWillChange):
10300 * rendering/RenderTableRow.h:
10301 * rendering/RenderText.cpp:
10302 (WebCore::RenderText::styleDidChange):
10303 * rendering/RenderText.h:
10304 * rendering/RenderTextControl.cpp:
10305 (WebCore::RenderTextControl::styleDidChange):
10306 * rendering/RenderTextControl.h:
10307 * rendering/RenderWidget.cpp:
10308 (WebCore::RenderWidget::styleDidChange):
10309 * rendering/RenderWidget.h:
10310
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000103112008-10-09 David Hyatt <hyatt@apple.com>
10312
hyatt@apple.com1d089852008-10-10 03:25:37 +000010313 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 +000010314 parent is nulled out is a good time.
10315
10316 Reviewed by Oliver Hunt
10317
10318 * rendering/RenderScrollbar.cpp:
10319 (WebCore::RenderScrollbar::~RenderScrollbar):
10320 (WebCore::RenderScrollbar::setParent):
10321 (WebCore::RenderScrollbar::updateScrollbarPart):
10322 * rendering/RenderScrollbar.h:
10323
103242008-10-09 David Hyatt <hyatt@apple.com>
10325
hyatt@apple.com2e4835d2008-10-10 02:33:16 +000010326 https://bugs.webkit.org/show_bug.cgi?id=21446
10327
10328 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
10329 orientation and back vs. forward on the buttons, but it's a start.
10330
10331 Reviewed by Oliver Hunt
10332
10333 Added scrollbars/basic-scrollbar.html
10334
10335 * WebCore.xcodeproj/project.pbxproj:
10336 * css/CSSSelector.cpp:
10337 (WebCore::CSSSelector::extractPseudoType):
10338 * css/CSSSelector.h:
10339 (WebCore::CSSSelector::):
10340 * css/CSSStyleSelector.cpp:
10341 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10342 * platform/ScrollTypes.h:
10343 (WebCore::):
10344 * platform/Scrollbar.h:
10345 (WebCore::Scrollbar::styleChanged):
10346 * platform/ScrollbarThemeComposite.cpp:
10347 (WebCore::ScrollbarThemeComposite::paint):
10348 (WebCore::ScrollbarThemeComposite::splitTrack):
10349 * platform/ScrollbarThemeComposite.h:
10350 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
10351 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
10352 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
10353 * platform/win/ScrollbarThemeSafari.cpp:
10354 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
10355 * platform/win/ScrollbarThemeSafari.h:
10356 * platform/win/ScrollbarThemeWin.cpp:
10357 (WebCore::ScrollbarThemeWin::paintTrack):
10358 * platform/win/ScrollbarThemeWin.h:
10359 * rendering/RenderLayer.cpp:
10360 (WebCore::RenderLayer::createScrollbar):
10361 (WebCore::RenderLayer::styleChanged):
10362 * rendering/RenderScrollbar.cpp: Added.
10363 (WebCore::RenderScrollbar::createCustomScrollbar):
10364 (WebCore::RenderScrollbar::RenderScrollbar):
10365 (WebCore::RenderScrollbar::~RenderScrollbar):
10366 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
10367 (WebCore::RenderScrollbar::updateScrollbarParts):
10368 (WebCore::RenderScrollbar::updateScrollbarPart):
10369 (WebCore::RenderScrollbar::paintPart):
10370 (WebCore::RenderScrollbar::buttonRect):
10371 (WebCore::RenderScrollbar::minimumThumbLength):
10372 * rendering/RenderScrollbar.h: Added.
10373 (WebCore::RenderScrollbar::styleChanged):
10374 (WebCore::RenderScrollbar::owningRenderer):
10375 * rendering/RenderScrollbarPart.cpp: Added.
10376 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
10377 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
10378 (WebCore::RenderScrollbarPart::layout):
10379 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
10380 (WebCore::RenderScrollbarPart::layoutVerticalPart):
10381 (WebCore::calcScrollbarThicknessUsing):
10382 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
10383 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
10384 (WebCore::RenderScrollbarPart::calcPrefWidths):
10385 (WebCore::RenderScrollbarPart::setStyle):
10386 * rendering/RenderScrollbarPart.h: Added.
10387 (WebCore::RenderScrollbarPart::renderName):
10388 (WebCore::RenderScrollbarPart::requiresLayer):
10389 * rendering/RenderScrollbarTheme.cpp: Added.
10390 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
10391 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
10392 (WebCore::RenderScrollbarTheme::hasButtons):
10393 (WebCore::RenderScrollbarTheme::hasThumb):
10394 (WebCore::RenderScrollbarTheme::minimumThumbLength):
10395 (WebCore::RenderScrollbarTheme::backButtonRect):
10396 (WebCore::RenderScrollbarTheme::forwardButtonRect):
10397 (WebCore::RenderScrollbarTheme::trackRect):
10398 (WebCore::RenderScrollbarTheme::paintScrollCorner):
10399 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
10400 (WebCore::RenderScrollbarTheme::paintTrackBackground):
10401 (WebCore::RenderScrollbarTheme::paintTrackPiece):
10402 (WebCore::RenderScrollbarTheme::paintButton):
10403 (WebCore::RenderScrollbarTheme::paintThumb):
10404 * rendering/RenderScrollbarTheme.h: Added.
10405 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
10406 (WebCore::RenderScrollbarTheme::scrollbarThickness):
10407 (WebCore::RenderScrollbarTheme::buttonsPlacement):
10408 (WebCore::RenderScrollbarTheme::supportsControlTints):
10409 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
10410 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
10411 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
10412 (WebCore::RenderScrollbarTheme::registerScrollbar):
10413 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
10414 * rendering/style/RenderStyle.h:
10415 (WebCore::RenderStyle::):
10416
eric@webkit.org3df115d2008-10-10 00:08:44 +0000104172008-10-09 Eric Seidel <eric@webkit.org>
10418
10419 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +000010420
10421 Fix Canvex DOOM Game
10422 Gradient clips were not getting cleared after filling the
10423 gradient, this was causing nothing to draw in Canvex
10424 https://bugs.webkit.org/show_bug.cgi?id=21498
10425
10426 Tests forthcoming.
10427
10428 * WebCore.xcodeproj/project.pbxproj:
10429 * platform/graphics/cg/GraphicsContextCG.cpp:
10430 (WebCore::GraphicsContext::fillPath):
10431 (WebCore::GraphicsContext::strokePath):
10432 (WebCore::GraphicsContext::fillRect):
10433
104342008-10-09 Eric Seidel <eric@webkit.org>
10435
10436 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +000010437
10438 Fix transformed patterns
10439 https://bugs.webkit.org/show_bug.cgi?id=21498
10440
10441 Test: fast/canvas/patternfill-repeat.html
10442
10443 * WebCore.xcodeproj/project.pbxproj:
10444 * platform/graphics/GraphicsContext.cpp:
10445 (WebCore::GraphicsContext::setStrokePattern):
10446 (WebCore::GraphicsContext::setFillPattern):
10447 (WebCore::GraphicsContext::setStrokeGradient):
10448 (WebCore::GraphicsContext::setFillGradient):
10449 * platform/graphics/GraphicsContext.h:
10450 * platform/graphics/cairo/GraphicsContextCairo.cpp:
10451 * platform/graphics/cg/GraphicsContextCG.cpp:
10452 (WebCore::applyStrokePattern):
10453 (WebCore::applyFillPattern):
10454 (WebCore::GraphicsContext::drawPath):
10455 (WebCore::GraphicsContext::fillPath):
10456 (WebCore::GraphicsContext::strokePath):
10457 (WebCore::GraphicsContext::fillRect):
10458 * platform/graphics/qt/GraphicsContextQt.cpp:
10459 * platform/graphics/wx/GraphicsContextWx.cpp:
10460
mrowe@apple.coma2e784f2008-10-12 01:38:08 +0000104612008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +000010462
10463 wx build fixes.
10464
10465 * platform/wx/WidgetWx.cpp:
10466 * plugins/wx/PluginViewWx.cpp:
10467 (WebCore::PluginView::invalidateRect):
10468 * webcore-base.bkl:
10469
cmarrin@apple.comfe914d22008-10-09 23:04:07 +0000104702008-10-09 Chris Marrin <cmarrin@apple.com>
10471
cmarrin@apple.com8a901162008-10-09 23:59:49 +000010472 Reviewed by Darin Adler.
10473
10474 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
10475 Animations assert when navigating from page
10476
10477 Changed assertions to test the right flag for the paused state
10478
10479 * page/animation/AnimationBase.cpp:
10480 (WebCore::AnimationBase::updateStateMachine):
10481
104822008-10-09 Chris Marrin <cmarrin@apple.com>
10483
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000010484 Reviewed by Dan Bernstein.
10485
10486 Fixed > 180 degree rotation bug
10487 Ensure that validateTransformFunctionList() is called after updating keyframe styles
10488
10489 https://bugs.webkit.org/show_bug.cgi?id=21420
10490
10491 Test: animations/big-rotation.html
10492
10493 * page/animation/KeyframeAnimation.cpp:
10494 (WebCore::KeyframeAnimation::KeyframeAnimation):
10495
beidson@apple.comc90a4422008-10-09 20:43:24 +0000104962008-10-09 Brady Eidson <beidson@apple.com>
10497
10498 Reviewed by Anders
10499
10500 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
10501
10502 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
10503
10504 * loader/FrameLoader.cpp:
10505 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
10506 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
10507 so perform a second null check on the page. Bail if it has been cleared.
10508
alp@webkit.org81906422008-10-09 16:21:43 +0000105092008-10-09 Alp Toker <alp@nuanti.com>
10510
10511 Build fix for recent DOM generation Makefile changes when custom
10512 CFLAGS/CXXFLAGS are passed in.
10513
10514 * GNUmakefile.am:
10515
alp@webkit.orgbedd8d82008-10-09 16:13:53 +0000105162008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
10517
10518 Reviewed by Alp Toker.
10519
10520 https://bugs.webkit.org/show_bug.cgi?id=21390
10521 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
10522
10523 * platform/gtk/ScrollViewGtk.cpp:
10524 (WebCore::ScrollView::platformRemoveChild):
10525
darin@apple.com2d343692008-10-09 08:37:04 +0000105262008-10-09 Darin Adler <darin@apple.com>
10527
10528 - try to fix Qt build
10529
10530 * bridge/qt/qt_runtime.cpp:
10531 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
10532
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +0000105332008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
10534
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +000010535 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000010536
10537 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
10538 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
10539 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
10540
10541 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
10542 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
10543 use tree is rebuild.
10544
10545 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
10546 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
10547 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
10548 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
10549 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
10550 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
10551 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
10552 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
10553
10554 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
10555 see resources/use-instanceRoot-event-bubbling.js for details.
10556
10557 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
10558 svg/custom/use-elementInstance-methods.svg (reenabled)
10559 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
10560 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
10561 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
10562 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
10563
10564 * DerivedSources.make:
10565 * GNUmakefile.am:
10566 * WebCore.pro:
10567 * WebCore.vcproj/WebCore.vcproj:
10568 * WebCore.xcodeproj/project.pbxproj:
10569 * bindings/js/JSEventListener.h:
10570 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
10571 * bindings/js/JSEventTarget.cpp:
10572 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
10573 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
10574 * bindings/js/JSSVGElementInstanceCustom.cpp:
10575 (WebCore::JSSVGElementInstance::addEventListener):
10576 (WebCore::JSSVGElementInstance::removeEventListener):
10577 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
10578 * bindings/scripts/CodeGeneratorJS.pm:
10579 * bindings/scripts/CodeGeneratorObjC.pm:
10580 * dom/EventListener.h:
10581 (WebCore::EventListener::wasCreatedFromMarkup):
10582 * dom/EventTargetNode.cpp:
10583 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
10584 (WebCore::EventTargetNode::addEventListener):
10585 (WebCore::EventTargetNode::removeEventListener):
10586 (WebCore::eventTargetAsSVGElementInstance):
10587 (WebCore::eventTargetRespectingSVGTargetRules):
10588 (WebCore::EventTargetNode::dispatchEvent):
10589 (WebCore::EventTargetNode::dispatchGenericEvent):
10590 (WebCore::EventTargetNode::removeEventListenerForType):
10591 * page/EventHandler.cpp:
10592 (WebCore::EventHandler::clear):
10593 (WebCore::instanceAssociatedWithShadowTreeElement):
10594 (WebCore::EventHandler::updateMouseEventTargetNode):
10595 * page/EventHandler.h:
10596 * svg/EventTargetSVGElementInstance.cpp: Removed.
10597 * svg/EventTargetSVGElementInstance.h: Removed.
10598 * svg/SVGElementInstance.cpp:
10599 (WebCore::SVGElementInstance::SVGElementInstance):
10600 (WebCore::SVGElementInstance::~SVGElementInstance):
10601 (WebCore::SVGElementInstance::childNodes):
10602 (WebCore::SVGElementInstance::setShadowTreeElement):
10603 (WebCore::SVGElementInstance::forgetWrapper):
10604 (WebCore::SVGElementInstance::appendChild):
10605 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
10606 (WebCore::SVGElementInstance::setNeedsUpdate):
10607 (WebCore::SVGElementInstance::associatedFrame):
10608 (WebCore::SVGElementInstance::addEventListener):
10609 (WebCore::SVGElementInstance::removeEventListener):
10610 (WebCore::SVGElementInstance::dispatchEvent):
10611 (WebCore::SVGElementInstance::onabort):
10612 (WebCore::SVGElementInstance::setOnabort):
10613 (WebCore::SVGElementInstance::onblur):
10614 (WebCore::SVGElementInstance::setOnblur):
10615 (WebCore::SVGElementInstance::onchange):
10616 (WebCore::SVGElementInstance::setOnchange):
10617 (WebCore::SVGElementInstance::onclick):
10618 (WebCore::SVGElementInstance::setOnclick):
10619 (WebCore::SVGElementInstance::oncontextmenu):
10620 (WebCore::SVGElementInstance::setOncontextmenu):
10621 (WebCore::SVGElementInstance::ondblclick):
10622 (WebCore::SVGElementInstance::setOndblclick):
10623 (WebCore::SVGElementInstance::onerror):
10624 (WebCore::SVGElementInstance::setOnerror):
10625 (WebCore::SVGElementInstance::onfocus):
10626 (WebCore::SVGElementInstance::setOnfocus):
10627 (WebCore::SVGElementInstance::oninput):
10628 (WebCore::SVGElementInstance::setOninput):
10629 (WebCore::SVGElementInstance::onkeydown):
10630 (WebCore::SVGElementInstance::setOnkeydown):
10631 (WebCore::SVGElementInstance::onkeypress):
10632 (WebCore::SVGElementInstance::setOnkeypress):
10633 (WebCore::SVGElementInstance::onkeyup):
10634 (WebCore::SVGElementInstance::setOnkeyup):
10635 (WebCore::SVGElementInstance::onload):
10636 (WebCore::SVGElementInstance::setOnload):
10637 (WebCore::SVGElementInstance::onmousedown):
10638 (WebCore::SVGElementInstance::setOnmousedown):
10639 (WebCore::SVGElementInstance::onmousemove):
10640 (WebCore::SVGElementInstance::setOnmousemove):
10641 (WebCore::SVGElementInstance::onmouseout):
10642 (WebCore::SVGElementInstance::setOnmouseout):
10643 (WebCore::SVGElementInstance::onmouseover):
10644 (WebCore::SVGElementInstance::setOnmouseover):
10645 (WebCore::SVGElementInstance::onmouseup):
10646 (WebCore::SVGElementInstance::setOnmouseup):
10647 (WebCore::SVGElementInstance::onmousewheel):
10648 (WebCore::SVGElementInstance::setOnmousewheel):
10649 (WebCore::SVGElementInstance::onbeforecut):
10650 (WebCore::SVGElementInstance::setOnbeforecut):
10651 (WebCore::SVGElementInstance::oncut):
10652 (WebCore::SVGElementInstance::setOncut):
10653 (WebCore::SVGElementInstance::onbeforecopy):
10654 (WebCore::SVGElementInstance::setOnbeforecopy):
10655 (WebCore::SVGElementInstance::oncopy):
10656 (WebCore::SVGElementInstance::setOncopy):
10657 (WebCore::SVGElementInstance::onbeforepaste):
10658 (WebCore::SVGElementInstance::setOnbeforepaste):
10659 (WebCore::SVGElementInstance::onpaste):
10660 (WebCore::SVGElementInstance::setOnpaste):
10661 (WebCore::SVGElementInstance::ondragenter):
10662 (WebCore::SVGElementInstance::setOndragenter):
10663 (WebCore::SVGElementInstance::ondragover):
10664 (WebCore::SVGElementInstance::setOndragover):
10665 (WebCore::SVGElementInstance::ondragleave):
10666 (WebCore::SVGElementInstance::setOndragleave):
10667 (WebCore::SVGElementInstance::ondrop):
10668 (WebCore::SVGElementInstance::setOndrop):
10669 (WebCore::SVGElementInstance::ondragstart):
10670 (WebCore::SVGElementInstance::setOndragstart):
10671 (WebCore::SVGElementInstance::ondrag):
10672 (WebCore::SVGElementInstance::setOndrag):
10673 (WebCore::SVGElementInstance::ondragend):
10674 (WebCore::SVGElementInstance::setOndragend):
10675 (WebCore::SVGElementInstance::onreset):
10676 (WebCore::SVGElementInstance::setOnreset):
10677 (WebCore::SVGElementInstance::onresize):
10678 (WebCore::SVGElementInstance::setOnresize):
10679 (WebCore::SVGElementInstance::onscroll):
10680 (WebCore::SVGElementInstance::setOnscroll):
10681 (WebCore::SVGElementInstance::onsearch):
10682 (WebCore::SVGElementInstance::setOnsearch):
10683 (WebCore::SVGElementInstance::onselect):
10684 (WebCore::SVGElementInstance::setOnselect):
10685 (WebCore::SVGElementInstance::onselectstart):
10686 (WebCore::SVGElementInstance::setOnselectstart):
10687 (WebCore::SVGElementInstance::onsubmit):
10688 (WebCore::SVGElementInstance::setOnsubmit):
10689 (WebCore::SVGElementInstance::onunload):
10690 (WebCore::SVGElementInstance::setOnunload):
10691 * svg/SVGElementInstance.h:
10692 (WebCore::SVGElementInstance::needsUpdate):
10693 (WebCore::SVGElementInstance::toNode):
10694 (WebCore::SVGElementInstance::toSVGElementInstance):
10695 (WebCore::SVGElementInstance::correspondingElement):
10696 (WebCore::SVGElementInstance::correspondingUseElement):
10697 (WebCore::SVGElementInstance::shadowTreeElement):
10698 (WebCore::SVGElementInstance::parentNode):
10699 (WebCore::SVGElementInstance::previousSibling):
10700 (WebCore::SVGElementInstance::nextSibling):
10701 (WebCore::SVGElementInstance::firstChild):
10702 (WebCore::SVGElementInstance::lastChild):
10703 (WebCore::SVGElementInstance::ownerDocument):
10704 (WebCore::SVGElementInstance::hasChildNodes):
10705 (WebCore::SVGElementInstance::setFirstChild):
10706 (WebCore::SVGElementInstance::setLastChild):
10707 (WebCore::SVGElementInstance::setNextSibling):
10708 (WebCore::SVGElementInstance::setPreviousSibling):
10709 (WebCore::SVGElementInstance::refEventTarget):
10710 (WebCore::SVGElementInstance::derefEventTarget):
10711 * svg/SVGElementInstance.idl:
10712 * svg/SVGStyledElement.cpp:
10713 (WebCore::SVGStyledElement::svgAttributeChanged):
10714 (WebCore::SVGStyledElement::childrenChanged):
10715 * svg/SVGUseElement.cpp:
10716 (WebCore::SVGUseElement::svgAttributeChanged):
10717 (WebCore::shadowTreeContainsChangedNodes):
10718 (WebCore::SVGUseElement::recalcStyle):
10719 (WebCore::dumpInstanceTree):
10720 (WebCore::SVGUseElement::buildPendingResource):
10721 (WebCore::SVGUseElement::buildInstanceTree):
10722 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
10723 * svg/SVGUseElement.h:
10724
weinig@apple.com25cef102008-10-09 00:14:50 +0000107252008-10-08 Sam Weinig <sam@webkit.org>
10726
10727 Reviewed by Cameron Zwarich.
10728
10729 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
10730 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
10731
10732 Update JSRGBColor to use the new static function per getter approach.
10733
10734 Test: fast/dom/css-RGBValue.html
10735
10736 * bindings/js/JSRGBColor.cpp:
10737 (WebCore::):
10738 (jsRGBColorRed):
10739 (jsRGBColorGreen):
10740 (jsRGBColorBlue):
10741 * bindings/js/JSRGBColor.h:
10742
eric@webkit.org4966e4a2008-10-08 22:48:55 +0000107432008-10-08 Eric Seidel <eric@webkit.org>
10744
10745 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
10746
10747 svgElement.className.baseValue = "foo" does not work
10748 https://bugs.webkit.org/show_bug.cgi?id=20651
10749
10750 * dom/StyledElement.cpp:
10751 (WebCore::StyledElement::classAttributeChanged):
10752 (WebCore::StyledElement::parseMappedAttribute):
10753 * dom/StyledElement.h:
10754 * svg/SVGStyledElement.cpp:
10755 (WebCore::SVGStyledElement::svgAttributeChanged):
10756
timothy@apple.com08664892008-10-08 16:41:15 +0000107572008-10-08 Anthony Ricaud <rik24d@gmail.com>
10758
10759 Make the toolbar label text-shadow not disappear when clicking on the
10760 search result count or around the search field.
10761
10762 Reviewed by Timothy Hatcher.
10763
10764 * inspector/front-end/inspector.css:
10765 (.toolbar-item:active .toolbar-label): Make this rule also require the
10766 toggleable class with the toolbar-item class.
10767
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +0000107682008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
10769
10770 Reviewed by Simon.
10771
10772 Updated the qrc file for the Web Inspector to contain the current set
10773 of images.
10774
10775 * inspector/front-end/WebKit.qrc:
10776
hausmann@webkit.org49650de2008-10-08 12:43:13 +0000107772008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
10778
10779 Reviewed by Simon.
10780
10781 Fix the linking of applications against WebKit on Qt/Windows.
10782
10783 The prl files that qmake creates are buggy on Unix, but we they're
10784 fine on Windows and we have to have them there in order to get the
10785 dependencies correct.
10786
10787 * WebCore.pro:
10788
hausmann@webkit.org96f013f2008-10-08 12:11:44 +0000107892008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
10790
10791 Reviewed by Simon.
10792
10793 Speed up rectangle filling by not re-creating a QBrush all the time.
10794
10795 This triggers faster path in QPainter where the brush is reused.
10796
10797 * platform/graphics/qt/GraphicsContextQt.cpp:
10798 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
10799 (WebCore::GraphicsContext::fillRect):
10800
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +0000108012008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
10802
10803 Reviewed by Simon.
10804
10805 Fixes: Encoding of Qt URLs
10806
10807 This encoding was added by Simon and I because QUrl's
10808 tolerant parser wasn't tolerant enough. Now it is, so we don't need
10809 this anymore.
10810
10811 * platform/qt/KURLQt.cpp:
10812 (WebCore::KURL::operator QUrl):
10813
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +0000108142008-10-08 Marius Storm-Olsen <marius@trolltech.com>
10815
10816 Reviewed by Simon.
10817
10818 Fixes dependencies in qmake generated visual studio projects.
10819
10820 Only add debug lib name if we're in the debug build_pass, else the release version.
10821 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
10822
10823 * WebCore.pro:
10824
hausmann@webkit.org40df3c32008-10-08 09:10:04 +0000108252008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
10826
10827 Reviewed by Simon.
10828
10829 Fix compilation errors on VS2008 64Bit
10830
10831 * platform/text/TextStream.cpp:
10832 (WebCore::TextStream::operator<<):
10833 * platform/text/TextStream.h:
10834 * plugins/win/PluginViewWin.cpp:
10835 (WebCore::PluginView::init):
10836
alp@webkit.org76e7f9a2008-10-08 00:42:37 +0000108372008-10-07 Alp Toker <alp@nuanti.com>
10838
10839 GTK+ build fix for older automake versions (1.7). Discussed in bug
10840 #21392.
10841
10842 * GNUmakefile.am:
10843
andersca@apple.comdca58502008-10-07 23:31:34 +0000108442008-10-07 Anders Carlsson <andersca@apple.com>
10845
10846 Reviewed by Antti Koivisto.
10847
10848 <rdar://problem/6273887> Crash in ApplicationCacheGroup
10849
10850 Make sure to stop loading even before a cache update is in progress so that the
10851 manifest load will be stopped.
10852
10853 * loader/appcache/ApplicationCacheGroup.cpp:
10854 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
10855 (WebCore::ApplicationCacheGroup::stopLoading):
10856 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
10857
timothy@apple.com59a87132008-10-07 21:49:43 +0000108582008-10-07 Timothy Hatcher <timothy@apple.com>
10859
timothy@apple.com754474e2008-10-07 21:49:55 +000010860 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
10861
10862 https://bugs.webkit.org/show_bug.cgi?id=21433
10863
10864 Reviewed by Sam Weinig.
10865
10866 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
10867 * bindings/objc/DOM.mm: Remove previous category implementations
10868 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
10869 moves ObjCNodeFilterCondition to its own file.
10870 * bindings/objc/DOMTraversal.h: Remove the category methods that added
10871 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
10872 to do since DOmDocument.h is included still, and has these methods.
10873 * bindings/objc/DOMUtility.mm:
10874 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
10875 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
10876 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
10877 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
10878 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
10879 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
10880 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
10881 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
10882 createTreeWalker: methods to DOMDocument.
10883 * bindings/scripts/CodeGeneratorObjC.pm:
10884 (GetObjCTypeGetter): Add a case for NodeFilter.
10885 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
10886 (GenerateImplementation): Remove existing NodeFilter special case that
10887 used the m_filter member variable. Add a new special getter for protocol
10888 types that aren't EventTarget, so the right class is used for NodeFilter.
10889 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
10890 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
10891 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
10892 Rename the entityReferenceExpansion parameter to expandEntityReferences to
10893 match the previous ObjC API.
10894 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
10895 m_filter member variable was never used in practice, it was always nil!
10896 We can remove it and not pad the object because this can't be subclassed.
10897 * dom/TreeWalker.idl: Ditto.
10898
108992008-10-07 Timothy Hatcher <timothy@apple.com>
10900
timothy@apple.com59a87132008-10-07 21:49:43 +000010901 Auto-generate the DOMEventTarget protocol implementation for
10902 DOMNode and DOMSVGElementInstance.
10903
10904 https://bugs.webkit.org/show_bug.cgi?id=21432
10905
10906 Reviewed by Darin Adler.
10907
10908 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
10909 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
10910 ObjCEventListener to it's own file. Remove the manual impelmentations
10911 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
10912 * bindings/objc/DOMEvents.h: Remove the categories that defined
10913 DOMEventTarget for DOMNode and DOMSVGElementInstance.
10914 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
10915 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
10916 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
10917 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
10918 callers from doing a manual deref.
10919 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
10920 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
10921 * bindings/scripts/CodeGeneratorObjC.pm:
10922 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
10923 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
10924 And include EventTargetSVGElementInstance.h for SVGElementInstance.
10925 (GenerateHeader): Remove the check for multiple parents.
10926 (GenerateImplementation): Remove the check for multiple parents. Remove
10927 the @deprecatedFunctions array since deprecated methods get generated
10928 into the main @interface now to work with protocols. Add support
10929 for the EventTargetNodeCast extended attribute. Add support for
10930 EventListener parameters.
10931 * dom/Node.idl: Define superclasses for ObjC so the implementation
10932 and interface implement the DOMEventTarget protocol. Explicitly
10933 specify Object as a superclass to use DOMEventTarget. Object will turn
10934 into DOMObject. This is needed to take the code generator down the right
10935 path of multiple super-classes as protocols. It is ObjC only for legacy
10936 reasons. The event target methods are normally on NodeEventTarget, a
10937 subclass of Node. But the ObjC API has never has this subclass and
10938 they are on DOMNode.
10939 * svg/SVGElementInstance.idl: Ditto.
10940
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +0000109412008-10-07 David Hyatt <hyatt@apple.com>
10942
10943 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
10944
10945 The new pseudo-elements are:
10946 scrollbar
10947 scrollbar-button
10948 scrollbar-corner
10949 scrollbar-thumb
10950 scrollbar-track
10951
10952 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
10953 the following new pseudo-classes:
10954 scrollbar-active
10955 scrollbar-back
10956 scrollbar-forward
10957 scrollbar-horizontal
10958 scrollbar-vertical
10959
10960 Reviewed by Adele
10961
10962 * css/CSSSelector.cpp:
10963 (WebCore::CSSSelector::extractPseudoType):
10964 * css/CSSSelector.h:
10965 (WebCore::CSSSelector::):
10966
timothy@apple.com920feccc2008-10-07 21:08:29 +0000109672008-10-06 Timothy Hatcher <timothy@apple.com>
10968
10969 Add support to the Resources panel for queries like "#123", "foo #123",
10970 "line: 123" and "foo line: 123". These will match the query limiting
10971 the search only to the line specified. If only a line is specified,
10972 the whole line is matched.
10973
10974 https://bugs.webkit.org/show_bug.cgi?id=21422
10975
10976 Reviewed by Darin Adler.
10977
10978 * inspector/front-end/SourceFrame.js:
10979 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
10980 row if the index is greater than the rows collection. Let it return
10981 undefined by indexing out-of-bounds.
10982 * inspector/front-end/SourceView.js:
10983 (WebInspector.SourceView.prototype.performSearch): Add support for
10984 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
10985 Also match the whole query to the whole document in case there are
10986 colors like "#333".
10987
alp@webkit.orge1244662008-10-07 18:28:43 +0000109882008-10-07 Alp Toker <alp@nuanti.com>
10989
10990 Reviewed by Mark Rowe.
10991
10992 https://bugs.webkit.org/show_bug.cgi?id=21392
10993 [GTK] Auto-generate JS DOM binding sources list
10994
10995 Remove the huge lists of generated DOM binding sources and headers in
10996 the build system. These are difficult to maintain and can be derived
10997 automatically.
10998
10999 The new strategy is to re-use the existing lists of IDL sources (which
11000 are needed for dist support anyway). This will also ease the addition
11001 of new language bindings.
11002
11003 * GNUmakefile.am:
11004
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +0000110052008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
11006
11007 Reviewed by Simon.
11008
11009 Don't attempt to paint when updating control tints
11010
11011 We don't have a valid PlatformGraphicsContext so schedule
11012 the dirty scrollbar/scrollview area for repaint instead.
11013
11014 * platform/qt/ScrollbarThemeQt.cpp:
11015 (WebCore::ScrollbarThemeQt::paint):
11016 (WebCore::ScrollbarThemeQt::paintScrollCorner):
11017
zecke@webkit.org270bdd02008-10-07 07:54:06 +0000110182008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
11019
11020 [qt] Build fix after Scrollbar.h and Widget.h changes.
11021
11022 * plugins/qt/PluginViewQt.cpp:
11023 (WebCore::PluginView::getValue):
11024 (WebCore::PluginView::init):
11025
hyatt@apple.com3cb50a82008-10-07 06:58:08 +0000110262008-10-06 David Hyatt <hyatt@apple.com>
11027
11028 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
11029
11030 Reviewed by Sam Weinig
11031
11032 * WebCore.base.exp:
11033 * WebCore.xcodeproj/project.pbxproj:
11034 * loader/EmptyClients.h:
11035 (WebCore::EmptyFrameLoaderClient::hasWebView):
11036 * loader/FrameLoader.cpp:
11037 (WebCore::FrameLoader::loadWithDocumentLoader):
11038 (WebCore::FrameLoader::transitionToCommitted):
11039 * loader/FrameLoaderClient.h:
11040 * page/FocusController.cpp:
11041 (WebCore::FocusController::setActive):
11042 * page/FrameView.cpp:
11043 (WebCore::FrameView::FrameView):
11044 (WebCore::FrameView::init):
11045 (WebCore::FrameView::layoutIfNeededRecursive):
11046 * page/FrameView.h:
11047
mitz@apple.com869c6692b2008-10-07 04:42:51 +0000110482008-10-06 Dan Bernstein <mitz@apple.com>
11049
11050 - build fix
11051
11052 * bindings/objc/DOMEvents.h:
11053
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +0000110542008-10-06 Mark Mentovai <mark@moxienet.com>
11055
eric@webkit.org9e0b3b52008-10-07 01:14:05 +000011056 Reviewed by Tim Hatcher.
11057
11058 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
11059 Platform.h is not available, in preference to #ifdef ENABLE_feature.
11060 #ifdef is wrong now that features are disabled by #defining
11061 ENABLE_feature to 0.
11062
11063 https://bugs.webkit.org/show_bug.cgi?id=21338
11064
11065 * bindings/objc/DOMEvents.h:
11066 * bindings/objc/PublicDOMInterfaces.h:
11067 * dom/Document.idl:
11068 * page/DOMWindow.idl:
11069 * svg/svgtags.in:
11070
110712008-10-06 Mark Mentovai <mark@moxienet.com>
11072
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000011073 Reviewed by Sam Weinig.
11074
11075 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
11076 to get the declaration for isMainThread().
11077
eric@webkit.org569e8092008-10-07 01:05:34 +0000110782008-10-06 Jeremy Moskovich <jeremy@chromium.org>
11079
eric@webkit.orge8585df2008-10-07 01:09:23 +000011080 Reviewed by Tim Hatcher.
11081
11082 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
11083 to reflect that.
11084
11085 * WebCore.xcodeproj/project.pbxproj:
11086 * platform/mac/WebCoreObjCExtras.c: Removed.
11087 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
11088
110892008-10-06 Jeremy Moskovich <jeremy@chromium.org>
11090
eric@webkit.org569e8092008-10-07 01:05:34 +000011091 Reviewed by Dan Bernstein.
11092
11093 Added C++ forward declaration for the NSURLAuthenticationChallenge class
11094 so that the m_currentMacChallenge variable doesn't cause a
11095 compilation error when ResourceHandleInternal.h is included from a C++ file.
11096 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
11097
11098 * platform/network/ResourceHandleInternal.h:
11099
sfalken@apple.com01dbee12008-10-06 23:47:08 +0000111002008-10-06 Steve Falkenburg <sfalken@apple.com>
11101
sfalken@apple.come897fd92008-10-07 00:17:26 +000011102 Windows build fix.
11103
11104 * WebCore.vcproj/WebCore.vcproj:
11105
111062008-10-06 Steve Falkenburg <sfalken@apple.com>
11107
sfalken@apple.com01dbee12008-10-06 23:47:08 +000011108 https://bugs.webkit.org/show_bug.cgi?id=21416
11109 Add missing null checks identified by Application Verifier.
11110
11111 Reviewed by Darin Adler.
11112
11113 * platform/win/SharedTimerWin.cpp:
11114 (WebCore::clearTimer):
11115
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000111162008-10-06 Kevin McCullough <kmccullough@apple.com>
11117
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +000011118 Reviewed by Tim Hatcher.
11119
11120 Removed accidentally left in debugging statement.
11121
11122 * inspector/front-end/inspector.js:
11123
111242008-10-06 Kevin McCullough <kmccullough@apple.com>
11125
kmccullough@apple.com47002eb2008-10-06 23:10:09 +000011126 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000011127
11128 https://bugs.webkit.org/show_bug.cgi?id=21412
11129 Bug 21412: Refactor user initiated profile count to be more stable
11130
11131 * inspector/InspectorController.cpp: Keep track of the user-initiated
11132 profiles here now.
11133 (WebCore::InspectorController::InspectorController):
11134 (WebCore::InspectorController::startUserInitiatedProfiling):
11135 (WebCore::InspectorController::stopUserInitiatedProfiling):
11136 * inspector/InspectorController.h:
11137 The front end will now need to check for the existence of the user-
11138 initiated profile title and use its count instead of keeping its own.
11139 * inspector/front-end/ProfilesPanel.js:
11140
mitz@apple.com1d60e5c2008-10-06 20:25:46 +0000111412008-10-06 Dan Bernstein <mitz@apple.com>
11142
11143 Reviewed by Sam Weinig.
11144
11145 - separate GDI text drawing into its own function
11146
11147 * platform/graphics/win/FontCGWin.cpp:
11148 (WebCore::drawGDIGlyphs):
11149 (WebCore::Font::drawGlyphs):
11150
sfalken@apple.com593331e2008-10-06 19:55:09 +0000111512008-10-03 Steve Falkenburg <sfalken@apple.com>
11152
11153 <rdar://problem/6249833> Fix default button appearance
11154
11155 Reviewed by Adele Peterson.
11156
11157 * rendering/RenderThemeWin.cpp:
11158 (WebCore::RenderThemeWin::supportsFocus):
11159 (WebCore::RenderThemeWin::determineClassicState):
11160 (WebCore::RenderThemeWin::determineButtonState):
11161 (WebCore::RenderThemeWin::getClassicThemeData):
11162 (WebCore::RenderThemeWin::getThemeData):
11163 (WebCore::drawControl):
11164 * rendering/RenderThemeWin.h:
11165
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +0000111662008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11167
11168 Reviewed by Simon.
11169
vestbo@webkit.orgc5067902008-10-06 18:11:31 +000011170 Add native virtual keycode to PlatformKeyboardEvent
11171
11172 * platform/PlatformKeyboardEvent.h:
11173 * platform/gtk/KeyEventGtk.cpp:
11174 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11175 * platform/mac/KeyEventMac.mm:
11176 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11177 * platform/qt/PlatformKeyboardEventQt.cpp:
11178 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11179 * platform/win/KeyEventWin.cpp:
11180 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11181 * platform/wx/KeyboardEventWx.cpp:
11182 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
11183
111842008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11185
11186 Reviewed by Simon.
11187
vestbo@webkit.org89d13712008-10-06 17:51:39 +000011188 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
11189
11190 * platform/text/PlatformString.h:
11191 * platform/text/StringImpl.h:
11192 * platform/text/cf/StringCF.cpp:
11193 * platform/text/cf/StringImplCF.cpp:
11194
111952008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
11196
11197 Reviewed by Simon.
11198
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000011199 Use bundles on QtWebKit/Mac for platform modules
11200
11201 * platform/FileSystem.h:
11202 * platform/qt/FileSystemQt.cpp:
11203 (WebCore::unloadModule):
11204
hausmann@webkit.org33791a82008-10-06 17:00:48 +0000112052008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
11206
11207 Reviewed by Simon.
11208
11209 Build fix for MinGW.
11210
11211 * platform/win/SystemTimeWin.cpp:
11212 * plugins/win/PluginViewWin.cpp:
11213 (WebCore::PluginView::invalidateRect):
11214
aroben@apple.com5613e512008-10-06 15:39:39 +0000112152008-10-06 Adam Roben <aroben@apple.com>
11216
aroben@apple.combf38ff12008-10-06 15:44:16 +000011217 Mimic the inspector/ directory structure in WebCore.vcproj
11218
11219 * WebCore.vcproj/WebCore.vcproj:
11220
112212008-10-06 Adam Roben <aroben@apple.com>
11222
aroben@apple.com5613e512008-10-06 15:39:39 +000011223 Windows build fix
11224
11225 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
11226 configurations to include WebCore/inspector.
11227
eric@webkit.org15e92962008-10-06 08:23:37 +0000112282008-10-04 Eric Seidel <eric@webkit.org>
11229
11230 Reviewed by Darin Adler.
11231
11232 SVG should support ascent and descent properties <font-face> instead of <font>!
11233 https://bugs.webkit.org/show_bug.cgi?id=21365
11234
11235 Tested by many many existing SVG tests.
11236
11237 * svg/SVGFontFaceElement.cpp:
11238 (WebCore::SVGFontFaceElement::ascent):
11239 (WebCore::SVGFontFaceElement::descent):
11240
mjs@apple.com64662c82008-10-06 06:44:03 +0000112412008-10-05 Darin Fisher <darin@chromium.org>
11242
11243 Reviewed by Eric Seidel.
11244
11245 REGRESSION: crash in ScriptElement::notifyFinished
11246 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
11247
11248 * dom/ScriptElement.cpp:
11249 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
11250 ensure that the ScriptElementData object is not destroyed prematurely.
11251
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +0000112522008-10-05 Chris Lord <chris@openedhand.com>
11253
11254 Reviewed by Alp Toker. Landed by Jan Alonzo.
11255
11256 https://bugs.webkit.org/show_bug.cgi?id=20624
11257 WebKit-gtk uses deprecated GtkType/GtkObject
11258
11259 * plugins/gtk/gtk2xtbin.c:
11260 (gtk_xtbin_get_type):
11261 * plugins/gtk/gtk2xtbin.h:
11262
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +0000112632008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
11264
11265 Reviewed by David Hyatt.
11266
11267 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
11268 https://bugs.webkit.org/show_bug.cgi?id=20725
11269
11270 Updated to ToT by Jan Alonzo.
11271
11272 * plugins/gtk/PluginViewGtk.cpp:
11273 (WebCore::PluginView::getValue):
11274
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +0000112752008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
11276
11277 Reviewed by Darin Adler.
11278
11279 Invalid cast from GdkWindow to GtkWidget
11280 https://bugs.webkit.org/show_bug.cgi?id=21391
11281
11282 Fix a misplaced closing parenthesis to actually cast the widget, not the window
11283
11284 * platform/gtk/PlatformScreenGtk.cpp:
11285 (WebCore::screenDepth):
11286
abarth@webkit.orgfb074382008-10-05 19:12:30 +0000112872008-10-05 Adam Barth <abarth@webkit.org>
11288
11289 Reviewed by Darin Alder.
11290
11291 Attach the Origin header to POST requests to help defend against
11292 cross-site request forgery.
11293
11294 https://bugs.webkit.org/show_bug.cgi?id=20792
11295
11296 Collin Jackson <collinj@webkit.org> also contributed to this patch.
11297
11298 Tests: http/tests/security/originHeader/origin-header-for-data.html
11299 http/tests/security/originHeader/origin-header-for-empty.html
11300 http/tests/security/originHeader/origin-header-for-get.html
11301 http/tests/security/originHeader/origin-header-for-https.html
11302 http/tests/security/originHeader/origin-header-for-post.html
11303
11304 * bindings/js/JSDOMWindowBase.cpp:
11305 (WebCore::createWindow):
11306 * loader/FrameLoader.cpp:
11307 (WebCore::FrameLoader::createWindow):
11308 (WebCore::FrameLoader::urlSelected):
11309 (WebCore::FrameLoader::submitForm):
11310 (WebCore::FrameLoader::outgoingOrigin):
11311 (WebCore::FrameLoader::loadURL):
11312 (WebCore::FrameLoader::addExtraFieldsToRequest):
11313 (WebCore::FrameLoader::loadPostRequest):
11314 (WebCore::FrameLoader::loadResourceSynchronously):
11315 (WebCore::FrameLoader::loadItem):
11316 * loader/FrameLoader.h:
11317 * loader/SubresourceLoader.cpp:
11318 (WebCore::SubresourceLoader::create):
11319 * loader/loader.cpp:
11320 (WebCore::Loader::Host::servePendingRequests):
11321 * platform/SecurityOrigin.cpp:
11322 (WebCore::SecurityOrigin::toHTTPOrigin):
11323 * platform/SecurityOrigin.h:
11324 * platform/network/ResourceRequestBase.h:
11325 (WebCore::ResourceRequestBase::httpOrigin):
11326 (WebCore::ResourceRequestBase::setHTTPOrigin):
11327 (WebCore::ResourceRequestBase::clearHTTPOrigin):
11328 * xml/XMLHttpRequest.cpp:
11329 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
11330 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
11331 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
11332 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
11333
oliver@apple.com12c92c92008-10-05 08:28:51 +0000113342008-10-04 Oliver Hunt <oliver@apple.com>
11335
11336 Reviewed by Tim Hatcher.
11337
11338 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
11339 <https://bugs.webkit.org/show_bug.cgi?id=21381>
11340
11341 If we hit a parsing boundary (end of a packet, etc) in the middle of a
11342 <script> element when we are doing an incremental parse, we exit the
11343 parser, and reenter later when more data is available. During this
11344 reentry we incorrectly reset the scriptStartLineno to the current line
11345 in the parser, which is now part way through the script element.
11346
11347 The solution is to track whether we are entering or reentering the parsing
11348 of a script element. We do this simply by 0 checking scriptStartLineno,
11349 and resetting it after we complete parsing of each script element.
11350
11351 Test: http/tests/incremental/pause-in-script-element.pl
11352
11353 * ChangeLog:
11354 * html/HTMLTokenizer.cpp:
11355 (WebCore::HTMLTokenizer::parseSpecial):
11356 (WebCore::HTMLTokenizer::scriptHandler):
11357
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +0000113582008-10-04 Alp Toker <alp@nuanti.com>
11359
11360 Reviewed by David Hyatt. Landed by Jan Alonzo.
11361
11362 https://bugs.webkit.org/show_bug.cgi?id=20924
11363 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
11364
11365 https://bugs.webkit.org/show_bug.cgi?id=19578
11366 [CURL] problem in parseDataUrl
11367
11368 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
11369 This patch also fixes encoding support in escaped (non-Base64) data
11370 URLs. All manual data URL tests now pass in both GLib and non-GLib
11371 code paths.
11372
11373 * platform/network/curl/ResourceHandleManager.cpp:
11374 (WebCore::parseDataUrl):
11375
timothy@apple.com5c58fb12008-10-05 04:12:40 +0000113762008-10-04 Timothy Hatcher <timothy@apple.com>
11377
11378 Makes breakpoints and debugging code during page load work in the
11379 Web Inspector's debugger. Specifically, this makes the source
11380 code for loading resources show up in the Scripts panel.
11381
11382 https://bugs.webkit.org/show_bug.cgi?id=19053
11383 rdar://problem/5933408
11384
11385 Reviewed by Mark Rowe.
11386
11387 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
11388 not using tabs and a tab width of 8.
11389 * inspector/InspectorController.cpp:
11390 (WebCore::addResourceSourceToFrame): Return a bool to report if the
11391 source was added successfully or not.
11392 (WebCore::addSourceToFrame): Ditto.
11393 * inspector/front-end/ScriptView.js:
11394 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
11395 Return early if the InspectorController.addSourceToFrame fails.
11396 Moved the delete of the _frameNeedsSetup property after that call so
11397 if the source wasn't added it will be attempted again.
11398 * inspector/front-end/SourceView.js:
11399 (WebInspector.SourceView.prototype.detach): Move a comment.
11400 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
11401 Don't check if the resource is finished or failed, just attempt
11402 to add the source to the frame. WebCore has the source, but the
11403 finished property hasn't been set yet. Return early if the
11404 InspectorController.addSourceToFrame fails. Moved the delete
11405 of the _frameNeedsSetup property after that call so if the source
11406 wasn't added it will be attempted again.
11407 (WebInspector.SourceView.prototype._resourceLoadingFinished):
11408 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
11409 the source frame will we populated again now that the resource
11410 load has finished.
11411 * manual-tests/inspector/debugger-pause-during-load.html: Added.
11412
mrowe@apple.comb3214652008-10-05 03:04:18 +0000114132008-10-04 Mark Rowe <mrowe@apple.com>
11414
11415 Reviewed by Tim Hatcher.
11416
11417 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
11418
11419 * WebCore.xcodeproj/project.pbxproj:
11420
hyatt@apple.coma4a9e252008-10-05 00:55:01 +0000114212008-10-04 David Hyatt <hyatt@apple.com>
11422
11423 https://bugs.webkit.org/show_bug.cgi?id=21373
11424
11425 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
11426 is still present.
11427
11428 Reviewed by Mark Rowe
11429
11430 * page/FrameView.cpp:
11431 (WebCore::FrameView::~FrameView):
11432
weinig@apple.com3b7e4b12008-10-04 22:52:19 +0000114332008-10-04 Sam Weinig <sam@webkit.org>
11434
11435 Reviewed by Dan Bernstein.
11436
11437 Avoid copying a Vector when using getSupportedKeySizes.
11438
11439 * html/HTMLKeygenElement.cpp:
11440 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
11441 * platform/SSLKeyGenerator.h:
11442 * platform/gtk/TemporaryLinkStubs.cpp:
11443 (WebCore::getSupportedKeySizes):
11444 * platform/mac/SSLKeyGeneratorMac.mm:
11445 (WebCore::getSupportedKeySizes):
11446 * platform/qt/TemporaryLinkStubs.cpp:
11447 (WebCore::getSupportedKeySizes):
11448 * platform/win/TemporaryLinkStubs.cpp:
11449 (WebCore::getSupportedKeySizes):
11450 * platform/wx/TemporaryLinkStubs.cpp:
11451 (WebCore::getSupportedKeySizes):
11452
darin@apple.com28f84fc2008-10-04 21:10:00 +0000114532008-10-04 Darin Adler <darin@apple.com>
11454
11455 Reviewed by Cameron Zwarich.
11456
11457 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
11458 Bug 21295: Replace ExecState with a call frame Register pointer
11459
11460 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11461 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
11462 Remove bogus "const".
11463 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
11464
hyatt@apple.comb17c7752008-10-04 21:03:11 +0000114652008-10-04 David Hyatt <hyatt@apple.com>
11466
11467 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
11468
11469 Reviewed by Darin Adler
11470
11471 * WebCore.xcodeproj/project.pbxproj:
11472 * platform/PopupMenuClient.h:
11473 * platform/gtk/PopupMenuGtk.cpp:
11474 (WebCore::PopupMenu::show):
11475 * platform/mac/PopupMenuMac.mm:
11476 (WebCore::PopupMenu::populate):
11477 (WebCore::PopupMenu::show):
11478 * platform/qt/PopupMenuQt.cpp:
11479 (WebCore::PopupMenu::populate):
11480 * platform/win/PopupMenuWin.cpp:
11481 (WebCore::PopupMenu::calculatePositionAndSize):
11482 (WebCore::PopupMenu::paint):
11483 (WebCore::PopupWndProc):
11484 * rendering/RenderMenuList.cpp:
11485 (WebCore::RenderMenuList::itemStyle):
11486 (WebCore::RenderMenuList::menuStyle):
11487 (WebCore::RenderMenuList::hostWindow):
11488 * rendering/RenderMenuList.h:
11489 * rendering/RenderTextControl.cpp:
11490 (WebCore::RenderTextControl::itemStyle):
11491 (WebCore::RenderTextControl::menuStyle):
11492 (WebCore::RenderTextControl::hostWindow):
11493 * rendering/RenderTextControl.h:
11494
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +0000114952008-10-04 Matt Lilek <webkit@mattlilek.com>
11496
11497 Build fix - restore Private role to headers that had it before the move.
11498
11499 * WebCore.xcodeproj/project.pbxproj:
11500
darin@apple.com2f394342008-10-04 18:37:11 +0000115012008-10-04 Darin Adler <darin@apple.com>
11502
11503 - try to fix build
11504
11505 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +000011506 * GNUmakefile.am: Add new inspector directory to includes.
11507 Re-sort the IDL_BINDINGS list. Add new inspector directory
11508 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +000011509
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +0000115102008-10-04 Matt Lilek <webkit@mattlilek.com>
11511
11512 Not reviewed, attempt to fix Gtk build.
11513
11514 * GNUmakefile.am:
11515
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000115162008-10-03 Timothy Hatcher <timothy@apple.com>
11517
timothy@apple.com9c94f6b2008-10-04 08:10:54 +000011518 Move the Web Inspector files into a top-level "inspector" folder.
11519
11520 https://bugs.webkit.org/show_bug.cgi?id=21359
11521
11522 Reviewed by Dave Hyatt.
11523
11524 * GNUmakefile.am:
11525 * WebCore.pro:
11526 * WebCore.vcproj/WebCore.vcproj:
11527 * WebCore.xcodeproj/project.pbxproj:
11528 * WebCoreSources.bkl:
11529 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
11530 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
11531 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
11532 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
11533 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
11534 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
11535 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
11536 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
11537 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
11538 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
11539 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
11540 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
11541 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
11542 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
11543 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
11544 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
11545 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
11546 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
11547 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
11548 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
11549 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
11550 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
11551 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
11552 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
11553 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
11554 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
11555 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
11556 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
11557 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
11558 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
11559 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
11560 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
11561 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
11562 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
11563 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
11564 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
11565 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
11566 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
11567 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
11568 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
11569 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
11570 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
11571 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
11572 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
11573 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
11574 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
11575 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
11576 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
11577 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
11578 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
11579 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
11580 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
11581 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
11582 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
11583 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
11584 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
11585 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
11586 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
11587 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
11588 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
11589 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
11590 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
11591 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
11592 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
11593 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
11594 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
11595 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
11596 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
11597 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
11598 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
11599 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
11600 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
11601 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
11602 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
11603 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
11604 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
11605 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
11606 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
11607 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
11608 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
11609 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
11610 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
11611 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
11612 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
11613 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
11614 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
11615 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
11616 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
11617 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
11618 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
11619 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
11620 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
11621 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
11622 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
11623 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
11624 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
11625 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
11626 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
11627 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
11628 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
11629 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
11630 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
11631 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
11632 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
11633 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
11634 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
11635 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
11636 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
11637 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
11638 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
11639 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
11640 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
11641 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
11642 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
11643 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
11644 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
11645 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
11646 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
11647 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
11648 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
11649 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
11650 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
11651 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
11652 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
11653 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
11654 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
11655 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
11656 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
11657 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
11658 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
11659 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
11660 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
11661 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
11662 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
11663 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
11664 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
11665 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
11666 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
11667 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
11668 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
11669 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
11670 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
11671 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
11672 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
11673 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
11674 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
11675 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
11676 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
11677 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
11678 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
11679 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
11680 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
11681 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
11682 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
11683 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
11684 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
11685
116862008-10-03 Timothy Hatcher <timothy@apple.com>
11687
timothy@apple.com11eb1a32008-10-04 08:09:52 +000011688 Adds support to the Web Inspector's Elements panel for fast tag name,
11689 class name, id and attribute name searching. The panel first tries
11690 using getElementById, getElementsByClassName and getElementsByTagName
11691 with the search query. Then does a slower search using XPath for partial
11692 matches, text and comment matches.
11693
11694 Adds support for search queries like "<div>", "<h" and "frame>".
11695 These forms limit the search to tag names, text and comment matches.
11696
11697 https://bugs.webkit.org/show_bug.cgi?id=21353
11698
11699 Reviewed by Maciej Stachowiak.
11700
11701 * page/inspector/ElementsPanel.js:
11702 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
11703 support. Add new search functions that try exact matches first.
11704
117052008-10-03 Timothy Hatcher <timothy@apple.com>
11706
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000011707 Changes how searching works in the Web Inspector's Elements
11708 panel. The search tasks are divided into chunks that are small
11709 units of work that are performed at a time interval. This
11710 change also prevents queries that will select all elements,
11711 since that isn't useful.
11712
11713 https://bugs.webkit.org/show_bug.cgi?id=21285
11714
11715 Reviewed by Oliver Hunt.
11716
11717 * page/inspector/ElementsPanel.js:
11718 (WebInspector.ElementsPanel.prototype.searchCancled):
11719 Remove the searchResultsProperty form results since there might
11720 be an unfinished search.
11721 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
11722 documents and search functions into chunks that are performed on
11723 a interval of 25ms. Prevent searches for "//*" and "*".
11724
mjs@apple.com8b246d62008-10-04 07:15:33 +0000117252008-10-03 Maciej Stachowiak <mjs@apple.com>
11726
11727 Reviewed by Cameron Zwarich.
11728
11729 - "this" object in methods called on primitives should be wrapper object
11730 https://bugs.webkit.org/show_bug.cgi?id=21362
11731
11732 Updated so toThis conversion for the split window is handled properly.
11733
11734 * bindings/scripts/CodeGeneratorJS.pm:
11735
weinig@apple.com1b4545c2008-10-04 05:16:40 +0000117362008-10-03 Sam Weinig <sam@webkit.org>
11737
11738 Reviewed by David "The Motivator" Hyatt.
11739
11740 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
11741 Move SecurityOrigin out of platform/ to page/.
11742
11743 It was a layering violation for SecurityOrigin to be in platform
11744 as it depended on FrameLoader.
11745
11746 * GNUmakefile.am:
11747 * WebCore.pro:
11748 * WebCore.vcproj/WebCore.vcproj:
11749 * WebCore.xcodeproj/project.pbxproj:
11750 * WebCoreSources.bkl:
11751 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
11752 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
11753 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
11754 * platform/SecurityOrigin.cpp: Removed.
11755 * platform/SecurityOrigin.h: Removed.
11756 * platform/SecurityOriginHash.h: Removed.
11757
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +0000117582008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
11759
11760 Reviewed by Alp Toker.
11761
11762 http://bugs.webkit.org/show_bug.cgi?id=18832
11763 [curl] file upload does not work
11764
11765 The curl_off_t integer type has a different size depending if large
11766 file support is enabled or not. There is no different public API for
11767 the two cases, so the same function accepts a different type based on
11768 a compilation option the could be different in WebKit and libcurl.
11769 To fix the bug we query libcurl at runtime for large file support and
11770 pass the right type based on that.
11771
11772 * platform/network/curl/ResourceHandleManager.cpp:
11773 (WebCore::ResourceHandleManager::setupPOST):
11774
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +0000117752008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
11776
11777 Reviewed by David Hyatt.
11778
11779 Gtk build fixes.
11780
11781 * platform/gtk/FileChooserGtk.cpp:
11782 (WebCore::FileChooser::openFileChooser):
11783 * platform/gtk/PlatformScreenGtk.cpp:
11784 (WebCore::screenDepth):
11785 (WebCore::screenDepthPerComponent):
11786 (WebCore::screenAvailableRect):
11787 * platform/gtk/PopupMenuGtk.cpp:
11788 (WebCore::PopupMenu::show):
11789 * platform/gtk/ScrollViewGtk.cpp:
11790 (WebCore::ScrollView::platformAddChild):
11791 (WebCore::ScrollView::platformRemoveChild):
11792 * platform/gtk/WidgetGtk.cpp:
11793 (WebCore::Widget::setCursor):
11794 * plugins/gtk/PluginViewGtk.cpp:
11795 (WebCore::PluginView::getValue):
11796 (WebCore::PluginView::forceRedraw):
11797 (WebCore::PluginView::init):
11798
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000117992008-10-03 David Hyatt <hyatt@apple.com>
11800
hyatt@apple.com55377bb2008-10-04 01:09:37 +000011801 Fix Qt bustage from missing include.
11802
11803 * platform/qt/PlatformScreenQt.cpp:
11804
118052008-10-03 David Hyatt <hyatt@apple.com>
11806
hyatt@apple.comeff53462008-10-04 01:08:35 +000011807 Fix Windows scrollbar bustage in popup menus.
11808
11809 * platform/win/PopupMenuWin.cpp:
11810 (WebCore::PopupWndProc):
11811
118122008-10-03 David Hyatt <hyatt@apple.com>
11813
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000011814 Fix Windows bustage.
11815
11816 * platform/win/FileChooserWin.cpp:
11817 (WebCore::FileChooser::openFileChooser):
11818 * platform/win/PlatformScreenWin.cpp:
11819 (WebCore::monitorInfoForWidget):
11820 * platform/win/WidgetWin.cpp:
11821 * plugins/win/PluginViewWin.cpp:
11822 (WebCore::PluginView::getValue):
11823 (WebCore::PluginView::forceRedraw):
11824 (WebCore::PluginView::init):
11825
darin@apple.com3d73fee2008-10-03 21:39:16 +0000118262008-10-03 Darin Adler <darin@apple.com>
11827
darin@apple.comc1e2d312008-10-03 22:55:04 +000011828 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
11829 seen on some machines but not others by adding an include.
11830
118312008-10-03 Darin Adler <darin@apple.com>
11832
darin@apple.com682a07e2008-10-03 22:41:30 +000011833 - Qt build fix
11834
11835 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
11836 execute functions. Declarations for these relied on the CodeType
11837 enumeration, which used to be in ExecState.h; but the functions
11838 aren't needed at all.
11839 * bridge/qt/qt_runtime.h: Ditto.
11840
118412008-10-03 Darin Adler <darin@apple.com>
11842
darin@apple.com3d73fee2008-10-03 21:39:16 +000011843 Reviewed by Geoff Garen.
11844
11845 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
11846 Turn ExecState into a call frame pointer.
11847
11848 Remove m_globalObject and m_globalData from ExecState.
11849
11850 * bindings/js/JSDOMWindowBase.cpp:
11851 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
11852 Removed an argument now that JSGlobalObject doesn't need it any more.
11853 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
11854 the JSDOMWindowBaseData constructor, and added the this argument to the
11855 JSGlobalObject constructor. This is because a couple key bits of
11856 initialization moved from the data constructor to the JSGlobalObject
11857 constructor.
11858 * bindings/js/JSDOMWindowBase.h: Ditto.
11859
11860 * bridge/qt/qt_runtime.cpp:
11861 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
11862 * bridge/runtime_method.cpp:
11863 (JSC::RuntimeMethod::RuntimeMethod):
11864 Pass JSGlobalData* instead of ExecState* to the InternalFunction
11865 constructor.
11866
hyatt@apple.com0e7921d2008-10-03 21:16:13 +0000118672008-10-03 David Hyatt <hyatt@apple.com>
11868
11869 Fix Windows/Qt build bustage.
11870
11871 Reviewed by ggaren
11872
11873 * loader/EmptyClients.h:
11874 (WebCore::EmptyChromeClient::platformWindow):
11875 * page/Chrome.cpp:
11876 (WebCore::Chrome::platformWindow):
11877 * page/Chrome.h:
11878 * page/ChromeClient.h:
11879 * platform/HostWindow.h:
11880 * platform/qt/PlatformScreenQt.cpp:
11881 (WebCore::screenDepth):
11882 (WebCore::screenDepthPerComponent):
11883 (WebCore::screenIsMonochrome):
11884 (WebCore::screenRect):
11885 (WebCore::screenAvailableRect):
11886 * platform/qt/PopupMenuQt.cpp:
11887 (WebCore::PopupMenu::show):
11888 * platform/win/PopupMenuWin.cpp:
11889 (WebCore::PopupMenu::show):
11890 (WebCore::PopupMenu::calculatePositionAndSize):
11891 (WebCore::PopupWndProc):
11892
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +0000118932008-10-03 Simon Fraser <simon.fraser@apple.com>
11894
11895 Reviewed by Dave Hyatt
11896
11897 Make setStyle() take a const RenderStyle, to ensure that an
11898 earlier RenderStyle::diff() remains valid.
11899
11900 * rendering/RenderBR.cpp:
11901 * rendering/RenderBR.h:
11902 * rendering/RenderBlock.cpp:
11903 * rendering/RenderBlock.h:
11904 * rendering/RenderBox.cpp:
11905 * rendering/RenderBox.h:
11906 * rendering/RenderButton.cpp:
11907 * rendering/RenderButton.h:
11908 * rendering/RenderFieldset.cpp:
11909 * rendering/RenderFieldset.h:
11910 * rendering/RenderFileUploadControl.cpp:
11911 * rendering/RenderFileUploadControl.h:
11912 * rendering/RenderInline.cpp:
11913 * rendering/RenderInline.h:
11914 * rendering/RenderListBox.cpp:
11915 * rendering/RenderListBox.h:
11916 * rendering/RenderListItem.cpp:
11917 * rendering/RenderListItem.h:
11918 * rendering/RenderListMarker.cpp:
11919 * rendering/RenderListMarker.h:
11920 * rendering/RenderMenuList.cpp:
11921 * rendering/RenderMenuList.h:
11922 * rendering/RenderObject.cpp:
11923 (WebCore::RenderObject::setStyle):
11924 * rendering/RenderObject.h:
11925 * rendering/RenderReplaced.cpp:
11926 * rendering/RenderReplaced.h:
11927 * rendering/RenderSVGBlock.cpp:
11928 (WebCore::RenderSVGBlock::setStyle):
11929 * rendering/RenderSVGBlock.h:
11930 * rendering/RenderSVGGradientStop.cpp:
11931 * rendering/RenderSVGGradientStop.h:
11932 * rendering/RenderSlider.cpp:
11933 * rendering/RenderSlider.h:
11934 * rendering/RenderTable.cpp:
11935 * rendering/RenderTable.h:
11936 * rendering/RenderTableCell.cpp:
11937 * rendering/RenderTableCell.h:
11938 * rendering/RenderTableRow.cpp:
11939 * rendering/RenderTableRow.h:
11940 * rendering/RenderText.cpp:
11941 * rendering/RenderText.h:
11942 * rendering/RenderTextControl.cpp:
11943 * rendering/RenderTextControl.h:
11944 * rendering/RenderWidget.cpp:
11945 * rendering/RenderWidget.h:
11946 * rendering/style/RenderStyle.h:
11947 (WebCore::RenderStyle::isDisplayReplacedType):
11948 (WebCore::RenderStyle::isDisplayInlineType):
11949
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000119502008-10-03 David Hyatt <hyatt@apple.com>
11951
hyatt@apple.com938a55f2008-10-03 20:10:32 +000011952 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
11953 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
11954 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
11955 that will work properly for hit testing. This patch just stubs out that method to return the same
11956 event untransformed.
11957
11958 Reviewed by Darin Adler
11959
11960 * page/EventHandler.cpp:
11961 (WebCore::EventHandler::handleMouseDoubleClickEvent):
11962 (WebCore::EventHandler::handleMouseMoveEvent):
11963 (WebCore::EventHandler::handleMouseReleaseEvent):
11964 (WebCore::EventHandler::passMousePressEventToScrollbar):
11965 * page/gtk/EventHandlerGtk.cpp:
11966 * page/mac/EventHandlerMac.mm:
11967 * page/qt/EventHandlerQt.cpp:
11968 * page/win/EventHandlerWin.cpp:
11969 * page/wx/EventHandlerWx.cpp:
11970 * platform/Scrollbar.cpp:
11971 (WebCore::Scrollbar::mouseMoved):
11972 (WebCore::Scrollbar::mouseExited):
11973 (WebCore::Scrollbar::mouseUp):
11974 (WebCore::Scrollbar::mouseDown):
11975 (WebCore::Scrollbar::transformEvent):
11976 * platform/Scrollbar.h:
11977
119782008-10-03 David Hyatt <hyatt@apple.com>
11979
hyatt@apple.com1ae34462008-10-03 19:17:35 +000011980 https://bugs.webkit.org/show_bug.cgi?id=21340
11981
11982 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
11983
11984 Reviewed by Dan Bernstein & Darin Adler
11985
11986 * platform/ScrollView.cpp:
11987 (WebCore::ScrollView::addChild):
11988 * platform/Widget.cpp:
11989 (WebCore::Widget::init):
11990 * platform/Widget.h:
11991 * platform/mac/WidgetMac.mm:
11992 * platform/win/PopupMenuWin.cpp:
11993 (WebCore::PopupMenu::show):
11994
adele@apple.come31aa912008-10-03 19:06:28 +0000119952008-10-03 Adele Peterson <adele@apple.com>
11996
11997 Reviewed by Sam Weinig.
11998
11999 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
12000 Return early if settings is nil.
12001
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +0000120022008-10-03 Rob Buis <buis@kde.org>
12003
12004 Reviewed by Darin.
12005
12006 https://bugs.webkit.org/show_bug.cgi?id=20134
12007 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
12008
12009 Make sure the input element gets the right default value when no value is set.
12010
12011 Test: fast/forms/range-default-value.html
12012
12013 * rendering/RenderSlider.cpp:
12014 (WebCore::RenderSlider::setPositionFromValue):
12015
hyatt@apple.com8de3eb72008-10-03 18:29:28 +0000120162008-10-03 David Hyatt <hyatt@apple.com>
12017
12018 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
12019 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
12020 platform-specific init/destroy methods.
12021
12022 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
12023
12024 Reviewed by Darin Adler
12025
12026 * WebCore.vcproj/WebCore.vcproj:
12027 * platform/ScrollView.cpp:
12028 (WebCore::ScrollView::ScrollView):
12029 (WebCore::ScrollView::~ScrollView):
12030 (WebCore::ScrollView::platformInit):
12031 (WebCore::ScrollView::platformDestroy):
12032 (WebCore::ScrollView::platformAddChild):
12033 (WebCore::ScrollView::platformRemoveChild):
12034 * platform/ScrollView.h:
12035 * platform/gtk/ScrollViewGtk.cpp:
12036 (WebCore::ScrollView::platformInit):
12037 (WebCore::ScrollView::platformDestroy):
12038 * platform/mac/ScrollViewMac.mm:
12039 * platform/qt/ScrollViewQt.cpp:
12040 (WebCore::ScrollView::platformInit):
12041 (WebCore::ScrollView::platformDestroy):
12042 * platform/win/ScrollViewWin.cpp: Removed.
12043 * platform/wx/ScrollViewWx.cpp:
12044 (WebCore::ScrollView::platformInit):
12045 (WebCore::ScrollView::platformDestroy):
12046 (WebCore::ScrollView::setPlatformWidget):
12047
adele@apple.comb1dd0a62008-10-03 18:13:28 +0000120482008-10-03 Adele Peterson <adele@apple.com>
12049
12050 Reviewed by Dan Bernstein.
12051
12052 Fix for <rdar://problem/6012018>
12053 https://bugs.webkit.org/show_bug.cgi?id=21335
12054 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
12055
12056 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
12057
hausmann@webkit.org2497ae82008-10-03 16:02:54 +0000120582008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
12059
12060 Build fix.
12061
12062 * platform/qt/WidgetQt.cpp:
12063 (WebCore::Widget::invalidateRect):
12064
alp@webkit.org2122a042008-10-03 12:38:12 +0000120652008-10-03 Alp Toker <alp@nuanti.com>
12066
alp@webkit.orgabc5b712008-10-03 13:36:23 +000012067 Remove some left-over GTK+ includes. No change in functionality.
12068
12069 * platform/Cursor.h:
12070 * platform/graphics/Icon.h:
12071 * platform/gtk/RenderThemeGtk.h:
12072
120732008-10-03 Alp Toker <alp@nuanti.com>
12074
alp@webkit.org2122a042008-10-03 12:38:12 +000012075 Build fix for trailing comment after #endif
12076
12077 * dom/ElementRareData.h:
12078
hyatt@apple.comd664bd52008-10-03 09:03:43 +0000120792008-10-03 David Hyatt <hyatt@apple.com>
12080
12081 Remove addToDirtyRegion.
12082
12083 Reviewed by Oliver Hunt
12084
12085 * page/Chrome.cpp:
12086 * page/Chrome.h:
12087 * page/ChromeClient.h:
12088 * platform/ScrollView.h:
12089 * platform/gtk/ScrollViewGtk.cpp:
12090 * platform/qt/ScrollViewQt.cpp:
12091 * platform/win/ScrollViewWin.cpp:
12092
mitz@apple.com810de662008-10-03 09:00:08 +0000120932008-10-03 Dan Bernstein <mitz@apple.com>
12094
12095 Reviewed by Maciej Stachowiak.
12096
12097 - fix a CachedResource leak introduced in r37176
12098
12099 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
12100 afterwards bail out of the outer pruneDeadResources().
12101
12102 * loader/Cache.cpp:
12103 (WebCore::Cache::Cache):
12104 (WebCore::Cache::pruneDeadResources):
12105 (WebCore::Cache::remove):
12106 * loader/Cache.h:
12107
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +0000121082008-10-03 David Hyatt <hyatt@apple.com>
12109
12110 https://bugs.webkit.org/show_bug.cgi?id=21330
12111
12112 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
12113 scrollbars.
12114
12115 Reviewed by Oliver Hunt
12116
12117 * platform/ScrollView.cpp:
12118 (WebCore::ScrollView::setHasHorizontalScrollbar):
12119 (WebCore::ScrollView::setHasVerticalScrollbar):
12120 (WebCore::ScrollView::platformHasHorizontalAdjustment):
12121 (WebCore::ScrollView::platformHasVerticalAdjustment):
12122 * platform/ScrollView.h:
12123 * platform/gtk/ScrollViewGtk.cpp:
12124 (WebCore::ScrollView::adjustmentChanged):
12125 (WebCore::ScrollView::ScrollView):
12126 (WebCore::ScrollView::~ScrollView):
12127 (WebCore::ScrollView::setGtkAdjustments):
12128 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
12129 (WebCore::ScrollView::platformHandleVerticalAdjustment):
12130
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +0000121312008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
12132
12133 Reviewed by Maciej Stachowiak.
12134
12135 Bug 21106: .in format discussed changes
12136 https://bugs.webkit.org/show_bug.cgi?id=21106
12137
12138 Change "upperCase" to "interfaceName" per-tag parameter as
12139 discussed on the mailing list. Removed the per-attribute version
12140 as it was not used.
12141
12142 Also add the "Element" suffix to all interfaceName parameter to match
12143 the class name (and thus remove it from make_names.pl).
12144
12145 * dom/make_names.pl:
12146 * html/HTMLTagNames.in:
12147 * svg/svgtags.in:
12148
hyatt@apple.comf0a13272008-10-03 07:38:27 +0000121492008-10-03 David Hyatt <hyatt@apple.com>
12150
12151 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
12152 Hopefully this is a temporary hack that could eventually be removed.
12153
12154 Reviewed by Sam Weinig
12155
12156 * platform/ScrollView.cpp:
12157 (WebCore::ScrollView::scrollContents):
12158 * platform/ScrollView.h:
12159 (WebCore::ScrollView::rootPreventsBlitting):
12160 * platform/qt/ScrollViewQt.cpp:
12161 (WebCore::ScrollView::ScrollView):
12162 (WebCore::ScrollView::~ScrollView):
12163 (WebCore::ScrollView::platformAddChild):
12164 (WebCore::ScrollView::platformRemoveChild):
12165
hyatt@apple.com6fa40c52008-10-03 07:06:28 +0000121662008-10-02 David Hyatt <hyatt@apple.com>
12167
12168 https://bugs.webkit.org/show_bug.cgi?id=21328
12169
12170 Make widget invalidation more cross-platform.
12171
12172 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
12173
12174 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
12175 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
12176
12177 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
12178
12179 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
12180
12181 Reviewed by Sam Weinig
12182
12183 * WebCore.base.exp:
12184 * page/FrameView.cpp:
12185 (WebCore::FrameView::invalidateRect):
12186 (WebCore::FrameView::invalidateScrollbarRect):
12187 * page/FrameView.h:
12188 * platform/PopupMenu.h:
12189 * platform/ScrollView.cpp:
12190 (WebCore::ScrollView::scrollContents):
12191 * platform/ScrollView.h:
12192 * platform/Scrollbar.cpp:
12193 (WebCore::Scrollbar::setEnabled):
12194 (WebCore::Scrollbar::invalidateRect):
12195 * platform/Scrollbar.h:
12196 * platform/ScrollbarClient.h:
12197 * platform/Widget.h:
12198 * platform/gtk/WidgetGtk.cpp:
12199 * platform/mac/WidgetMac.mm:
12200 * platform/win/PopupMenuWin.cpp:
12201 (WebCore::PopupMenu::invalidateScrollbarRect):
12202 * platform/win/WidgetWin.cpp:
12203 * plugins/PluginView.cpp:
12204 (WebCore::PluginView::invalidateTimerFired):
12205 (WebCore::PluginView::invalidateWindowlessPluginRect):
12206 * plugins/PluginView.h:
12207 * plugins/gtk/PluginViewGtk.cpp:
12208 (WebCore::PluginView::invalidateRect):
12209 * plugins/qt/PluginViewQt.cpp:
12210 (WebCore::PluginView::invalidateRect):
12211 * plugins/win/PluginViewWin.cpp:
12212 (WebCore::PluginView::invalidateRect):
12213 (WebCore::PluginView::invalidateRegion):
12214 * rendering/RenderLayer.cpp:
12215 (WebCore::RenderLayer::invalidateScrollbarRect):
12216 * rendering/RenderLayer.h:
12217 * rendering/RenderListBox.cpp:
12218 (WebCore::RenderListBox::paintObject):
12219 (WebCore::RenderListBox::paintScrollbar):
12220 (WebCore::RenderListBox::invalidateScrollbarRect):
12221 * rendering/RenderListBox.h:
12222
mitz@apple.com0203bbe2008-10-03 06:20:41 +0000122232008-10-02 Dan Bernstein <mitz@apple.com>
12224
12225 Reviewed by Geoffrey Garen and Sam Weinig.
12226
12227 - fix SVGFontFaceElement leaks seen in Acid3
12228 - make font-face elements take effect only when they are in the document tree
12229
12230 Test: svg/custom/font-face-not-in-document.svg
12231
12232 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
12233 RefPtr to a plain pointer to break a ref cycle.
12234 (WebCore::SVGFontData::svgFontFaceElement):
12235
12236 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
12237 @font-face rule from the document's mapped element sheet when the
12238 element is inserted and removed from the document, and to update it
12239 only when the element is in the document.
12240 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
12241 (WebCore::SVGFontFaceElement::parseMappedAttribute):
12242 (WebCore::SVGFontFaceElement::rebuildFontFace):
12243 (WebCore::SVGFontFaceElement::insertedIntoDocument):
12244 (WebCore::SVGFontFaceElement::removedFromDocument):
12245 (WebCore::SVGFontFaceElement::childrenChanged):
12246 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
12247 * svg/SVGFontFaceElement.h:
12248
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +0000122492008-10-01 Simon Fraser <simon.fraser@apple.com>
12250
12251 Reviewed by Dave Hyatt
12252
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +000012253 Fix RenderFileUploadControl::setStyle() and
12254 RenderMenuList::setStyle() to not touch the style; replace
12255 with html4.css and CSSStyleSelector changes.
12256
12257 https://bugs.webkit.org/show_bug.cgi?id=21287
12258
12259 * css/CSSStyleSelector.cpp:
12260 (WebCore::CSSStyleSelector::adjustRenderStyle):
12261 * css/html4.css:
12262 * rendering/RenderBlock.cpp:
12263 (WebCore::RenderBlock::setStyle):
12264 * rendering/RenderFileUploadControl.cpp:
12265 * rendering/RenderMenuList.cpp:
12266 (WebCore::RenderMenuList::setStyle):
12267
122682008-10-01 Simon Fraser <simon.fraser@apple.com>
12269
12270 Reviewed by Dave Hyatt
12271
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000012272 Clean up code that changes the RenderStyle passed in to
12273 table renderer setStyle() methods.
12274
12275 https://bugs.webkit.org/show_bug.cgi?id=21287
12276
12277 Tests: fast/table/floating-th.html
12278 fast/table/table-display-types-strict.html
12279 fast/table/table-display-types.html
12280
12281 * css/CSSStyleSelector.cpp:
12282 (WebCore::CSSStyleSelector::adjustRenderStyle):
12283 * rendering/RenderTableCell.cpp:
12284 (WebCore::RenderTableCell::setStyle):
12285 * rendering/RenderTableRow.cpp:
12286 (WebCore::RenderTableRow::setStyle):
12287 * rendering/RenderTableSection.cpp:
12288 (WebCore::RenderTableSection::setStyle):
12289
darin@apple.comcb1ab082008-10-03 00:28:54 +0000122902008-10-02 Darin Adler <darin@apple.com>
12291
12292 - fix build
12293
12294 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
12295 Not just locally in my generated file!
12296
adele@apple.comf0225902008-10-03 00:25:37 +0000122972008-10-02 Adele Peterson <adele@apple.com>
12298
12299 Reviewed by Dan Bernstein.
12300
12301 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
12302 REGRESSION: <input> color specified in inline style applies to placeholder
12303
12304 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
12305 is more appropriate. This change adds "-webkit-input-placeholder".
12306
12307 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
12308 Added definition for "-webkit-input-placeholder" pseudo element.
12309 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
12310 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
12311 Added case for PseudoInputPlaceholder.
12312 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
12313 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
12314
12315 * html/HTMLInputElement.cpp:
12316 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
12317 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
12318 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
12319 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
12320 * rendering/RenderTextControl.cpp:
12321 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
12322 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
12323 the text will be updated correctly.
12324 * rendering/RenderTextControl.h:
12325
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +0000123262008-10-02 Chris Fleizach <cfleizach@apple.com>
12327
12328 Reviewed by Darin Adler.
12329
12330 https://bugs.webkit.org/show_bug.cgi?id=21280
12331 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
12332
12333 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
12334 to ensure that there is more than one valid table cell, and that at least half of the cells
12335 have borders or have specific background colors. Modified the table detection layout test
12336 to test for the tables mentioned in the bug
12337
12338 * page/AccessibilityTable.cpp:
12339 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
12340
darin@apple.comb6295d42008-10-02 23:48:47 +0000123412008-10-02 Darin Adler <darin@apple.com>
12342
12343 Reviewed by Geoff Garen.
12344
12345 - https://bugs.webkit.org/show_bug.cgi?id=21321
12346 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
12347
12348 * bindings/js/GCController.cpp:
12349 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
12350 (WebCore::GCController::gcTimerFired): Ditto.
12351 (WebCore::GCController::garbageCollectNow): Ditto.
12352 * bindings/js/JSDOMWindowShell.cpp:
12353 (WebCore::JSDOMWindowShell::operator new): Ditto.
12354 * storage/Database.cpp:
12355 (WebCore::Database::Database): Ditto.
12356
mitz@apple.com833a6e72008-10-02 20:46:35 +0000123572008-10-02 Dan Bernstein <mitz@apple.com>
12358
12359 Reviewed by Alexey Proskuryakov.
12360
12361 - fix a Database leak that resulted in Document leaks
12362
12363 * storage/Database.cpp:
12364 (WebCore::Database::openDatabase): Account for the fact that RefCounted
12365 objects start out with a ref count of 1.
12366
weinig@apple.com77b7a0a2008-10-02 20:29:19 +0000123672008-10-02 Sam Weinig <sam@webkit.org>
12368
12369 Reviewed by Mr. Geoffrey Garen.
12370
12371 Always mark your parent before marking members.
12372
12373 * bindings/js/JSDOMWindowCustom.cpp:
12374 (WebCore::JSDOMWindow::mark):
12375
hyatt@apple.com98682b32008-10-02 20:17:08 +0000123762008-10-02 David Hyatt <hyatt@apple.com>
12377
12378 https://bugs.webkit.org/show_bug.cgi?id=21314
12379
12380 Make scrollBackingStore cross-platform.
12381
12382 Reviewed by Sam Weinig
12383
12384 * loader/EmptyClients.h:
12385 (WebCore::EmptyChromeClient::repaint):
12386 (WebCore::EmptyChromeClient::scroll):
12387 * page/Chrome.cpp:
12388 (WebCore::Chrome::repaint):
12389 (WebCore::Chrome::scroll):
12390 * page/Chrome.h:
12391 * page/ChromeClient.h:
12392 * page/EventHandler.cpp:
12393 (WebCore::EventHandler::handleAutoscroll):
12394 * platform/HostWindow.h:
12395 * platform/ScrollView.cpp:
12396 (WebCore::ScrollView::scrollContents):
12397 (WebCore::ScrollView::addPanScrollIcon):
12398 (WebCore::ScrollView::removePanScrollIcon):
12399 * platform/ScrollView.h:
12400 * platform/gtk/ScrollViewGtk.cpp:
12401 * platform/qt/ScrollViewQt.cpp:
12402 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12403 (WebCore::ScrollView::~ScrollView):
12404 * platform/win/ScrollViewWin.cpp:
12405 (WebCore::ScrollView::ScrollView):
12406 (WebCore::ScrollView::~ScrollView):
12407
kevino@webkit.org8ca54f22008-10-02 19:59:35 +0000124082008-10-02 Kevin Ollivier <kevino@theolliviers.com>
12409
12410 wx build fixes after Frame/ScrollView changes.
12411
12412 * WebCoreSources.bkl:
12413 * platform/wx/ScrollViewWx.cpp:
12414 (WebCore::ScrollView::platformContentsToScreen):
12415 (WebCore::ScrollView::platformScreenToContents):
12416 (WebCore::ScrollView::platformIsOffscreen):
12417
brettw@chromium.org83eadcc2008-10-02 19:33:42 +0000124182008-10-02 Brett Wilson <brettw@chromium.org>
12419
12420 Reviewed by Sam Weinig
12421
12422 https://bugs.webkit.org/show_bug.cgi?id=21292
12423
12424 Revert the changes to enclosingIntRect made in r12530 since the new code
12425 doesn't round correctly.
12426
12427 * ChangeLog:
12428 * platform/graphics/FloatRect.cpp:
12429 (WebCore::enclosingIntRect):
12430
mitz@apple.com92dc01a2008-10-02 18:48:33 +0000124312008-10-02 Dan Bernstein <mitz@apple.com>
12432
12433 Reviewed by Anders Carlsson and Eric Seidel.
12434
12435 - fix HTMLCanvaseElement leak from -webkit-canvas() values
12436
12437 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
12438 pointer, as the document owns the canvas elements. Added code to release
12439 those elements in Document::removedLastRef() because they reference
12440 the document.
12441
12442 * css/CSSCanvasValue.cpp:
12443 (WebCore::CSSCanvasValue::element):
12444 * css/CSSCanvasValue.h:
12445 (WebCore::CSSCanvasValue::CSSCanvasValue):
12446 * dom/Document.cpp:
12447 (WebCore::Document::removedLastRef):
12448
ap@webkit.org44e40e42008-10-02 18:39:34 +0000124492008-10-02 Alexey Proskuryakov <ap@webkit.org>
12450
12451 Reviewed by Maciej Stachowiak.
12452
ap@webkit.orgdffca802008-10-02 18:40:40 +000012453 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +000012454
12455 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
12456 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
12457 code is only needed for JS bindings in worker threads.
12458
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +0000124592008-10-01 David Hyatt <hyatt@apple.com>
12460
12461 https://bugs.webkit.org/show_bug.cgi?id=21298
12462
12463 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
12464 will make that cross-platform.
12465
12466 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
12467 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
12468 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
12469
12470 Reviewed by Sam Weinig
12471
12472 * page/FrameView.cpp:
12473 (WebCore::FrameView::windowClipRect):
12474 (WebCore::FrameView::isActive):
12475 * page/FrameView.h:
12476 (WebCore::FrameView::visibleContentsResized):
12477 * platform/PopupMenu.h:
12478 * platform/ScrollView.cpp:
12479 (WebCore::ScrollView::init):
12480 (WebCore::ScrollView::destroy):
12481 (WebCore::ScrollView::setHasHorizontalScrollbar):
12482 (WebCore::ScrollView::setHasVerticalScrollbar):
12483 (WebCore::ScrollView::valueChanged):
12484 (WebCore::ScrollView::updateScrollbars):
12485 (WebCore::ScrollView::scrollContents):
12486 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
12487 (WebCore::ScrollView::platformHandleVerticalAdjustment):
12488 * platform/ScrollView.h:
12489 * platform/Scrollbar.cpp:
12490 (WebCore::Scrollbar::windowClipRect):
12491 * platform/ScrollbarClient.h:
12492 * platform/gtk/ScrollViewGtk.cpp:
12493 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
12494 (WebCore::ScrollView::platformHandleVerticalAdjustment):
12495 * platform/qt/ScrollViewQt.cpp:
12496 (WebCore::ScrollView::scrollContents):
12497 * platform/win/PopupMenuWin.cpp:
12498 (WebCore::PopupMenu::windowClipRect):
12499 * platform/win/ScrollViewWin.cpp:
12500 (WebCore::ScrollView::scrollContents):
12501 * rendering/RenderLayer.cpp:
12502 (WebCore::RenderLayer::windowClipRect):
12503 * rendering/RenderLayer.h:
12504 * rendering/RenderListBox.cpp:
12505 (WebCore::RenderListBox::panScroll):
12506 (WebCore::RenderListBox::windowClipRect):
12507 * rendering/RenderListBox.h:
12508
ap@webkit.org03710832008-10-02 16:18:56 +0000125092008-10-02 Alexey Proskuryakov <ap@webkit.org>
12510
12511 Reviewed by Darin Adler.
12512
12513 https://bugs.webkit.org/show_bug.cgi?id=21304
12514 Stop using a static wrapper map for WebCore JS bindings
12515
12516 The static domObjects map was not thread safe.
12517
12518 * dom/Document.h:
12519 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
12520 ports.
12521 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
12522
12523 * dom/Document.cpp:
12524 (WebCore::Document::createdXMLHttpRequest):
12525 (WebCore::Document::destroyedXMLHttpRequest):
12526 Moved XMLHttpRequest tracking from a global map to Document.
12527
12528 * GNUmakefile.am:
12529 * WebCore.pro:
12530 * WebCore.vcproj/WebCore.vcproj:
12531 * WebCore.xcodeproj/project.pbxproj:
12532 * WebCoreSources.bkl:
12533 * webcore-base.bkl:
12534 * bindings/DOMProtect.cpp: Removed.
12535 * bindings/DOMProtect.h: Removed.
12536 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
12537 so they can no longer protect bindings objects.
12538
12539 * dom/MessagePort.cpp:
12540 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
12541 (WebCore::CloseMessagePortTimer::fired):
12542 (WebCore::MessagePort::MessagePort):
12543 (WebCore::MessagePort::queueCloseEvent):
12544 (WebCore::MessagePort::setPendingActivity):
12545 (WebCore::MessagePort::unsetPendingActivity):
12546 * dom/MessagePort.h:
12547 (WebCore::MessagePort::hasPendingActivity):
12548 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
12549 to protect it.
12550
12551 * xml/XMLHttpRequest.h:
12552 (WebCore::XMLHttpRequest::hasPendingActivity):
12553 * xml/XMLHttpRequest.cpp:
12554 (WebCore::XMLHttpRequest::XMLHttpRequest):
12555 (WebCore::XMLHttpRequest::~XMLHttpRequest):
12556 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
12557 (WebCore::XMLHttpRequest::dropProtection):
12558 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
12559 (WebCore::XMLHttpRequest::cancelRequests):
12560 (WebCore::XMLHttpRequest::detachRequests):
12561 (WebCore::XMLHttpRequest::setPendingActivity):
12562 (WebCore::XMLHttpRequest::unsetPendingActivity):
12563 Moved XMLHttpRequest tracking from a global map to Document.
12564
12565 * bindings/js/JSDOMBinding.cpp:
12566 (WebCore::wrapperSet):
12567 (WebCore::DOMObjectWrapperMap::mapFor):
12568 (WebCore::DOMObjectWrapperMap::get):
12569 (WebCore::DOMObjectWrapperMap::set):
12570 (WebCore::DOMObjectWrapperMap::remove):
12571 (WebCore::getCachedDOMObjectWrapper):
12572 (WebCore::cacheDOMObjectWrapper):
12573 (WebCore::forgetDOMObject):
12574 (WebCore::getCachedDOMNodeWrapper):
12575 (WebCore::forgetDOMNode):
12576 (WebCore::cacheDOMNodeWrapper):
12577 (WebCore::markActiveObjectsForDocument):
12578 * bindings/js/JSDOMBinding.h:
12579 (WebCore::createDOMObjectWrapper):
12580 (WebCore::getDOMObjectWrapper):
12581 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
12582 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
12583 WebCore objects can never migrate between threads.
12584
12585 * bindings/js/JSDocumentCustom.cpp:
12586 (WebCore::JSDocument::mark):
12587 Call markActiveObjectsForDocument() from JSDOMBinding.
12588
12589 * bindings/js/JSCSSRuleCustom.cpp:
12590 (WebCore::toJS):
12591 * bindings/js/JSCSSValueCustom.cpp:
12592 (WebCore::toJS):
12593 * bindings/js/JSDOMWindowCustom.cpp:
12594 (WebCore::markDOMObjectWrapper):
12595 (WebCore::JSDOMWindow::mark):
12596 * bindings/js/JSEventCustom.cpp:
12597 (WebCore::toJS):
12598 * bindings/js/JSEventTarget.cpp:
12599 (WebCore::toJS):
12600 * bindings/js/JSHTMLCollectionCustom.cpp:
12601 (WebCore::toJS):
12602 * bindings/js/JSImageDataCustom.cpp:
12603 (WebCore::toJS):
12604 * bindings/js/JSMessageChannelCustom.cpp:
12605 (WebCore::JSMessageChannel::mark):
12606 * bindings/js/JSMessagePortCustom.cpp:
12607 (WebCore::JSMessagePort::mark):
12608 * bindings/js/JSNodeCustom.cpp:
12609 (WebCore::JSNode::mark):
12610 * bindings/js/JSSVGPathSegCustom.cpp:
12611 (WebCore::toJS):
12612 * bindings/js/JSStyleSheetCustom.cpp:
12613 (WebCore::toJS):
12614 * bindings/js/JSXMLHttpRequestCustom.cpp:
12615 (WebCore::JSXMLHttpRequest::mark):
12616 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
12617 (WebCore::JSXMLHttpRequestUpload::mark):
12618 * bindings/js/ScriptController.cpp:
12619 (WebCore::ScriptController::finishedWithEvent):
12620 * bindings/scripts/CodeGeneratorJS.pm:
12621 Pass a JSGlobalData reference to functions that track JS wrapper objects.
12622
mitz@apple.coma2b6b112008-10-02 07:52:29 +0000126232008-10-02 Dan Bernstein <mitz@apple.com>
12624
12625 - build fix
12626
12627 * page/JavaScriptCallFrame.idl:
12628
oliver@apple.com619d60b92008-10-02 07:35:21 +0000126292008-10-02 Oliver Hunt <oliver@apple.com>
12630
12631 Reviewed by NOBODY (Build fix).
12632
12633 Add new file to project files
12634
12635 * GNUmakefile.am:
12636 * WebCore.pro:
12637 * WebCore.vcproj/WebCore.vcproj:
12638
ggaren@apple.comdf2fda82008-10-02 07:13:43 +0000126392008-10-02 Geoffrey Garen <ggaren@apple.com>
12640
12641 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +000012642
12643 Try to fix some more builds.
12644
12645 * GNUmakefile.am:
12646 * WebCore.pro:
12647
126482008-10-02 Geoffrey Garen <ggaren@apple.com>
12649
12650 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000012651
12652 Try to fix Windows build.
12653
12654 * WebCore.vcproj/WebCore.vcproj:
12655
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +0000126562008-10-01 Geoffrey Garen <ggaren@apple.com>
12657
12658 Reviewed by Darin Adler and Cameron Zwarich.
12659
12660 Updated for JavaScriptCore API changes: use a SourceCode instead of
12661 broken out parameters; treat sourceId as intptr_t.
12662
12663 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
12664 * bindings/js/JSXMLHttpRequestCustom.cpp:
12665 (WebCore::JSXMLHttpRequest::send):
12666 * bindings/js/ScriptController.cpp:
12667 (WebCore::ScriptController::evaluate):
12668 * bindings/js/StringSourceProvider.h:
12669 (WebCore::StringSourceProvider::create):
12670 (WebCore::StringSourceProvider::StringSourceProvider):
12671
12672 (WebCore::makeSource): Added a makeSource function for convenience.
12673
12674 * bindings/objc/WebScriptObject.mm:
12675 (-[WebScriptObject evaluateWebScript:]):
12676 * bridge/NP_jsobject.cpp:
12677 (_NPN_Evaluate):
12678 * bridge/jni/jni_jsobject.mm:
12679 (JavaJSObject::call):
12680 (JavaJSObject::eval):
12681 (JavaJSObject::getMember):
12682 (JavaJSObject::setMember):
12683 (JavaJSObject::removeMember):
12684
12685 * bridge/jni/jni_runtime.h:
12686 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
12687 ustring() function with an implicit operator because this class already
12688 holds a UString::rep.
12689
12690 * page/Console.cpp:
12691 (WebCore::retrieveLastCaller):
12692 (WebCore::Console::trace):
12693 * page/InspectorController.cpp:
12694 (WebCore::jsStringRef):
12695 (WebCore::InspectorController::addBreakpoint):
12696 (WebCore::InspectorController::removeBreakpoint):
12697 (WebCore::InspectorController::didParseSource):
12698 (WebCore::InspectorController::failedToParseSource):
12699 * page/InspectorController.h:
12700 * page/JavaScriptCallFrame.cpp:
12701 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
12702 * page/JavaScriptCallFrame.h:
12703 (WebCore::JavaScriptCallFrame::create):
12704 (WebCore::JavaScriptCallFrame::sourceIdentifier):
12705 (WebCore::JavaScriptCallFrame::update):
12706 * page/JavaScriptDebugListener.h:
12707 * page/JavaScriptDebugServer.cpp:
12708 (WebCore::JavaScriptDebugServer::addBreakpoint):
12709 (WebCore::JavaScriptDebugServer::removeBreakpoint):
12710 (WebCore::JavaScriptDebugServer::hasBreakpoint):
12711 (WebCore::dispatchDidParseSource):
12712 (WebCore::dispatchFailedToParseSource):
12713 (WebCore::JavaScriptDebugServer::sourceParsed):
12714 (WebCore::JavaScriptDebugServer::callEvent):
12715 (WebCore::JavaScriptDebugServer::atStatement):
12716 (WebCore::JavaScriptDebugServer::returnEvent):
12717 (WebCore::JavaScriptDebugServer::exception):
12718 (WebCore::JavaScriptDebugServer::willExecuteProgram):
12719 (WebCore::JavaScriptDebugServer::didExecuteProgram):
12720 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
12721 * page/JavaScriptDebugServer.h:
12722 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
12723 sourceIdentifier to sourceID.
12724
mitz@apple.com7a7f3142008-10-02 06:08:15 +0000127252008-10-01 Dan Bernstein <mitz@apple.com>
12726
12727 Reviewed by Geoffrey Garen.
12728
12729 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
12730
12731 Broke a ref cycle by changing the m_svgFontFaceElement members of
12732 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
12733 pointers. Also made sure that the @font-face rule added by
12734 SVGFontFaceElement to the document's mapped element sheet is removed
12735 when the font-face element is deleted or moved to another document.
12736
12737 * css/CSSFontFaceSource.cpp:
12738 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
12739 (WebCore::CSSFontFaceSource::getFontData):
12740 * css/CSSFontFaceSource.h:
12741 (WebCore::CSSFontFaceSource::svgFontFaceElement):
12742 * css/CSSFontFaceSrcValue.h:
12743 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
12744 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
12745 * svg/SVGFontFaceElement.cpp:
12746 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
12747 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
12748 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
12749 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
12750 * svg/SVGFontFaceElement.h:
12751
oliver@apple.comd3de8f32008-10-02 05:02:00 +0000127522008-10-01 Oliver Hunt <oliver@apple.com>
12753
12754 Reviewed by Maciej Stachowiak.
12755
12756 Bug 20315: Memory leak with Canvas getImageData
12757 <https://bugs.webkit.org/show_bug.cgi?id=20315>
12758
12759 This wasn't a leak, the issue was that we were reporting the cost
12760 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
12761 and we should have been reporting the cost when we create the
12762 JSImageData wrapper.
12763
12764 * WebCore.xcodeproj/project.pbxproj:
12765 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
12766 This was only needed to report the extra memory cost
12767 of the CPA.
12768 * bindings/js/JSImageDataCustom.cpp:
12769 (WebCore::toJS):
12770 We need a custom toJS function now so that we can report
12771 the extra memory cost.
12772 * bindings/scripts/CodeGeneratorJS.pm:
12773 Need to replace the reference to CanvasPixelArray with ImageData
12774 to be able to create the custom toJS implementation.
12775 * html/CanvasPixelArray.idl:
12776 * html/ImageData.idl:
12777
mitz@apple.come0642ce2008-10-02 04:54:06 +0000127782008-10-01 Dan Bernstein <mitz@apple.com>
12779
12780 Reviewed by Mark Rowe.
12781
12782 - https://bugs.webkit.org/show_bug.cgi?id=21293
12783 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
12784
12785 * svg/SVGMarkerElement.cpp:
12786 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
12787 that renderer destruction happens before the SVGMarkerElement is
12788 destroyed.
12789 * svg/SVGSVGElement.cpp:
12790 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
12791
eric@webkit.orgbe40b812008-10-02 01:43:16 +0000127922008-10-01 Evan Martin <evan@chromium.org>
12793
12794 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +000012795
12796 https://bugs.webkit.org/show_bug.cgi?id=20669
12797
12798 * css/makeprop.pl:
12799 Die if gperf fails.
12800
128012008-10-01 Evan Martin <evan@chromium.org>
12802
12803 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +000012804
12805 * loader/icon/IconDatabase.h:
12806 IconDatabase uses HashMap, so it needs to #include the header.
12807
mitz@apple.com0ff2a012008-10-02 00:48:54 +0000128082008-10-01 Dan Bernstein <mitz@apple.com>
12809
12810 Reviewed by Mark Rowe.
12811
mitz@apple.comca0080b2008-10-02 01:35:05 +000012812 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
12813
12814 * loader/Cache.cpp:
12815 (WebCore::Cache::remove): Disable pruning temporarily during
12816 CachedResource deletion.
12817
128182008-10-01 Dan Bernstein <mitz@apple.com>
12819
12820 Reviewed by Mark Rowe.
12821
mitz@apple.com0ff2a012008-10-02 00:48:54 +000012822 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
12823
12824 * svg/SVGFontFaceElement.cpp:
12825 (WebCore::SVGFontFaceElement::rebuildFontFace):
12826 * svg/SVGFontFaceElement.h:
12827 (WebCore::SVGFontFaceElement::associatedFontElement):
12828
brettw@chromium.org87b0e122008-10-01 22:34:16 +0000128292008-10-01 Brett Wilson <brettw@chromium.org>
12830
12831 Reviewed by Maciej Stachowiak.
12832
12833 Document the rounding behavior of the mapRect(IntRect) function in
12834 AffineTransform.h.
12835
12836 * platform/graphics/AffineTransform.h:
12837
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +0000128382008-10-01 David Hyatt <hyatt@apple.com>
12839
12840 Move prohibitsScrolling from the Frame to the ScrollView.
12841
12842 Reviewed by Sam Weinig
12843
12844 * WebCore.base.exp:
12845 * page/Frame.cpp:
12846 (WebCore::FramePrivate::FramePrivate):
12847 * page/Frame.h:
12848 * page/FramePrivate.h:
12849 * page/FrameView.cpp:
12850 (WebCore::FrameView::scrollRectIntoViewRecursively):
12851 (WebCore::FrameView::setScrollPosition):
12852 * platform/ScrollView.cpp:
12853 (WebCore::ScrollView::init):
12854 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12855 (WebCore::ScrollView::setScrollPosition):
12856 * platform/ScrollView.h:
12857 (WebCore::ScrollView::setProhibitsScrolling):
12858 (WebCore::ScrollView::prohibitsScrolling):
12859 * platform/gtk/ScrollViewGtk.cpp:
12860 (WebCore::ScrollView::updateScrollbars):
12861 * platform/qt/ScrollViewQt.cpp:
12862 (WebCore::ScrollView::updateScrollbars):
12863 * platform/win/ScrollViewWin.cpp:
12864 (WebCore::ScrollView::updateScrollbars):
12865
mrowe@apple.combffe15d2008-10-01 22:24:37 +0000128662008-10-01 Mark Rowe <mrowe@apple.com>
12867
12868 Reviewed by Geoff Garen.
12869
12870 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
12871
12872 * xml/XMLHttpRequest.cpp:
12873 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
12874 that we do during the loadRequestAsynchronously of the preflight request with a deref and
12875 GC unprotect.
12876
hyatt@apple.com2f029122008-10-01 22:12:23 +0000128772008-10-01 David Hyatt <hyatt@apple.com>
12878
12879 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
12880 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
12881
12882 Reviewed by Tim Hatcher
12883
12884 * WebCore.base.exp:
12885 * page/FrameView.cpp:
12886 (WebCore::FrameView::setCanHaveScrollbars):
12887 * page/FrameView.h:
12888 * platform/ScrollView.cpp:
12889 (WebCore::ScrollView::setCanHaveScrollbars):
12890 (WebCore::ScrollView::wheelEvent):
12891 * platform/ScrollView.h:
12892 (WebCore::ScrollView::canHaveScrollbars):
12893
mitz@apple.combebfaae2008-10-01 21:19:41 +0000128942008-10-01 Dan Bernstein <mitz@apple.com>
12895
12896 Reviewed by Mark Rowe.
12897
12898 - fix some CachedResource leaks seen on buildbot
12899
12900 The issue here was that emptying the cache was a no-op when it only
12901 contained resources with no data. Changed to go after those
12902 resources when the desired cache capacity is zero.
12903
12904 * loader/Cache.cpp:
12905 (WebCore::Cache::pruneLiveResources):
12906 (WebCore::Cache::pruneDeadResources):
12907 * loader/Cache.h:
12908 (WebCore::Cache::prune):
12909
hyatt@apple.come72b16e2008-10-01 20:58:19 +0000129102008-10-01 David Hyatt <hyatt@apple.com>
12911
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +000012912 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
12913 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
12914
12915 Reviewed by Adam Roben
12916
12917 * platform/ScrollView.cpp:
12918 (WebCore::ScrollView::isOffscreen):
12919 (WebCore::ScrollView::platformIsOffscreen):
12920 * platform/ScrollView.h:
12921 * platform/gtk/ScrollViewGtk.cpp:
12922 * platform/mac/ScrollViewMac.mm:
12923 (WebCore::ScrollView::platformIsOffscreen):
12924 * platform/qt/ScrollViewQt.cpp:
12925 * platform/wx/ScrollViewWx.cpp:
12926
129272008-10-01 David Hyatt <hyatt@apple.com>
12928
hyatt@apple.come72b16e2008-10-01 20:58:19 +000012929 Make show/hide/setParentVisible cross-platform on ScrollView.
12930
12931 Reviewed by Adam Roben
12932
12933 * platform/ScrollView.cpp:
12934 (WebCore::ScrollView::setParentVisible):
12935 (WebCore::ScrollView::show):
12936 (WebCore::ScrollView::hide):
12937 * platform/ScrollView.h:
12938 * platform/win/ScrollViewWin.cpp:
12939
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +0000129402008-10-01 Kevin McCullough <kmccullough@apple.com>
12941
12942 Reviewed by Dan Bernstein.
12943
12944 https://bugs.webkit.org/show_bug.cgi?id=21284
12945 Bug 21284: Max height affects max width
12946 - Looks like a cut and paste bug
12947 - Added layout test fast/css/max-height-and-max-width.html
12948
12949 * css/CSSComputedStyleDeclaration.cpp:
12950 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
12951
hyatt@apple.comfe9c1302008-10-01 20:34:07 +0000129522008-10-01 David Hyatt <hyatt@apple.com>
12953
12954 https://bugs.webkit.org/show_bug.cgi?id=21282
12955
12956 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
12957
12958 Reviewed by Adam Roben
12959
12960 * loader/EmptyClients.h:
12961 (WebCore::EmptyChromeClient::screenToWindow):
12962 (WebCore::EmptyChromeClient::windowToScreen):
12963 * page/Chrome.cpp:
12964 (WebCore::Chrome::screenToWindow):
12965 (WebCore::Chrome::windowToScreen):
12966 * page/Chrome.h:
12967 * page/ChromeClient.h:
12968 * platform/HostWindow.h:
12969 * platform/ScrollView.cpp:
12970 (WebCore::ScrollView::contentsToScreen):
12971 (WebCore::ScrollView::screenToContents):
12972 (WebCore::ScrollView::platformContentsToScreen):
12973 (WebCore::ScrollView::platformScreenToContents):
12974 * platform/ScrollView.h:
12975 * platform/mac/ScrollViewMac.mm:
12976 (WebCore::ScrollView::platformContentsToScreen):
12977 (WebCore::ScrollView::platformScreenToContents):
12978 * platform/win/ScrollViewWin.cpp:
12979
mitz@apple.comf2ee2052008-10-01 20:31:19 +0000129802008-10-01 Dan Bernstein <mitz@apple.com>
12981
12982 Reviewed by Darin Adler.
12983
12984 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
12985
12986 Test: fast/parser/residual-style-close-across-removed-block.html
12987
12988 * html/HTMLParser.cpp:
12989 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
12990 an assertion that turned out to be wrong in this case, and changed to
12991 terminate the algorithm at the first empty block.
12992
hyatt@apple.comc5a54f42008-10-01 19:23:05 +0000129932008-10-01 David Hyatt <hyatt@apple.com>
12994
12995 Make setFrameRect on ScrollView cross-platform.
12996
12997 Reviewed by Sam Weinig
12998
12999 * page/FrameView.h:
13000 (WebCore::FrameView::contentsResized):
13001 * platform/ScrollView.cpp:
13002 (WebCore::ScrollView::setFrameRect):
13003 * platform/ScrollView.h:
13004 * platform/gtk/ScrollViewGtk.cpp:
13005 * platform/qt/ScrollViewQt.cpp:
13006 * platform/win/ScrollViewWin.cpp:
13007
weinig@apple.comab5c0172008-10-01 19:17:01 +0000130082008-10-01 Sam Weinig <sam@webkit.org>
13009
13010 Reviewed by Adele Peterson.
13011
13012 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
13013 to JSDOMWindow from JSDOMWindowBase.
13014
13015 * WebCore.xcodeproj/project.pbxproj:
13016 * bindings/js/JSDOMWindowBase.cpp:
13017 (WebCore::JSDOMWindowBase::removeTimeout):
13018 * bindings/js/JSDOMWindowBase.h:
13019 * bindings/js/JSDOMWindowCustom.cpp:
13020 (WebCore::setTimeoutOrInterval):
13021 (WebCore::JSDOMWindow::setTimeout):
13022 (WebCore::JSDOMWindow::clearTimeout):
13023 (WebCore::JSDOMWindow::setInterval):
13024 (WebCore::JSDOMWindow::clearInterval):
13025 (WebCore::JSDOMWindow::atob):
13026 (WebCore::JSDOMWindow::btoa):
13027 * page/DOMWindow.idl:
13028
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +0000130292008-10-01 Dan Bernstein <mitz@apple.com>
13030
13031 - Mac build fix
13032
13033 * WebCore.base.exp:
13034
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +0000130352008-10-01 Timothy Hatcher <timothy@apple.com>
13036
13037 Prevent stealing focus from the search field when focusing a DOM node.
13038
13039 https://bugs.webkit.org/show_bug.cgi?id=21275
13040
13041 Reviewed by Kevin McCullough.
13042
13043 * page/inspector/ElementsPanel.js:
13044 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
13045 Don't steal focus if the current focus element is the search field.
13046
weinig@apple.com841594d2008-10-01 07:27:49 +0000130472008-09-30 Sam Weinig <sam@webkit.org>
13048
13049 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
13050
13051 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
13052 Autogenerate JS event listeners
13053
13054 - Generate getting/setting of EventListeners.
13055
13056 - Adding a new named EventListener now has the same process as adding any other DOM
13057 attribute. (Add a method with the same name in the c++ file).
13058
13059 (The EventListeners for MessagePort have been intentionally left custom so that we
13060 can continue to experiment with making those EventListeners work in a frame-less world.)
13061
13062 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
13063 * bindings/js/JSDOMWindowCustom.cpp: ditto.
13064 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
13065 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
13066 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
13067 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
13068 getter/setters
13069 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
13070 * dom/EventTargetNode.h: ditto.
13071 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
13072 will use JSEventListerner instead of JSUnprotectedEventListener.
13073 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
13074 * page/DOMWindow.cpp: Add getter/setters for named EventListener
13075 * page/DOMWindow.h: ditto.
13076 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
13077 will use JSEventListerner instead of JSUnprotectedEventListener.
13078 * xml/XMLHttpRequest.idl: Remove custom attributes.
13079 * xml/XMLHttpRequestUpload.idl: ditto.
13080
mrowe@apple.comfed78312008-10-01 06:53:49 +0000130812008-09-30 Mark Rowe <mrowe@apple.com>
13082
13083 Reviewed by Dan Bernstein.
13084
13085 Add a leak counter for CachedResources since we've had two recent leaks involving them.
13086
13087 * loader/CachedResource.cpp:
13088 (WebCore::CachedResource::CachedResource):
13089 (WebCore::CachedResource::~CachedResource):
13090
mitz@apple.com19b93112008-10-01 06:25:17 +0000130912008-09-30 Dan Bernstein <mitz@apple.com>
13092
13093 Reviewed by Dave Hyatt.
13094
13095 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
13096 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
13097
13098 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
13099 the font name in memory.
13100
13101 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
13102 OpenTypeUtilities.*.
13103
13104 * platform/graphics/win/FontCustomPlatformData.cpp:
13105 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
13106 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
13107 used.
13108 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
13109 for fonts loaded using AddFontMemResourceEx.
13110 (WebCore::createFontCustomPlatformData): Added a call to
13111 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
13112 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
13113 fontPlatformData() will retrieve the name from the font reference.
13114
13115 * platform/graphics/win/FontCustomPlatformData.h:
13116 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
13117 font name member.
13118
13119 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
13120 * platform/graphics/win/GetEOTHeader.h: Renamed.
13121
13122 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
13123 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
13124 (WebCore::BigEndianULong::BigEndianULong): Ditto.
13125 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
13126 the font data and modifies it to have the given name, then activates
13127 it using AddFontMemResourceEx.
13128
13129 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
13130
mrowe@apple.com12cb8c22008-10-01 06:09:28 +0000131312008-09-30 Mark Rowe <mrowe@apple.com>
13132
13133 Reviewed by Dan Bernstein.
13134
13135 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
13136
13137 * rendering/RenderObject.cpp:
13138 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
13139 with calls to removeClient when we're being destroyed.
13140
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +0000131412008-09-30 Eric Carlson <eric.carlson@apple.com>
13142
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000013143 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000013144
13145 https://bugs.webkit.org/show_bug.cgi?id=21243
13146
13147 Fix loopstart and loopend default values.
13148
13149 Tests: media/loopend-limits.html
13150 media/loopstart-limits.html
13151
13152 * html/HTMLMediaElement.cpp:
13153 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
13154 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
13155
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +0000131562008-09-30 Kevin Ollivier <kevino@theolliviers.com>
13157
13158 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
13159
13160 * WebCoreSources.bkl:
13161 * platform/wx/ScrollViewWx.cpp:
13162 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
13163
mitz@apple.com17145582008-10-01 04:43:07 +0000131642008-09-30 Dan Bernstein <mitz@apple.com>
13165
13166 Reviewed by Sam Weinig.
13167
13168 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
13169 was fixed in r17249 and re-introduced in r31435.
13170
13171 * html/HTMLViewSourceDocument.cpp:
13172 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
13173 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
13174 (WebCore::HTMLViewSourceDocument::addLine):
13175 (WebCore::HTMLViewSourceDocument::addLink):
13176 * html/HTMLViewSourceDocument.h:
13177
weinig@apple.com42d87a62008-10-01 00:39:19 +0000131782008-09-30 Sam Weinig <sam@webkit.org>
13179
13180 Reviewed by Eric Seidel.
13181
13182 More for https://bugs.webkit.org/show_bug.cgi?id=21122
13183 Autogenerate JS event listeners
13184
13185 - Make EventListener getter/setters names in c++ files match those in
13186 JS (ie. onLoadListener -> onload).
13187 - Add standard way to access the frame associated with the EventTarget
13188 for EventListener lookup.
13189 - Autogenerate dispatchEvent, it wasn't doing anything custom.
13190
13191 * bindings/js/JSDOMApplicationCacheCustom.cpp:
13192 (WebCore::JSDOMApplicationCache::mark):
13193 (WebCore::JSDOMApplicationCache::addEventListener):
13194 (WebCore::JSDOMApplicationCache::removeEventListener):
13195 (WebCore::JSDOMApplicationCache::setOnchecking):
13196 (WebCore::JSDOMApplicationCache::onchecking):
13197 (WebCore::JSDOMApplicationCache::setOnerror):
13198 (WebCore::JSDOMApplicationCache::onerror):
13199 (WebCore::JSDOMApplicationCache::setOnnoupdate):
13200 (WebCore::JSDOMApplicationCache::onnoupdate):
13201 (WebCore::JSDOMApplicationCache::setOndownloading):
13202 (WebCore::JSDOMApplicationCache::ondownloading):
13203 (WebCore::JSDOMApplicationCache::setOnprogress):
13204 (WebCore::JSDOMApplicationCache::onprogress):
13205 (WebCore::JSDOMApplicationCache::setOnupdateready):
13206 (WebCore::JSDOMApplicationCache::onupdateready):
13207 (WebCore::JSDOMApplicationCache::setOncached):
13208 (WebCore::JSDOMApplicationCache::oncached):
13209 * bindings/js/JSEventTargetNodeCustom.cpp:
13210 (WebCore::JSEventTargetNode::addEventListener):
13211 (WebCore::JSEventTargetNode::removeEventListener):
13212 (WebCore::JSEventTargetNode::getListener):
13213 (WebCore::JSEventTargetNode::setListener):
13214 * bindings/js/JSMessagePortCustom.cpp:
13215 (WebCore::JSMessagePort::mark):
13216 (WebCore::JSMessagePort::addEventListener):
13217 (WebCore::JSMessagePort::removeEventListener):
13218 (WebCore::JSMessagePort::setOnmessage):
13219 (WebCore::JSMessagePort::onmessage):
13220 (WebCore::JSMessagePort::setOnclose):
13221 (WebCore::JSMessagePort::onclose):
13222 * bindings/js/JSXMLHttpRequestCustom.cpp:
13223 (WebCore::JSXMLHttpRequest::mark):
13224 (WebCore::JSXMLHttpRequest::onreadystatechange):
13225 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
13226 (WebCore::JSXMLHttpRequest::onabort):
13227 (WebCore::JSXMLHttpRequest::setOnabort):
13228 (WebCore::JSXMLHttpRequest::onerror):
13229 (WebCore::JSXMLHttpRequest::setOnerror):
13230 (WebCore::JSXMLHttpRequest::onload):
13231 (WebCore::JSXMLHttpRequest::setOnload):
13232 (WebCore::JSXMLHttpRequest::onloadstart):
13233 (WebCore::JSXMLHttpRequest::setOnloadstart):
13234 (WebCore::JSXMLHttpRequest::onprogress):
13235 (WebCore::JSXMLHttpRequest::setOnprogress):
13236 (WebCore::JSXMLHttpRequest::addEventListener):
13237 (WebCore::JSXMLHttpRequest::removeEventListener):
13238 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13239 (WebCore::JSXMLHttpRequestUpload::mark):
13240 (WebCore::JSXMLHttpRequestUpload::onabort):
13241 (WebCore::JSXMLHttpRequestUpload::setOnabort):
13242 (WebCore::JSXMLHttpRequestUpload::onerror):
13243 (WebCore::JSXMLHttpRequestUpload::setOnerror):
13244 (WebCore::JSXMLHttpRequestUpload::onload):
13245 (WebCore::JSXMLHttpRequestUpload::setOnload):
13246 (WebCore::JSXMLHttpRequestUpload::onloadstart):
13247 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
13248 (WebCore::JSXMLHttpRequestUpload::onprogress):
13249 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
13250 (WebCore::JSXMLHttpRequestUpload::addEventListener):
13251 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
13252 * bindings/scripts/CodeGeneratorJS.pm:
13253 * dom/EventTarget.h:
13254 * dom/EventTargetNode.cpp:
13255 (WebCore::EventTargetNode::associatedFrame):
13256 * dom/EventTargetNode.h:
13257 * dom/EventTargetNode.idl:
13258 * dom/MessagePort.cpp:
13259 (WebCore::MessagePort::associatedFrame):
13260 * dom/MessagePort.h:
13261 (WebCore::MessagePort::setOnmessage):
13262 (WebCore::MessagePort::onmessage):
13263 (WebCore::MessagePort::setOnclose):
13264 (WebCore::MessagePort::onclose):
13265 * dom/MessagePort.idl:
13266 * loader/appcache/DOMApplicationCache.h:
13267 (WebCore::DOMApplicationCache::setOnchecking):
13268 (WebCore::DOMApplicationCache::onchecking):
13269 (WebCore::DOMApplicationCache::setOnerror):
13270 (WebCore::DOMApplicationCache::onerror):
13271 (WebCore::DOMApplicationCache::setOnnoupdate):
13272 (WebCore::DOMApplicationCache::onnoupdate):
13273 (WebCore::DOMApplicationCache::setOndownloading):
13274 (WebCore::DOMApplicationCache::ondownloading):
13275 (WebCore::DOMApplicationCache::setOnprogress):
13276 (WebCore::DOMApplicationCache::onprogress):
13277 (WebCore::DOMApplicationCache::setOnupdateready):
13278 (WebCore::DOMApplicationCache::onupdateready):
13279 (WebCore::DOMApplicationCache::setOncached):
13280 (WebCore::DOMApplicationCache::oncached):
13281 (WebCore::DOMApplicationCache::associatedFrame):
13282 * loader/appcache/DOMApplicationCache.idl:
13283 * svg/EventTargetSVGElementInstance.cpp:
13284 (WebCore::EventTargetSVGElementInstance::associatedFrame):
13285 (WebCore::EventTargetSVGElementInstance::addEventListener):
13286 (WebCore::EventTargetSVGElementInstance::removeEventListener):
13287 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13288 * svg/EventTargetSVGElementInstance.h:
13289 * xml/XMLHttpRequest.cpp:
13290 (WebCore::XMLHttpRequest::associatedFrame):
13291 * xml/XMLHttpRequest.h:
13292 (WebCore::XMLHttpRequest::setOnreadystatechange):
13293 (WebCore::XMLHttpRequest::onreadystatechange):
13294 (WebCore::XMLHttpRequest::setOnabort):
13295 (WebCore::XMLHttpRequest::onabort):
13296 (WebCore::XMLHttpRequest::setOnerror):
13297 (WebCore::XMLHttpRequest::onerror):
13298 (WebCore::XMLHttpRequest::setOnload):
13299 (WebCore::XMLHttpRequest::onload):
13300 (WebCore::XMLHttpRequest::setOnloadstart):
13301 (WebCore::XMLHttpRequest::onloadstart):
13302 (WebCore::XMLHttpRequest::setOnprogress):
13303 (WebCore::XMLHttpRequest::onprogress):
13304 * xml/XMLHttpRequest.idl:
13305 * xml/XMLHttpRequestUpload.cpp:
13306 (WebCore::XMLHttpRequestUpload::associatedFrame):
13307 * xml/XMLHttpRequestUpload.h:
13308 (WebCore::XMLHttpRequestUpload::setOnabort):
13309 (WebCore::XMLHttpRequestUpload::onabort):
13310 (WebCore::XMLHttpRequestUpload::setOnerror):
13311 (WebCore::XMLHttpRequestUpload::onerror):
13312 (WebCore::XMLHttpRequestUpload::setOnload):
13313 (WebCore::XMLHttpRequestUpload::onload):
13314 (WebCore::XMLHttpRequestUpload::setOnloadstart):
13315 (WebCore::XMLHttpRequestUpload::onloadstart):
13316 (WebCore::XMLHttpRequestUpload::setOnprogress):
13317 (WebCore::XMLHttpRequestUpload::onprogress):
13318 * xml/XMLHttpRequestUpload.idl:
13319
darin@apple.com9451b7f2008-10-01 00:38:06 +0000133202008-09-30 Darin Adler <darin@apple.com>
13321
13322 - roll out assertion breaking regression tests
13323
13324 * platform/ScrollView.cpp:
13325 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
13326 that fires in regression tests. Hyatt can add it back later. The assertion
13327 fires in the regression test because of layout that triggers repaint occuring
13328 during the process of removing a frame.
13329
adele@apple.comed74a6e2008-09-30 23:21:50 +0000133302008-09-30 Adele Peterson <adele@apple.com>
13331
13332 Reviewed by Darin Adler.
13333
13334 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
13335 <rdar://problem/6222134> add a way to set color for input placeholder text
13336
13337 Test: fast/forms/placeholder-pseudo-style.html
13338
13339 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
13340 input elements when they are displaying the placeholder text.
13341
13342 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
13343 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
13344 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13345 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
13346 * css/html4.css: Add rule to make placeholder text default to darkGray.
13347
13348 * html/HTMLInputElement.cpp:
13349 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
13350 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
13351 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
13352 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
13353 (WebCore::HTMLInputElement::setValue): ditto.
13354 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
13355 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
13356 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
13357 renderer will just ask the node if it should draw the placeholder.
13358 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
13359
13360 * rendering/RenderTextControl.cpp:
13361 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
13362 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
13363 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
13364 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
13365 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
13366 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
13367 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
13368 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
13369 * rendering/RenderTextControl.h:
13370
bdakin@apple.com31845c52008-09-30 23:19:53 +0000133712008-09-30 Beth Dakin <bdakin@apple.com>
13372
13373 Reviewed by Darin Adler.
13374
13375 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
13376 by failed allocation due to invalid counter/attr
13377 and corresponding: <rdar://problem/6152371>
13378
13379 * css/CSSParser.cpp:
13380 (WebCore::CSSParser::parseCounterContent): The spec indicates that
13381 only identifiers should be accepted here.
13382
kmccullough@apple.com86834eb2008-09-30 22:31:46 +0000133832008-09-30 Kevin McCullough <kmccullough@apple.com>
13384
kmccullough@apple.com88219342008-09-30 22:33:30 +000013385 Reviewed by Oliver Hunt.
13386
13387 Bug 21255: console.profileEnd() without a console.profile() crashes the
13388 web inspector
13389
13390 * page/Console.cpp:
13391 (WebCore::Console::profileEnd):
13392
133932008-09-30 Kevin McCullough <kmccullough@apple.com>
13394
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000013395 Reviewed by Tim Hatcher.
13396
13397 Bug 21252: calling console.profile() with a title that is 2 chars or
13398 shorter does not linkify it
13399
13400 - Previously we tried to not linkify very short URLs but since profile
13401 titles can be any length this is not always true.
13402
13403 * page/inspector/inspector.js:
13404
hyatt@apple.comda9b3072008-09-30 21:30:56 +0000134052008-09-30 Dave Hyatt <hyatt@apple.com>
13406
13407 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
13408 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
13409 (1) Not used on Mac
13410 (2) Used on Windows
13411 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
13412 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
13413 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
13414
13415 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
13416 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
13417 With the changes to this method, the new behavior is as follows:
13418 (1) Not used on Mac
13419 (2) Used on Windows
13420 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
13421 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
13422 (5) Not used on wx
13423
13424 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
13425 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
13426
13427 Reviewed by Sam Weinig
13428
13429 * ChangeLog:
13430 * dom/Document.cpp:
13431 (WebCore::Document::implicitClose):
13432 * platform/HostWindow.h:
13433 (WebCore::HostWindow::paint):
13434 * platform/ScrollView.h:
13435 * platform/gtk/ScrollViewGtk.cpp:
13436 * platform/mac/ScrollViewMac.mm:
13437 * platform/qt/ScrollViewQt.cpp:
13438 * platform/win/ScrollViewWin.cpp:
13439 * platform/wx/ScrollViewWx.cpp:
13440
timothy@apple.com92560da2008-09-30 20:57:49 +0000134412008-09-30 Timothy Hatcher <timothy@apple.com>
13442
timothy@apple.com26fefbf2008-09-30 20:57:55 +000013443 Focus the DOM tree in the Web Inspector when a node is inspected.
13444 So when the search field has focus, the focus moves to the tree,
13445 allowing the arrow keys work. This can happen when using the new
13446 find in page feature.
13447
13448 https://bugs.webkit.org/show_bug.cgi?id=21251
13449
13450 Reviewed by Geoff Garen.
13451
13452 * page/inspector/ElementsPanel.js:
13453 (WebInspector.ElementsPanel): Set currentFocusElement to
13454 the main-panels element if the panel is visible.
13455 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
13456 Remove a set of currentFocusElement since this moved.
13457 * page/inspector/inspector.js:
13458 (WebInspector.set currentFocusElement): Always focus the element.
13459 This ensures that when focus changes in the page and we don't
13460 catch it, we will still focus the elements even if we think it
13461 was already focused.
13462
134632008-09-30 Timothy Hatcher <timothy@apple.com>
13464
timothy@apple.com92560da2008-09-30 20:57:49 +000013465 Make the Web Inspector's toolbar icons darker when the mouse is
13466 pressed on them. This matches the standard NSToolbar look.
13467
13468 https://bugs.webkit.org/show_bug.cgi?id=21249
13469 rdar://problem/6033752
13470
13471 Reviewed by Adam Roben.
13472
13473 * page/inspector/Images/databasesIcon.png:
13474 * page/inspector/Images/elementsIcon.png:
13475 * page/inspector/Images/profilesIcon.png:
13476 * page/inspector/Images/resourcesIcon.png:
13477 * page/inspector/Images/scriptsIcon.png:
13478 * page/inspector/Panel.js:
13479 * page/inspector/inspector.css:
13480
kmccullough@apple.com622724e2008-09-30 20:26:29 +0000134812008-09-30 Kevin McCullough <kmccullough@apple.com>
13482
13483 Reviewed by Tim Hatcher.
13484
13485 Bug 21139: Profiler log message is wrong
13486 - Correctly fix =(
13487 Don't call _format twice.
13488
13489 * page/Page.h:
13490 * page/inspector/Console.js:
13491 * page/inspector/ProfilesPanel.js:
13492 * page/inspector/inspector.js:
13493
hyatt@apple.com70936b52008-09-30 20:09:42 +0000134942008-09-30 Dave Hyatt <hyatt@apple.com>
13495
13496 http://bugs.webkit.org/show_bug.cgi?id=21250
13497
13498 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
13499 repaints up through the ChromeClient.
13500
13501 Reviewed by Darin Adler
13502
13503 * loader/EmptyClients.h:
13504 (WebCore::EmptyChromeClient::repaint):
13505 * page/Chrome.cpp:
13506 (WebCore::Chrome::repaint):
13507 * page/Chrome.h:
13508 * page/ChromeClient.h:
13509 * page/FrameView.cpp:
13510 (WebCore::FrameView::hostWindow):
13511 (WebCore::FrameView::repaintContentRectangle):
13512 * page/FrameView.h:
13513 * platform/HostWindow.h:
13514 * platform/ScrollView.cpp:
13515 (WebCore::ScrollView::repaintContentRectangle):
13516 (WebCore::ScrollView::platformRepaintContentRectangle):
13517 * platform/ScrollView.h:
13518 * platform/gtk/ScrollViewGtk.cpp:
13519 * platform/mac/ScrollViewMac.mm:
13520 (WebCore::ScrollView::platformRepaintContentRectangle):
13521 * platform/qt/ScrollViewQt.cpp:
13522 * platform/win/ScrollViewWin.cpp:
13523 * platform/wx/ScrollViewWx.cpp:
13524 (WebCore::ScrollView::platformRepaintContentRectangle):
13525
ap@webkit.org8b67da02008-09-30 17:58:10 +0000135262008-09-30 Alexey Proskuryakov <ap@webkit.org>
13527
13528 Non-Mac build fixes.
13529
13530 * GNUmakefile.am:
13531 * WebCore.pro:
13532 * WebCore.vcproj/WebCore.vcproj:
13533 * WebCoreSources.bkl:
13534 * webcore-base.bkl:
13535 Added DOMProtect.{cpp,h}.
13536
kdecker@apple.comdafe5102008-09-30 17:40:02 +0000135372008-09-39 Kevin Decker <kdecker@apple.com>
13538
13539 Reviewed by John Sullivan.
13540
13541 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
13542 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
13543
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +0000135442008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
13545
13546 Reviewed by Maciej Stachowiak.
13547
13548 Bug 21106: .in format discussed changes
13549 https://bugs.webkit.org/show_bug.cgi?id=21106
13550
13551 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
13552 is the only namespace used.
13553
13554 - Removed "generateFactory" and "generateWrapperFactory" parameters and
13555 re-introduced the command line options.
13556
13557 - Cleaned up the output of make_names.pl (removed unneeded new line).
13558
13559 * DerivedSources.make: Added factories command line options.
13560 * GNUmakefile.am: Ditto.
13561 * WebCore.pro: Ditto and removed some arguments that were migrated to
13562 the .in files.
13563
13564 * dom/make_names.pl: Clean up (see above).
13565
13566 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
13567 and "generateWrapperFactory" occurences.
13568 * html/HTMLTagNames.in: Ditto.
13569 * svg/svgattrs.in: Ditto.
13570 * svg/svgtags.in: Ditto.
13571 * svg/xlinkattrs.in: Ditto.
13572 * xml/xmlattrs.in: Ditto.
13573
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +0000135742008-09-29 Chris Fleizach <cfleizach@apple.com>
13575
13576 Reviewed by John Sullivan.
13577
13578 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
13579 Make sure that certain types of elements do not return children and, moreover, do not waste their
13580 energy trying to return children
13581
13582 Test: accessibility/nochildren-elements.html
13583
13584 * page/AccessibilityObject.h:
13585 (WebCore::AccessibilityObject::canHaveChildren):
13586 * page/AccessibilityRenderObject.cpp:
13587 (WebCore::AccessibilityRenderObject::canHaveChildren):
13588 (WebCore::AccessibilityRenderObject::addChildren):
13589 * page/AccessibilityRenderObject.h:
13590
ap@webkit.orga0c037c2008-09-30 15:52:06 +0000135912008-09-30 Alexey Proskuryakov <ap@webkit.org>
13592
13593 Reviewed by Sam Weinig.
13594
13595 https://bugs.webkit.org/show_bug.cgi?id=21213
13596 MessagePort crash when GC collects an object with a pending close event
13597
13598 Test: fast/events/message-channel-gc-2.html
13599 fast/events/message-channel-listener-circular-ownership.html
13600
13601 * bindings/DOMProtect.cpp: Added.
13602 (WebCore::gcProtectDOMObject):
13603 (WebCore::gcUnprotectDOMObject):
13604 * bindings/DOMProtect.h: Added.
13605 Added an abstraction for GC protection to avoid the need to call JS bindings code from
13606 DOM objects directly.
13607
13608 * dom/MessagePort.cpp:
13609 (WebCore::CloseMessagePortTimer::fired):
13610 (WebCore::MessagePort::queueCloseEvent):
13611 GC protect MessagePort wrapper while there is a pending close event.
13612 This may be necessary for message events, too, but that case is not a crasher, and actually
13613 behaves to the letter of the current HTML5 text, so I'll consider it later.
13614
13615 * xml/XMLHttpRequest.cpp:
13616 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
13617 (WebCore::XMLHttpRequest::dropProtection):
13618 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
13619
13620 * bindings/js/JSMessagePortCustom.cpp:
13621 (WebCore::JSMessagePort::addEventListener):
13622 (WebCore::JSMessagePort::removeEventListener):
13623 (WebCore::JSMessagePort::setOnmessage):
13624 (WebCore::JSMessagePort::setOnclose):
13625 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
13626 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
13627
13628 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13629 (WebCore::JSXMLHttpRequestUpload::mark):
13630 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
13631 from XMLHttpRequest.
13632
aroben@apple.comd2272012008-09-30 14:17:28 +0000136332008-09-30 Adam Roben <aroben@apple.com>
13634
13635 Windows build fix
13636
13637 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
13638
weinig@apple.comd516a572008-09-30 07:01:45 +0000136392008-09-29 Sam Weinig <sam@webkit.org>
13640
13641 Reviewed by Tim Hatcher.
13642
13643 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
13644 Autogenerate JS event listeners
13645
13646 - Generate EventTargetNode.
13647
13648 * DerivedSources.make:
13649 * GNUmakefile.am:
13650 * WebCore.pro:
13651 * WebCore.vcproj/WebCore.vcproj:
13652 * WebCore.xcodeproj/project.pbxproj:
13653 * WebCoreSources.bkl:
13654 * bindings/js/JSEventListener.cpp:
13655 * bindings/js/JSEventTarget.cpp: Added.
13656 (WebCore::toJS):
13657 * bindings/js/JSEventTarget.h: Added.
13658 * bindings/js/JSEventTargetBase.cpp: Removed.
13659 * bindings/js/JSEventTargetBase.h:
13660 * bindings/js/JSEventTargetNode.cpp: Removed.
13661 * bindings/js/JSEventTargetNode.h: Removed.
13662 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
13663 (WebCore::JSEventTargetNode::addEventListener):
13664 (WebCore::JSEventTargetNode::removeEventListener):
13665 (WebCore::JSEventTargetNode::dispatchEvent):
13666 (WebCore::JSEventTargetNode::getListener):
13667 (WebCore::JSEventTargetNode::setListener):
13668 (WebCore::JSEventTargetNode::pushEventHandlerScope):
13669 * bindings/js/JSEventTargetSVGElementInstance.cpp:
13670 (WebCore::):
13671 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
13672 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
13673 (jsEventTargetAddEventListener):
13674 (jsEventTargetRemoveEventListener):
13675 (jsEventTargetDispatchEvent):
13676 * bindings/js/JSEventTargetSVGElementInstance.h:
13677 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
13678 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
13679 * bindings/scripts/CodeGeneratorJS.pm:
13680 * dom/EventTargetNode.idl: Added.
13681
darin@apple.com8d35fe02008-09-30 01:14:26 +0000136822008-09-29 Darin Adler <darin@apple.com>
13683
13684 Reviewed by Sam Weinig.
13685
13686 - https://bugs.webkit.org/show_bug.cgi?id=21214
13687 work on getting rid of ExecState
13688
13689 * bindings/js/JSDOMWindowBase.cpp:
13690 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
13691 for base class constructor.
13692
hyatt@apple.com4ba85692008-09-30 00:42:25 +0000136932008-09-29 David Hyatt <hyatt@apple.com>
13694
13695 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
13696 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
13697 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
13698 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
13699
13700 Reviewed by Sam Weinig
13701
13702 * WebCore.xcodeproj/project.pbxproj:
13703 * page/Chrome.h:
13704 * platform/HostWindow.h: Added.
13705 (WebCore::HostWindow::HostWindow):
13706 (WebCore::HostWindow::~HostWindow):
13707
kdecker@apple.com0a129d72008-09-30 00:17:15 +0000137082008-09-29 Kevin Decker <kdecker@apple.com>
13709
13710 Reviewed by Anders Carlsson.
13711
13712 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
13713 2000.
13714
mitz@apple.comd58d8382008-09-29 23:42:38 +0000137152008-09-29 Dan Bernstein <mitz@apple.com>
13716
13717 Reviewed by Adam Roben.
13718
13719 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
13720
13721 * rendering/RenderThemeWin.cpp:
13722 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
13723 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
13724 unloaded, to avoid calling uxtheme.dll functions after that library has
13725 been unloaded.
13726 * rendering/RenderThemeWin.h:
13727
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +0000137282008-09-29 Chris Fleizach <cfleizach@apple.com>
13729
13730 Reviewed by John Sullivan
13731
13732 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
13733
13734 Sends AXLoadComplete only when the top level web area is finished loading
13735
13736 * dom/Document.cpp:
13737 (WebCore::Document::implicitClose):
13738
timothy@apple.com96fff242008-09-29 22:34:10 +0000137392008-09-29 Timothy Hatcher <timothy@apple.com>
13740
13741 Makes the node highlight always show up when hovering a node in
13742 the Web Inspector now that the highlight does not scroll to reveal
13743 the node. Also adds a hover effect in the inspector when hovering
13744 causes a highlight in the page. This ties the user hovering action
13745 to the highlight so it is clear what causes the highlight to appear.
13746
13747 Also the highlight now temporarily shows up for 2 seconds after
13748 selecting a node in the DOM tree. So arrowing around in the tree
13749 will show the node on the page, providing feedback to the user.
13750
13751 Plus fixes an issue where quickly moving away from hovering
13752 a node would keep showing the page highlight. This was happening
13753 in breadcrumbs and the DOM tree.
13754
13755 https://bugs.webkit.org/show_bug.cgi?id=21220
13756
13757 Reviewed by Kevin McCullough.
13758
13759 * page/inspector/Console.js:
13760 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
13761 hovering DOM nodes in the console.
13762 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
13763 (WebInspector.Console.prototype._formatnode): Use the new event
13764 listeners and add a class name to the anchor element.
13765 * page/inspector/ElementsPanel.js:
13766 (WebInspector.ElementsPanel): Add new event listeners to the
13767 crumbs element to do the node hovering highlight.
13768 (WebInspector.ElementsPanel.prototype.hide):
13769 (WebInspector.ElementsPanel.prototype.reset):
13770 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
13771 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
13772 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
13773 * page/inspector/ElementsTreeOutline.js:
13774 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
13775 Show the node hishlight for 2 seconds then restore the highlight
13776 to the current hovered node.
13777 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
13778 hovered node and set the hovered state on the tree element.
13779 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
13780 hovered node to null and removed the hovered state from the previous
13781 hovered tree element.
13782 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
13783 the hovered class to the list item.
13784 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
13785 * page/inspector/inspector.css:
13786 * page/inspector/inspector.js:
13787 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
13788 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
13789 causes the highlight to change sooner if there is one already showing
13790 and appear later if there isn't one showing. This is like tooltips,
13791 hovering a node for 500ms will cause highlight then mousing between nodes
13792 will keep the highlight and change to the new node.
13793 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
13794 always reset the timeout so continuous mousing does not keep flasshing
13795 the highlight on the screen.
13796 (WebInspector._updateHoverHighlight): Removed the alt key check and added
13797 the showingDOMNodeHighlight property.
13798 (WebInspector.documentKeyDown): Removed the alt key check.
13799 (WebInspector.documentKeyUp): Ditto.
13800 (WebInspector.reset): Clear the hoveredDOMNode.
13801
simon.fraser@apple.com8a565532008-09-29 22:04:38 +0000138022008-09-29 Simon Fraser <simon.fraser@apple.com>
13803
13804 Reviewed by Anders Carlsson
13805
13806 Fix RenderStyle leak in animation code, and assert that
13807 keyframe resolution in CSSStyleSelector is not going to clobber
13808 m_style.
13809
13810 * css/CSSStyleSelector.cpp:
13811 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
13812 * page/animation/KeyframeAnimation.cpp:
13813 (WebCore::KeyframeAnimation::~KeyframeAnimation):
13814
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +0000138152008-09-29 Chris Marrin <cmarrin@apple.com>
13816
simon.fraser@apple.come979de02008-09-29 21:31:26 +000013817 Reviewed by Dave Hyatt
13818
13819 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
13820 Rewrite keyframe resolution to be like styleForElement()
13821
13822 Test: animations/lineheight-animation.html
13823
13824 * css/CSSStyleSelector.cpp:
13825 (WebCore::CSSStyleSelector::addKeyframeStyle):
13826 (WebCore::CSSStyleSelector::~CSSStyleSelector):
13827 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
13828 (WebCore::CSSRuleSet::addRulesFromSheet):
13829 (WebCore::CSSStyleSelector::mapAnimationName):
13830 * css/CSSStyleSelector.h:
13831 * page/animation/CompositeAnimation.cpp:
13832 (WebCore::CompositeAnimation::updateKeyframeAnimations):
13833 * page/animation/KeyframeAnimation.cpp:
13834 (WebCore::KeyframeAnimation::KeyframeAnimation):
13835 (WebCore::KeyframeAnimation::animate):
13836 (WebCore::KeyframeAnimation::hasAnimationForProperty):
13837 (WebCore::KeyframeAnimation::sendAnimationEvent):
13838 (WebCore::KeyframeAnimation::overrideAnimations):
13839 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
13840 (WebCore::KeyframeAnimation::affectsProperty):
13841 (WebCore::KeyframeAnimation::validateTransformFunctionList):
13842 * page/animation/KeyframeAnimation.h:
13843 * rendering/style/Animation.cpp:
13844 (WebCore::Animation::animationsMatch):
13845 * rendering/style/Animation.h:
13846 * rendering/style/KeyframeList.cpp:
13847 (WebCore::KeyframeList::~KeyframeList):
13848 (WebCore::KeyframeList::clear):
13849 (WebCore::KeyframeList::insert):
13850 * rendering/style/KeyframeList.h:
13851 (WebCore::KeyframeValue::KeyframeValue):
13852 (WebCore::KeyframeList::KeyframeList):
13853 (WebCore::KeyframeList::operator!=):
13854 (WebCore::KeyframeList::animationName):
13855 (WebCore::KeyframeList::addProperty):
13856 (WebCore::KeyframeList::containsProperty):
13857 (WebCore::KeyframeList::beginProperties):
13858 (WebCore::KeyframeList::endProperties):
13859 (WebCore::KeyframeList::isEmpty):
13860 (WebCore::KeyframeList::size):
13861 (WebCore::KeyframeList::beginKeyframes):
13862 (WebCore::KeyframeList::endKeyframes):
13863 * rendering/style/RenderStyle.h:
13864 * rendering/style/StyleRareNonInheritedData.cpp:
13865 * rendering/style/StyleRareNonInheritedData.h:
13866
138672008-09-29 Chris Marrin <cmarrin@apple.com>
13868
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000013869 Reviewed by Eric Seidel
13870
simon.fraser@apple.comff913022008-09-29 21:24:52 +000013871 Clean up fix in PropertyWrapperGetter::equals
13872 https://bugs.webkit.org/show_bug.cgi?id=21011
13873
13874 Test: transitions/override-transition-crash.html
13875
13876 * page/animation/AnimationBase.cpp:
13877 (WebCore::PropertyWrapperGetter::equals):
13878 * page/animation/CompositeAnimation.cpp:
13879 (WebCore::CompositeAnimation::updateTransitions):
13880
138812008-09-29 Chris Marrin <cmarrin@apple.com>
13882
13883 Reviewed by Eric Seidel
13884
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000013885 https://bugs.webkit.org/show_bug.cgi?id=21001
13886 Starting transition after animation, when animation
13887 is finished, transition is wrong.
13888
13889 Test: animations/transition-and-animation-2.html
13890
13891 * page/animation/AnimationBase.h:
13892 * page/animation/CompositeAnimation.cpp:
13893 (WebCore::CompositeAnimation::updateTransitions):
13894 (WebCore::CompositeAnimation::updateKeyframeAnimations):
13895 (WebCore::CompositeAnimation::resetTransitions):
13896 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
13897 * page/animation/ImplicitAnimation.cpp:
13898 (WebCore::ImplicitAnimation::ImplicitAnimation):
13899 (WebCore::ImplicitAnimation::~ImplicitAnimation):
13900 (WebCore::ImplicitAnimation::animate):
13901 (WebCore::ImplicitAnimation::reset):
13902 * page/animation/ImplicitAnimation.h:
13903
139042008-09-29 Chris Marrin <cmarrin@apple.com>
13905
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000013906 Reviewed by Sam Weinig
13907
13908 https://bugs.webkit.org/show_bug.cgi?id=20921
13909 -webkit-animation-timing-function: inside of keyframes is ignored
13910
13911 Test: animations/keyframe-timing-functions.html
13912
13913 * page/animation/AnimationBase.cpp:
13914 (WebCore::AnimationBase::progress):
13915 * page/animation/AnimationBase.h:
13916 * page/animation/ImplicitAnimation.cpp:
13917 (WebCore::ImplicitAnimation::animate):
13918 * page/animation/KeyframeAnimation.cpp:
13919 (WebCore::KeyframeAnimation::animate):
13920
mitz@apple.com2449a052008-09-29 20:57:33 +0000139212008-09-29 Dan Bernstein <mitz@apple.com>
13922
mitz@apple.com9a3e3c82008-09-29 21:04:54 +000013923 - Windows build fix
13924
13925 * platform/ScrollView.cpp:
13926 (WebCore::ScrollView::platformScroll):
13927
139282008-09-29 Dan Bernstein <mitz@apple.com>
13929
mitz@apple.com2449a052008-09-29 20:57:33 +000013930 - another attempt at a Windows build fix
13931
13932 * platform/ScrollView.cpp:
13933 (WebCore::platformScroll):
13934
139352008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +000013936
13937 - Windows build fix
13938
13939 * platform/ScrollView.cpp:
13940 (WebCore::ScrollView::platformSetScrollPosition):
13941
hyatt@apple.com90abd562008-09-29 19:46:37 +0000139422008-09-29 David Hyatt <hyatt@apple.com>
13943
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +000013944 https://bugs.webkit.org/show_bug.cgi?id=21218
13945
13946 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
13947 It's silly that the code was this fragile, but for now just put the check back in.
13948
13949 Reviewed by Dan Bernstein
13950
13951 * platform/ScrollView.cpp:
13952 (WebCore::ScrollView::setScrollbarModes):
13953
139542008-09-29 David Hyatt <hyatt@apple.com>
13955
hyatt@apple.com90abd562008-09-29 19:46:37 +000013956 https://bugs.webkit.org/show_bug.cgi?id=21216
13957
13958 Make setScrollPosition and scroll() cross-platform.
13959
13960 Reviewed by Anders
13961
13962 * platform/ScrollView.cpp:
13963 (WebCore::ScrollView::setScrollPosition):
13964 (WebCore::ScrollView::scroll):
13965 * platform/ScrollView.h:
13966 * platform/gtk/ScrollViewGtk.cpp:
13967 * platform/mac/ScrollViewMac.mm:
13968 (WebCore::ScrollView::platformSetScrollPosition):
13969 (WebCore::ScrollView::platformScroll):
13970 * platform/qt/ScrollViewQt.cpp:
13971 * platform/win/ScrollViewWin.cpp:
13972 * platform/wx/ScrollViewWx.cpp:
13973 (WebCore::ScrollView::platformSetScrollPosition):
13974 (WebCore::ScrollView::platformScroll):
13975
kmccullough@apple.comed371682008-09-29 19:09:44 +0000139762008-09-29 Kevin McCullough <kmccullough@apple.com>
13977
13978 Reviewed by Oliver.
13979
13980 Bug 21139: Profiler log message is wrong
13981 - Because _format was called twice the number in the log was incremented
13982 too many times, but we were passing it around in the link the whole time
13983
13984 * page/inspector/ProfilesPanel.js:
13985 * page/inspector/inspector.js:
13986
weinig@apple.com7f3f95f2008-09-29 19:09:02 +0000139872008-09-29 Sam Weinig <sam@webkit.org>
13988
13989 Reviewed by Cameron Zwarich.
13990
13991 Autogenerate EventListeners, addEventListener and removeEventListener
13992 for JSDOMWindow.
13993
13994 * bindings/js/JSDOMWindowBase.cpp:
13995 * bindings/js/JSDOMWindowBase.h:
13996 * bindings/js/JSDOMWindowCustom.cpp:
13997 (WebCore::JSDOMWindow::onwebkitanimationstart):
13998 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
13999 (WebCore::JSDOMWindow::onwebkitanimationiteration):
14000 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
14001 (WebCore::JSDOMWindow::onwebkitanimationend):
14002 (WebCore::JSDOMWindow::setOnwebkitanimationend):
14003 (WebCore::JSDOMWindow::onwebkittransitionend):
14004 (WebCore::JSDOMWindow::setOnwebkittransitionend):
14005 (WebCore::JSDOMWindow::addEventListener):
14006 (WebCore::JSDOMWindow::removeEventListener):
14007 (WebCore::JSDOMWindow::setListener):
14008 (WebCore::JSDOMWindow::getListener):
14009 * bindings/scripts/CodeGeneratorJS.pm:
14010 * page/DOMWindow.idl:
14011
hausmann@webkit.orgf6964472008-09-29 12:47:08 +0000140122008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
14013
14014 Reviewed by Simon.
14015
14016 Changed copyright from Trolltech ASA to Nokia.
14017
14018 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
14019
14020 * bindings/js/JSMimeTypeArrayCustom.cpp:
14021 * bindings/js/JSNavigatorCustom.cpp:
14022 * bindings/js/JSPluginArrayCustom.cpp:
14023 * bindings/js/JSPluginCustom.cpp:
14024 * bindings/js/ScriptControllerMac.mm:
14025 * bindings/js/ScriptControllerQt.cpp:
14026 * bridge/qt/qt_class.cpp:
14027 * bridge/qt/qt_class.h:
14028 * bridge/qt/qt_instance.cpp:
14029 * bridge/qt/qt_instance.h:
14030 * bridge/qt/qt_runtime.cpp:
14031 * bridge/qt/qt_runtime.h:
14032 * bridge/testqtbindings.cpp:
14033 * css/makegrammar.pl:
14034 * css/makeprop.pl:
14035 * css/makevalues.pl:
14036 * dom/Node.cpp:
14037 * dom/TagNodeList.cpp:
14038 * dom/TagNodeList.h:
14039 * dom/XMLTokenizer.cpp:
14040 * dom/XMLTokenizer.h:
14041 * dom/XMLTokenizerLibxml2.cpp:
14042 * dom/XMLTokenizerQt.cpp:
14043 * editing/Editor.cpp:
14044 * editing/EditorCommand.cpp:
14045 * html/CanvasRenderingContext2D.cpp:
14046 * html/CanvasStyle.cpp:
14047 * html/HTMLAppletElement.cpp:
14048 * html/HTMLEmbedElement.cpp:
14049 * html/HTMLObjectElement.cpp:
14050 * loader/FrameLoader.cpp:
14051 * page/Chrome.cpp:
14052 * page/EditorClient.h:
14053 * page/Frame.cpp:
14054 * page/Frame.h:
14055 * page/FramePrivate.h:
14056 * page/Navigator.cpp:
14057 * page/Navigator.h:
14058 * page/Navigator.idl:
14059 * page/mac/FrameMac.mm:
14060 * page/qt/EventHandlerQt.cpp:
14061 * platform/graphics/qt/FontCacheQt.cpp:
14062 * platform/graphics/qt/FontCustomPlatformData.cpp:
14063 * platform/graphics/qt/FontCustomPlatformData.h:
14064 * platform/graphics/qt/FontPlatformData.h:
14065 * platform/graphics/qt/FontQt.cpp:
14066 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
14067 * platform/graphics/qt/GraphicsContextQt.cpp:
14068 * platform/graphics/qt/ImageDecoderQt.cpp:
14069 * platform/graphics/qt/ImageDecoderQt.h:
14070 * platform/graphics/qt/ImageSourceQt.cpp:
14071 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
14072 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
14073 * platform/graphics/qt/SimpleFontDataQt.cpp:
14074 * platform/gtk/MIMETypeRegistryGtk.cpp:
14075 * platform/mac/MIMETypeRegistryMac.mm:
14076 * platform/network/qt/QNetworkReplyHandler.cpp:
14077 * platform/network/qt/QNetworkReplyHandler.h:
14078 * platform/network/qt/ResourceHandleQt.cpp:
14079 * platform/network/qt/ResourceRequestQt.cpp:
14080 * platform/qt/ClipboardQt.cpp:
14081 * platform/qt/EventLoopQt.cpp:
14082 * platform/qt/KURLQt.cpp:
14083 * platform/qt/LoggingQt.cpp:
14084 * platform/qt/MIMETypeRegistryQt.cpp:
14085 * platform/qt/PasteboardQt.cpp:
14086 * platform/qt/PlatformScreenQt.cpp:
14087 * platform/qt/PopupMenuQt.cpp:
14088 * platform/qt/QWebPopup.cpp:
14089 * platform/qt/QWebPopup.h:
14090 * platform/qt/RenderThemeQt.cpp:
14091 * platform/qt/ScrollbarQt.cpp:
14092 * platform/qt/ScrollbarThemeQt.cpp:
14093 * platform/qt/WheelEventQt.cpp:
14094 * platform/qt/html4-adjustments-qt.css:
14095 * platform/wx/MimeTypeRegistryWx.cpp:
14096 * plugins/MimeType.cpp:
14097 * plugins/MimeType.h:
14098 * plugins/MimeType.idl:
14099 * plugins/MimeTypeArray.cpp:
14100 * plugins/MimeTypeArray.h:
14101 * plugins/MimeTypeArray.idl:
14102 * plugins/Plugin.cpp:
14103 * plugins/Plugin.h:
14104 * plugins/Plugin.idl:
14105 * plugins/PluginArray.cpp:
14106 * plugins/PluginArray.h:
14107 * plugins/PluginArray.idl:
14108 * plugins/PluginData.cpp:
14109 * plugins/PluginData.h:
14110 * plugins/gtk/PluginDataGtk.cpp:
14111 * plugins/mac/PluginDataMac.mm:
14112 * plugins/qt/PluginDataQt.cpp:
14113 * plugins/win/PluginDataWin.cpp:
14114 * rendering/RenderTableCol.cpp:
14115 * rendering/RenderTableCol.h:
14116
hausmann@webkit.org37374992008-09-29 09:03:09 +0000141172008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
14118
14119 Reviewed by Simon
14120
14121 Fix compilation with gcc 4.3
14122
14123 gcc 4.3 is stricter and ctype.h isn't getting included
14124 automatically here by dependencies. So do it directly.
14125
14126 * platform/qt/PlatformKeyboardEventQt.cpp:
14127
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +0000141282008-09-29 Morten Sørvig <msorvig@trolltech.com>
14129
14130 Reviewed by Simon.
14131
14132 Fix compilation with Qt/Mac without plugins.
14133
14134 * platform/qt/TemporaryLinkStubs.cpp:
14135
mrowe@apple.com2c478db2008-09-29 08:20:37 +0000141362008-09-29 Mark Rowe <mrowe@apple.com>
14137
14138 Reviewed by Sam Weinig.
14139
14140 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
14141 In the few places that we call .upper() in WebCore the strings represent things like
14142 tag and attribute names, which are nearly always going to be ASCII.
14143
14144 * platform/text/StringImpl.cpp:
14145 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
14146 in to Unicode::toLower the second time.
14147 (WebCore::StringImpl::upper):
14148
mrowe@apple.com512eca02008-09-29 08:19:09 +0000141492008-09-28 Mark Rowe <mrowe@apple.com>
14150
mrowe@apple.com49797322008-09-29 08:19:14 +000014151 Reviewed by Sam Weinig.
14152
14153 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
14154 rather than String::operator+=.
14155
14156 * css/CSSPrimitiveValue.cpp:
14157 (WebCore::CSSPrimitiveValue::cssText):
14158
141592008-09-28 Mark Rowe <mrowe@apple.com>
14160
mrowe@apple.com512eca02008-09-29 08:19:09 +000014161 Reviewed by Oliver Hunt.
14162
14163 Speed up computedStyle.getPropertyValue('color') by 4.5x.
14164
14165 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
14166 as it avoids many memory reallocations.
14167
14168 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
14169 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
14170 unrelated properties on an element.
14171
14172 * css/CSSPrimitiveValue.cpp:
14173 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
14174 and use appendNumber rather than the String::number in order to cut down on memory allocations.
14175 * platform/text/PlatformString.h:
14176 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
14177 into a Vector<UChar>.
14178
weinig@apple.com4df73d92008-09-29 03:41:35 +0000141792008-09-28 Sam Weinig <sam@webkit.org>
14180
weinig@apple.com9af39ef2008-09-29 04:16:15 +000014181 Reviewed by Anders Carlsson.
14182
14183 Remove spurious call to lower().
14184
14185 * css/MediaQueryEvaluator.cpp:
14186 (WebCore::MediaQueryEvaluator):
14187
141882008-09-28 Sam Weinig <sam@webkit.org>
14189
weinig@apple.com4df73d92008-09-29 03:41:35 +000014190 Reviewed by Dan Bernstein.
14191
14192 Use a CaseFoldingHash instead of calling lower on family strings.
14193
14194 * css/CSSFontSelector.cpp:
14195 (WebCore::CSSFontSelector::addFontFaceRule):
14196 (WebCore::CSSFontSelector::getFontData):
14197 * css/CSSFontSelector.h:
14198
timothy@apple.com810c9892008-09-28 23:31:25 +0000141992008-09-28 Timothy Hatcher <timothy@apple.com>
14200
14201 Remove the scrollIntoViewIfNeeded() call when drawing the
14202 Inspector node highlight.
14203
14204 <rdar://problem/6115804> Don't scroll when highlighting (21000)
14205 https://bugs.webkit.org/show_bug.cgi?id=21000
14206
14207 Reviewed by Dan Bernstein.
14208
14209 * page/InspectorController.cpp:
14210 (WebCore::InspectorController::drawNodeHighlight):
14211
hyatt@apple.come6ebc992008-09-28 19:58:14 +0000142122008-09-28 David Hyatt <hyatt@apple.com>
14213
14214 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
14215 changed.
14216
14217 Reviewed by Dan Bernstein
14218
14219 * platform/mac/ScrollbarThemeMac.mm:
14220 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
14221
timothy@apple.com47a6d492008-09-28 19:52:30 +0000142222008-09-28 Timothy Hatcher <timothy@apple.com>
14223
14224 Clear the current search results in the Inspector when
14225 the search query is less than 3 characters long. Incremental
14226 searches only occur for 3 characters or longer, but deleting
14227 under this limit would not clear the results unless the whole
14228 query was deleted.
14229
14230 https://bugs.webkit.org/show_bug.cgi?id=21196
14231
14232 Reviewed by Dan Bernstein.
14233
14234 * page/inspector/inspector.js:
14235 (WebInspector.performSearch): Check for short queries in the
14236 if statement that triggers the clear.
14237
mitz@apple.comc7980632008-09-28 19:38:50 +0000142382008-09-28 Dan Bernstein <mitz@apple.com>
14239
14240 Reviewed by Dave Hyatt.
14241
14242 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
14243
14244 * platform/graphics/win/FontCustomPlatformData.cpp:
14245 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
14246 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +000014247 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +000014248 m_overlayLength bytes starting at m_overlayDst with the same number of
14249 bytes from m_overlaySrc.
14250 (WebCore::createFontCustomPlatformData): Changed to get overlay
14251 parameters from getEOTHeader.
14252 * platform/graphics/win/GetEOTHeader.cpp:
14253 (WebCore::getEOTHeader): Added code to specify overlaying of the
14254 family name with the prefix of the full name if they differ, because
14255 that such a difference causes TTLoadEmbeddedFont to fail.
14256 * platform/graphics/win/GetEOTHeader.h:
14257
ap@webkit.orgdf67f132008-09-28 13:23:51 +0000142582008-09-28 Alexey Proskuryakov <ap@webkit.org>
14259
14260 Reviewed by Eric Seidel.
14261
14262 https://bugs.webkit.org/show_bug.cgi?id=20366
14263 Reproducible test failure for editing/undo/undo-iframe-location-change.html
14264
14265 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
14266
darin@apple.com80c76ce2008-09-28 09:35:06 +0000142672008-09-28 Darin Adler <darin@apple.com>
14268
14269 Reviewed by Sam Weinig (except for a few comment and header tweaks).
14270
14271 - https://bugs.webkit.org/show_bug.cgi?id=21158
14272 reduce use of virtual functions in Node for speed
14273
14274 Speeds up Dromaeo a bit less than 1%.
14275
14276 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
14277 Node.h now that some inlines are in there.
14278
14279 * dom/Attr.h: Override both the virtual and non-virtual name functions.
14280
14281 * dom/ChildNodeList.cpp:
14282 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
14283 * dom/ChildNodeList.h: Ditto.
14284 * dom/ClassNodeList.cpp:
14285 (WebCore::ClassNodeList::nodeMatches): Ditto.
14286 * dom/ClassNodeList.h: Ditto.
14287
14288 * dom/Document.h: Put the Node::isDocumentNode() function's inline
14289 definition here where it can see the Document class definition.
14290
14291 * dom/DynamicNodeList.cpp:
14292 (WebCore::DynamicNodeList::length): Changed to pass an Element.
14293 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
14294 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
14295 (WebCore::DynamicNodeList::itemWithName): Ditto.
14296 * dom/DynamicNodeList.h: Ditto.
14297
14298 * dom/Element.cpp: Removed virtualHasTagName.
14299 * dom/Element.h: Made localName, prefix, namespaceURI, and
14300 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
14301 virtualNamespaceURI, and removed virtualHasTagName. Put the
14302 Node::hasTagName, Node::hasAttributes, and Node::attributes
14303 functions' inline definitions here where they can see the Element
14304 class definition.
14305
14306 * dom/NameNodeList.cpp:
14307 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
14308 * dom/NameNodeList.h: Ditto.
14309
14310 * dom/Node.cpp:
14311 (WebCore::Node::virtualPrefix): Renamed from prefix.
14312 (WebCore::Node::virtualLocalName): Renamed from localName.
14313 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
14314 (WebCore::Node::styleForRenderer): Handle the Element case here.
14315
14316 * dom/Node.h: Removed definition of hasTagName that calls virtual,
14317 since we now have a non-virtual version. Made hasAttributes,
14318 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
14319 and styleForRenderer non-virtual. Added virtualPrefix,
14320 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
14321 and setMalformed, which are used only on HTMLFormElement objects.
14322
14323 * dom/TagNodeList.cpp:
14324 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
14325 * dom/TagNodeList.h: Ditto.
14326
14327 * html/HTMLAnchorElement.cpp: Added a comment.
14328 * html/HTMLFormControlElement.cpp: Ditto.
14329
14330 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
14331 function. Marked tabIndex function virtual explicitly for clarity.
14332
14333 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
14334 function. Marked isFocusable function virtual explicitly for clarity.
14335
14336 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
14337 clarity.
14338 * html/HTMLFormControlElement.h: Ditto.
14339
14340 * html/HTMLFormElement.h: Made isMalformed non-virtual.
14341
14342 * html/HTMLParser.cpp:
14343 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
14344 pointer to call localName since that one does not need to call a virtual
14345 function.
14346
14347 * rendering/RenderBlock.cpp:
14348 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
14349 calling isMalformed. We already did a tag name check so we know it's
14350 an HTMLFormELement.
14351
14352 * xml/XPathUtil.cpp:
14353 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
14354 to nodeType(), since it's a virtual function.
14355
hyatt@apple.com2225aef2008-09-28 08:52:26 +0000143562008-09-28 David Hyatt <hyatt@apple.com>
14357
14358 Make frameRectsChanged() cross-platform on ScrollView.
14359
14360 Reviewed by Oliver Hunt
14361
14362 * platform/ScrollView.cpp:
14363 (WebCore::ScrollView::frameRectsChanged):
14364 * platform/ScrollView.h:
14365 * platform/gtk/ScrollViewGtk.cpp:
14366 * platform/qt/ScrollViewQt.cpp:
14367 * platform/win/ScrollViewWin.cpp:
14368 * platform/wx/ScrollViewWx.cpp:
14369
oliver@apple.combec35402008-09-28 08:36:39 +0000143702008-09-28 Oliver Hunt <oliver@apple.com>
14371
14372 Reviewed by Maciej Stachowiak.
14373
14374 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
14375 <https://bugs.webkit.org/show_bug.cgi?id=21141>
14376
14377 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
14378 were not initialising their StructureID's to indicate that the wrapper
14379 overrides hasInstance, etc. The solution is simply to use the createStructureID
14380 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
14381
14382 * bindings/js/JSInspectedObjectWrapper.cpp:
14383 (WebCore::JSInspectedObjectWrapper::wrap):
14384
hyatt@apple.comaede3de2008-09-28 08:21:09 +0000143852008-09-28 David Hyatt <hyatt@apple.com>
14386
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +000014387 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
14388 terms of lines.
14389
14390 Reviewed by Oliver Hunt
14391
14392 * dom/EventTargetNode.cpp:
14393 (WebCore::EventTargetNode::dispatchWheelEvent):
14394
143952008-09-28 David Hyatt <hyatt@apple.com>
14396
hyatt@apple.comaede3de2008-09-28 08:21:09 +000014397 https://bugs.webkit.org/show_bug.cgi?id=21191
14398
14399 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
14400 on ScrollView to be cross-platform.
14401
14402 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
14403 events are now pixel wheel events.
14404
14405 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
14406 (1) Page scrolling has been corrected to be properly detected (on Windows
14407 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
14408 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
14409 you could page scroll horizontally.
14410 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
14411 This caused the scroll amount for page scrolling to be way too large on layers.
14412
14413 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
14414
14415 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
14416 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
14417
14418 Reviewed by Oliver Hunt
14419
14420 * editing/EditorCommand.cpp:
14421 (WebCore::verticalScrollDistance):
14422 * page/EventHandler.cpp:
14423 (WebCore::scrollAndAcceptEvent):
14424 (WebCore::EventHandler::handleWheelEvent):
14425 * platform/PlatformWheelEvent.h:
14426 (WebCore::):
14427 (WebCore::PlatformWheelEvent::pos):
14428 (WebCore::PlatformWheelEvent::globalPos):
14429 (WebCore::PlatformWheelEvent::deltaX):
14430 (WebCore::PlatformWheelEvent::deltaY):
14431 (WebCore::PlatformWheelEvent::granularity):
14432 (WebCore::PlatformWheelEvent::x):
14433 (WebCore::PlatformWheelEvent::globalX):
14434 (WebCore::PlatformWheelEvent::ignore):
14435 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
14436 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
14437 * platform/ScrollView.cpp:
14438 (WebCore::ScrollView::wheelEvent):
14439 * platform/Scrollbar.h:
14440 * platform/gtk/ScrollViewGtk.cpp:
14441 (WebCore::ScrollView::updateScrollbars):
14442 * platform/gtk/WheelEventGtk.cpp:
14443 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14444 * platform/mac/ScrollViewMac.mm:
14445 * platform/mac/WheelEventMac.mm:
14446 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14447 * platform/qt/ScrollViewQt.cpp:
14448 (WebCore::ScrollView::updateScrollbars):
14449 * platform/qt/WheelEventQt.cpp:
14450 * platform/win/ScrollViewWin.cpp:
14451 (WebCore::ScrollView::updateScrollbars):
14452 * platform/win/WheelEventWin.cpp:
14453 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
14454 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
14455 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
14456 * platform/wx/ScrollViewWx.cpp:
14457 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
14458 (WebCore::ScrollView::wheelEvent):
14459 * rendering/RenderLayer.cpp:
14460 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
14461
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +0000144622008-09-27 Eric Carlson <eric.carlson@apple.com>
14463
14464 Reviewed by Sam Weinig.
14465
14466 fix https://bugs.webkit.org/show_bug.cgi?id=20994
14467 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
14468
14469 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
14470 all unsigned media attributes from string with toUInt() instead of toInt().
14471
14472 * html/HTMLMediaElement.cpp:
14473 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
14474
14475 * html/HTMLVideoElement.cpp:
14476 (WebCore::HTMLVideoElement::videoWidth):
14477 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
14478 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
14479 unsigned value.
14480 (WebCore::HTMLVideoElement::height): Ditto.
14481 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
14482 (WebCore::HTMLVideoElement::setHeight): Ditto.
14483
14484 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
14485
14486 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
14487
timothy@apple.coma8215632008-09-28 04:40:53 +0000144882008-09-27 Timothy Hatcher <timothy@apple.com>
14489
timothy@apple.combe91da22008-09-28 04:40:58 +000014490 Fixes an exception when typing a command in the Console.
14491
14492 Reviewed by Oliver Hunt.
14493
14494 * page/inspector/Console.js:
14495 (WebInspector.Console.prototype.addMessage): Null check
14496 this.previosMessage.
14497
144982008-09-27 Timothy Hatcher <timothy@apple.com>
14499
timothy@apple.coma8215632008-09-28 04:40:53 +000014500 Fixes a bug where the Profiles panel sidebar would be empty
14501 after closing and reopening the Web Inspector.
14502
14503 https://bugs.webkit.org/show_bug.cgi?id=21179
14504
14505 Reviewed by Sam Weinig.
14506
14507 * page/inspector/ProfilesPanel.js:
14508 (WebInspector.ProfilesPanel.prototype.reset): Don't call
14509 populateInterface, it is called automatically.
14510 (WebInspector.ProfilesPanel.prototype._populateProfiles):
14511 Return early if the sidebar is already populated.
14512
hyatt@apple.com81664322008-09-28 04:38:21 +0000145132008-09-27 Dave Hyatt <hyatt@apple.com>
14514
14515 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
14516 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
14517 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
14518 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
14519
14520 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
14521 (which should never have landed in the first place).
14522
14523 Reviewed by Tim Hatcher, Sam Weinig
14524
14525 * platform/win/ScrollViewWin.cpp:
14526 (WebCore::adjustDeltaForPageScrollMode):
14527 (WebCore::ScrollView::updateScrollbars):
14528 (WebCore::ScrollView::wheelEvent):
14529
hyatt@apple.com880cbb12008-09-28 03:51:41 +0000145302008-09-27 David Hyatt <hyatt@apple.com>
14531
14532 Make the scrollbarUnderMouse method cross-platform.
14533
14534 Reviewed by Sam Weinig
14535
14536 * platform/ScrollView.cpp:
14537 (WebCore::ScrollView::scrollbarUnderMouse):
14538 * platform/gtk/ScrollViewGtk.cpp:
14539 * platform/mac/ScrollViewMac.mm:
14540 * platform/qt/ScrollViewQt.cpp:
14541 * platform/win/ScrollViewWin.cpp:
14542 * platform/wx/ScrollViewWx.cpp:
14543
zecke@webkit.org7bf12c62008-09-28 01:50:42 +0000145442008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14545
14546 Gtk+ build fix.
14547
14548 * platform/gtk/ScrollViewGtk.cpp:
14549 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
14550
zecke@webkit.org202af282008-09-28 01:49:45 +0000145512008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
14552
14553 Reviewed by Holger Freyther.
14554
14555 https://bugs.webkit.org/show_bug.cgi?id=20287
14556 [Gtk] disable plugins for gtk/directfb target
14557
14558 Introduce WTF_PLATFORM_X11 for X11 builds.
14559 Also use target-specific packages when building the port
14560
14561 * platform/gtk/PlatformScreenGtk.cpp:
14562 * plugins/gtk/PluginViewGtk.cpp:
14563 (WebCore::PluginView::updatePluginWidget):
14564 (WebCore::PluginView::getValueStatic):
14565 (WebCore::PluginView::getValue):
14566 (WebCore::PluginView::init):
14567
hyatt@apple.come6f04e52008-09-28 01:07:05 +0000145682008-09-27 David Hyatt <hyatt@apple.com>
14569
14570 https://bugs.webkit.org/show_bug.cgi?id=21188
14571
14572 Make scrollbar suppression and resizer avoidance cross-platform.
14573
14574 Reviewed by Anders
14575
14576 * loader/FrameLoader.cpp:
14577 (WebCore::FrameLoader::transitionToCommitted):
14578 * page/FrameView.cpp:
14579 (WebCore::FrameView::resetScrollbars):
14580 (WebCore::FrameView::clear):
14581 (WebCore::FrameView::layout):
14582 (WebCore::FrameView::restoreScrollbar):
14583 (WebCore::FrameView::windowResizerRect):
14584 * page/FrameView.h:
14585 * platform/ScrollView.cpp:
14586 (WebCore::ScrollView::init):
14587 (WebCore::ScrollView::resizerOverlapsContent):
14588 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
14589 (WebCore::ScrollView::setParent):
14590 (WebCore::ScrollView::setScrollbarsSuppressed):
14591 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
14592 * platform/ScrollView.h:
14593 (WebCore::ScrollView::scrollbarsSuppressed):
14594 (WebCore::ScrollView::windowResizerRect):
14595 * platform/Scrollbar.cpp:
14596 (WebCore::Scrollbar::setFrameRect):
14597 (WebCore::Scrollbar::setParent):
14598 * platform/gtk/ScrollViewGtk.cpp:
14599 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14600 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
14601 (WebCore::ScrollView::updateScrollbars):
14602 (WebCore::ScrollView::paint):
14603 * platform/mac/ScrollViewMac.mm:
14604 (WebCore::ScrollView::ScrollView):
14605 (WebCore::ScrollView::~ScrollView):
14606 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
14607 (WebCore::ScrollView::setScrollPosition):
14608 * platform/qt/ScrollViewQt.cpp:
14609 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14610 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
14611 (WebCore::ScrollView::frameRectsChanged):
14612 (WebCore::ScrollView::updateScrollbars):
14613 (WebCore::ScrollView::paint):
14614 * platform/win/ScrollViewWin.cpp:
14615 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14616 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
14617 (WebCore::ScrollView::updateScrollbars):
14618 (WebCore::ScrollView::paint):
14619 * platform/wx/ScrollViewWx.cpp:
14620 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14621
zecke@webkit.org0034c712008-09-27 23:46:50 +0000146222008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14623
14624 Rubber-stamped by Anders Carlsson.
14625
14626 Compile fix.
14627
14628 * plugins/PluginView.cpp:
14629 (WebCore::PluginView::load):
14630
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +0000146312008-09-27 Mark Rowe <mrowe@apple.com>
14632
14633 Rubber-stamped by Sam Weinig.
14634
14635 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
14636 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
14637
14638 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
14639
14640 * loader/CachedResource.cpp:
14641 (WebCore::CachedResource::~CachedResource):
14642
zecke@webkit.org47132852008-09-27 22:45:21 +0000146432008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14644
14645 Reviewed by Simon Hausmann.
14646
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +000014647 [qt] Use QImageReader to figure out which image formats are supported
14648 - Qt can have many different plugins for different image formats. Instead
14649 of checking only for a few in WebCore use Qt to determine if this data
14650 can be treated as an image.
14651
14652 * platform/graphics/qt/ImageSourceQt.cpp:
14653 (WebCore::canHandleImage):
14654 (WebCore::createDecoder):
14655
146562008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
14657
14658
zecke@webkit.org47132852008-09-27 22:45:21 +000014659 [qt] Clean the pattern code
14660 - Use save/restore on the painter after manipulating the
14661 pen/brush
14662 - Make the context and object null checking consistent. CG is using
14663 the object unconditionally so the Qt webkit platform can do the
14664 same.
14665 - Move code below the early exit. Only use the m_ownerElement before
14666 the early exit as the CG code is doing it.
14667
14668 * svg/graphics/SVGPaintServerPattern.h:
14669 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
14670 (WebCore::SVGPaintServerPattern::setup):
14671 (WebCore::SVGPaintServerPattern::teardown):
14672
timothy@apple.com345f1af2008-09-27 22:18:35 +0000146732008-09-27 Keishi Hattori <casey.hattori@gmail.com>
14674
14675 Added support for console.trace.
14676
14677 https://bugs.webkit.org/show_bug.cgi?id=19157
14678
14679 Reviewed by Kevin McCullough and Tim Hatcher.
14680
14681 * bindings/js/JSConsoleCustom.cpp:
14682 (WebCore::JSConsole::trace):
14683 * page/Console.cpp:
14684 (WebCore::Console::trace): Calls Machine::retrieveCaller to
14685 get a stack trace.
14686 * page/Console.h:
14687 (WebCore::): Added TraceMessageLevel.
14688 * page/Console.idl: Added console.trace.
14689 * page/inspector/Console.js:
14690 (ConsoleMessage): Added case for TraceMessageLevel.
14691
andersca@apple.com6b8e0a22008-09-27 21:28:40 +0000146922008-09-27 Anders Carlsson <andersca@apple.com>
14693
14694 Reviewed by Sam Weinig.
14695
14696 https://bugs.webkit.org/show_bug.cgi?id=21178
14697 <rdar://problem/6248651>
14698
14699 Check if the plug-in is allowed to load the resource. This matches Firefox.
14700
14701 Test: http/tests/plugins/local-geturl-from-remote.html
14702
14703 * plugins/PluginView.cpp:
14704 (WebCore::PluginView::load):
14705
zecke@webkit.org91ee65a2008-09-27 21:06:35 +0000147062008-09-22 Dirk Schulze <vbs85@gmx.de>
14707
14708 Reviewed by Eric Seidel.
14709
14710 Added SVG pattern support to Qt.
14711
14712 [Qt] SVG patterns are missing
14713 https://bugs.webkit.org/show_bug.cgi?id=20973
14714
14715 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
14716 (WebCore::SVGPaintServerPattern::setup):
14717
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +0000147182008-09-27 Keishi Hattori <casey.hattori@gmail.com>
14719
14720 Fixed a bug in the JS syntax highlighter with multiple line tokens.
14721
14722 https://bugs.webkit.org/show_bug.cgi?id=21171
14723
14724 Reviewed by Tim Hatcher.
14725
14726 * page/inspector/SourceFrame.js:
14727 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
14728
timothy@apple.com5b4b3d02008-09-27 20:18:03 +0000147292008-09-27 Timothy Hatcher <timothy@apple.com>
14730
14731 Change searching in the Profiles panel to not match the
14732 Self and Total columns when there are no units. The only
14733 column that is matched for unitless number searches is
14734 now the Calls column.
14735
14736 https://bugs.webkit.org/show_bug.cgi?id=21169
14737
14738 Reviewed by Sam Weinig.
14739
14740 * page/inspector/ProfileView.js:
14741 (WebInspector.ProfileView.prototype.performSearch):
14742
hyatt@apple.com0fd13952008-09-27 19:56:56 +0000147432008-09-27 David Hyatt <hyatt@apple.com>
14744
14745 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
14746
14747 Reviewed by Sam Weinig
14748
14749 * platform/ScrollView.h:
14750 * platform/Widget.h:
14751 (WebCore::Widget::boundsRect):
14752 (WebCore::Widget::invalidate):
14753 (WebCore::Widget::frameRectsChanged):
14754 * platform/gtk/ScrollViewGtk.cpp:
14755 (WebCore::ScrollViewScrollbar::frameRectsChanged):
14756 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
14757 (WebCore::ScrollView::setFrameRect):
14758 (WebCore::ScrollView::updateScrollbars):
14759 (WebCore::ScrollView::frameRectsChanged):
14760 * platform/gtk/ScrollbarGtk.cpp:
14761 (ScrollbarGtk::setFrameRect):
14762 (ScrollbarGtk::frameRectsChanged):
14763 * platform/gtk/ScrollbarGtk.h:
14764 * platform/gtk/WidgetGtk.cpp:
14765 * platform/qt/ScrollViewQt.cpp:
14766 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
14767 (WebCore::ScrollView::setFrameRect):
14768 (WebCore::ScrollView::frameRectsChanged):
14769 (WebCore::ScrollView::updateScrollbars):
14770 * platform/win/ScrollViewWin.cpp:
14771 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
14772 (WebCore::ScrollView::setFrameRect):
14773 (WebCore::ScrollView::updateScrollbars):
14774 (WebCore::ScrollView::frameRectsChanged):
14775 * plugins/PluginView.cpp:
14776 (WebCore::PluginView::frameRectsChanged):
14777 * plugins/PluginView.h:
14778
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +0000147792008-09-27 Simon Hausmann <hausmann@webkit.org>
14780
hausmann@webkit.orge49722f2008-09-27 19:49:01 +000014781 Refix the previous build fix to compile on non-Qt platforms, too.
14782
14783 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
14784 WebCore to generate the PrototypeTable in the WebCore namespace
14785 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
14786 table remains in the Webcore namespace
14787 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
14788
147892008-09-27 Simon Hausmann <hausmann@webkit.org>
14790
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000014791 Fix compilation with gcc 4.3 (probably > 4.0)
14792
14793 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
14794 get/put functions inside the WebCore namespace.
14795 * bindings/js/JSEventTargetBase.cpp: Ditto.
14796 * bindings/js/JSEventTargetNode.cpp: Ditto.
14797 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
14798 * bindings/js/JSEventTargetBase.h: Forward declare
14799 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
14800 defines it in the JSC namespace.
14801 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
14802 prefix for PrototypeTable symbol.
14803
hyatt@apple.come7c12342008-09-27 07:43:38 +0000148042008-09-27 David Hyatt <hyatt@apple.com>
14805
hyatt@apple.com53634ac2008-09-27 08:01:26 +000014806 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
14807
14808 Reviewed by Dan Bernstein
14809
14810 * WebCore.base.exp:
14811 * page/FrameView.cpp:
14812 (WebCore::FrameView::FrameView):
14813 (WebCore::FrameView::updateControlTints):
14814 * platform/ScrollView.h:
14815 * platform/Scrollbar.cpp:
14816 (WebCore::Scrollbar::Scrollbar):
14817 (WebCore::Scrollbar::paint):
14818 (WebCore::Scrollbar::setFrameRect):
14819 * platform/Scrollbar.h:
14820 * platform/ScrollbarThemeComposite.cpp:
14821 (WebCore::ScrollbarThemeComposite::paint):
14822 * platform/Widget.h:
14823 (WebCore::Widget::x):
14824 (WebCore::Widget::y):
14825 (WebCore::Widget::width):
14826 (WebCore::Widget::height):
14827 (WebCore::Widget::size):
14828 (WebCore::Widget::pos):
14829 (WebCore::Widget::resize):
14830 (WebCore::Widget::move):
14831 * platform/gtk/ScrollViewGtk.cpp:
14832 (WebCore::ScrollViewScrollbar::geometryChanged):
14833 (WebCore::ScrollView::update):
14834 (WebCore::ScrollView::setFrameRect):
14835 (WebCore::ScrollView::updateScrollbars):
14836 (WebCore::ScrollView::scrollbarUnderMouse):
14837 (WebCore::ScrollView::paint):
14838 * platform/gtk/ScrollbarGtk.cpp:
14839 (ScrollbarGtk::setFrameRect):
14840 (ScrollbarGtk::geometryChanged):
14841 * platform/gtk/ScrollbarGtk.h:
14842 * platform/gtk/WidgetGtk.cpp:
14843 (WebCore::Widget::frameRect):
14844 (WebCore::Widget::setFrameRect):
14845 * platform/mac/ScrollbarThemeMac.mm:
14846 (WebCore::ScrollbarThemeMac::trackRect):
14847 (WebCore::ScrollbarThemeMac::paint):
14848 * platform/mac/WidgetMac.mm:
14849 (WebCore::Widget::frameRect):
14850 (WebCore::Widget::setFrameRect):
14851 * platform/qt/ScrollViewQt.cpp:
14852 (WebCore::ScrollView::setFrameRect):
14853 (WebCore::ScrollView::updateScrollbars):
14854 (WebCore::ScrollView::scrollbarUnderMouse):
14855 (WebCore::ScrollView::paint):
14856 * platform/qt/ScrollbarThemeQt.cpp:
14857 (WebCore::styleOptionSlider):
14858 * platform/qt/WidgetQt.cpp:
14859 (WebCore::Widget::frameRect):
14860 (WebCore::Widget::setFrameRect):
14861 * platform/win/PopupMenuWin.cpp:
14862 (WebCore::PopupMenu::invalidateItem):
14863 (WebCore::PopupMenu::valueChanged):
14864 (WebCore::PopupWndProc):
14865 * platform/win/ScrollViewWin.cpp:
14866 (WebCore::ScrollView::setFrameRect):
14867 (WebCore::ScrollView::updateScrollbars):
14868 (WebCore::ScrollView::scrollbarUnderMouse):
14869 (WebCore::ScrollView::paint):
14870 * platform/win/ScrollbarThemeSafari.cpp:
14871 (WebCore::ScrollbarThemeSafari::trackRect):
14872 * platform/win/WidgetWin.cpp:
14873 (WebCore::Widget::frameRect):
14874 (WebCore::Widget::setFrameRect):
14875 * platform/wx/WidgetWx.cpp:
14876 (WebCore::Widget::frameRect):
14877 (WebCore::Widget::setFrameRect):
14878 * plugins/PluginView.cpp:
14879 (WebCore::PluginView::setFrameRect):
14880 * plugins/PluginView.h:
14881 * plugins/gtk/PluginViewGtk.cpp:
14882 (WebCore::PluginView::updatePluginWidget):
14883 (WebCore::PluginView::paint):
14884 (WebCore::PluginView::init):
14885 * plugins/qt/PluginViewQt.cpp:
14886 (WebCore::PluginView::updatePluginWidget):
14887 (WebCore::PluginView::init):
14888 * plugins/win/PluginViewWin.cpp:
14889 (WebCore::PluginView::updatePluginWidget):
14890 (WebCore::PluginView::paintMissingPluginIcon):
14891 (WebCore::PluginView::paint):
14892 (WebCore::PluginView::init):
14893 * rendering/RenderLayer.cpp:
14894 (WebCore::RenderLayer::positionOverflowControls):
14895 * rendering/RenderListBox.cpp:
14896 (WebCore::RenderListBox::paintScrollbar):
14897 * rendering/RenderPart.cpp:
14898 (WebCore::RenderPart::updateWidgetPosition):
14899 * rendering/RenderWidget.cpp:
14900 (WebCore::RenderWidget::setWidgetGeometry):
14901 (WebCore::RenderWidget::updateWidgetPosition):
14902
149032008-09-27 David Hyatt <hyatt@apple.com>
14904
hyatt@apple.come7c12342008-09-27 07:43:38 +000014905 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
14906
14907 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
14908 access an actual member variable.
14909
14910 Reviewed by Dan Bernstein
14911
14912 * page/FocusController.cpp:
14913 (WebCore::FocusController::setFocusedFrame):
14914
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +0000149152008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
14916
14917 Attempt to fix QT Build. Not reviewed.
14918
14919 * WebCore.pro: add -n WebCore parameter to create_hash_table
14920
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +0000149212008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
14922
14923 Reviewed by Eric Seidel.
14924
14925 http://bugs.webkit.org/show_bug.cgi?id=18905
14926 [GTK] Fix build with older pango (1.14.8)
14927
14928 * platform/graphics/gtk/FontGtk.cpp:
14929 * platform/gtk/Language.cpp:
14930 (_pango_get_lc_ctype):
14931 (pango_language_get_default):
14932
hyatt@apple.com0315e532008-09-27 06:23:58 +0000149332008-09-26 David Hyatt <hyatt@apple.com>
14934
14935 https://bugs.webkit.org/show_bug.cgi?id=21168
14936
14937 Make contentsToWindow/windowToContents cross-platform.
14938
14939 Reviewed by Oliver Hunt
14940
14941 * platform/ScrollView.cpp:
14942 (WebCore::ScrollView::windowToContents):
14943 (WebCore::ScrollView::contentsToWindow):
14944 * platform/ScrollView.h:
14945 * platform/gtk/ScrollViewGtk.cpp:
14946 * platform/mac/ScrollViewMac.mm:
14947 * platform/qt/ScrollViewQt.cpp:
14948 * platform/win/ScrollViewWin.cpp:
14949 * platform/wx/ScrollViewWx.cpp:
14950
weinig@apple.com0e6acf62008-09-27 06:15:45 +0000149512008-09-26 Sam Weinig <sam@webkit.org>
14952
14953 GTK build fix.
14954
14955 * GNUmakefile.am:
14956
hyatt@apple.comb37db692008-09-27 04:43:00 +0000149572008-09-26 David Hyatt <hyatt@apple.com>
14958
hyatt@apple.com8d329412008-09-27 05:26:38 +000014959 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
14960 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
14961 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
14962
14963 Reviewed by Oliver Hunt
14964
14965 * page/FrameView.cpp:
14966 (WebCore::FrameView::repaintContentRectangle):
14967 * page/FrameView.h:
14968 * platform/ScrollView.h:
14969 * platform/gtk/ScrollViewGtk.cpp:
14970 (WebCore::ScrollView::isOffscreen):
14971 * platform/mac/ScrollViewMac.mm:
14972 (WebCore::ScrollView::updateContents):
14973 (WebCore::ScrollView::isOffscreen):
14974 * platform/qt/ScrollViewQt.cpp:
14975 (WebCore::ScrollView::isOffscreen):
14976 * platform/win/ScrollViewWin.cpp:
14977 (WebCore::ScrollView::isOffscreen):
14978 * platform/wx/ScrollViewWx.cpp:
14979 (WebCore::ScrollView::isOffscreen):
14980 * rendering/RenderObject.cpp:
14981 (WebCore::RenderObject::willRenderImage):
14982
149832008-09-26 David Hyatt <hyatt@apple.com>
14984
hyatt@apple.comb37db692008-09-27 04:43:00 +000014985 https://bugs.webkit.org/show_bug.cgi?id=21164
14986
14987 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
14988
14989 Reviewed by Sam Weinig
14990
14991 * WebCore.base.exp:
14992 * page/FrameView.cpp:
14993 (WebCore::FrameView::setAllowsScrolling):
14994 * page/FrameView.h:
14995 * platform/ScrollView.cpp:
14996 (WebCore::ScrollView::setAllowsScrolling):
14997 * platform/ScrollView.h:
14998 (WebCore::ScrollView::allowsScrolling):
14999 * platform/win/ScrollViewWin.cpp:
15000 (WebCore::ScrollView::wheelEvent):
15001
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +0000150022008-09-26 Kevin Ollivier <kevino@theolliviers.com>
15003
15004 wx build fixes after Widget/ScrollView changes.
15005
15006 * platform/wx/PopupMenuWx.cpp:
15007 (WebCore::PopupMenu::show):
15008 * platform/wx/ScrollViewWx.cpp:
15009 (WebCore::ScrollView::platformSetContentsSize):
15010 (WebCore::ScrollView::platformSetScrollbarModes):
15011 (WebCore::ScrollView::wheelEvent):
15012 * platform/wx/TemporaryLinkStubs.cpp:
15013 * platform/wx/WidgetWx.cpp:
15014 (WebCore::Widget::containingWindow):
15015
timothy@apple.com9b486082008-09-27 02:44:05 +0000150162008-09-26 Timothy Hatcher <timothy@apple.com>
15017
15018 Allow searching for paths by always performing the
15019 three search methods in the Elements panel and not
15020 assume a search with a "/" is a XPath query.
15021
15022 https://bugs.webkit.org/show_bug.cgi?id=21159
15023
15024 Reviewed by Geoff Garen.
15025
15026 * page/inspector/ElementsPanel.js:
15027 (WebInspector.ElementsPanel.prototype.performSearch):
15028
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +0000150292008-09-26 Sam Weinig <sam@webkit.org>
15030
15031 Reviewed by Darin Adler.
15032
15033 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
15034 Speedup static property get/put
15035
15036 * DerivedSources.make:
15037 * GNUmakefile.am:
15038 * WebCore.pro:
15039 * WebCore.vcproj/WebCore.vcproj:
15040 * WebCore.xcodeproj/project.pbxproj:
15041 * bindings/js/JSDOMBinding.cpp:
15042 * bindings/js/JSDOMBinding.h:
15043 * bindings/js/JSDOMWindowBase.cpp:
15044 (WebCore::getDOMConstructor):
15045 (WebCore::jsDOMWindowBaseCrypto):
15046 (WebCore::jsDOMWindowBaseEvent):
15047 (WebCore::jsDOMWindowBaseImage):
15048 (WebCore::jsDOMWindowBaseMessageChannel):
15049 (WebCore::jsDOMWindowBaseOption):
15050 (WebCore::jsDOMWindowBaseXMLHttpRequest):
15051 (WebCore::jsDOMWindowBaseAudio):
15052 (WebCore::jsDOMWindowBaseXSLTProcessor):
15053 (WebCore::jsDOMWindowBaseOnabort):
15054 (WebCore::jsDOMWindowBaseOnblur):
15055 (WebCore::jsDOMWindowBaseOnchange):
15056 (WebCore::jsDOMWindowBaseOnclick):
15057 (WebCore::jsDOMWindowBaseOndblclick):
15058 (WebCore::jsDOMWindowBaseOnerror):
15059 (WebCore::jsDOMWindowBaseOnfocus):
15060 (WebCore::jsDOMWindowBaseOnkeydown):
15061 (WebCore::jsDOMWindowBaseOnkeypress):
15062 (WebCore::jsDOMWindowBaseOnkeyup):
15063 (WebCore::jsDOMWindowBaseOnload):
15064 (WebCore::jsDOMWindowBaseOnmousedown):
15065 (WebCore::jsDOMWindowBaseOnmousemove):
15066 (WebCore::jsDOMWindowBaseOnmouseout):
15067 (WebCore::jsDOMWindowBaseOnmouseover):
15068 (WebCore::jsDOMWindowBaseOnmouseup):
15069 (WebCore::jsDOMWindowBaseOnMouseWheel):
15070 (WebCore::jsDOMWindowBaseOnreset):
15071 (WebCore::jsDOMWindowBaseOnresize):
15072 (WebCore::jsDOMWindowBaseOnscroll):
15073 (WebCore::jsDOMWindowBaseOnsearch):
15074 (WebCore::jsDOMWindowBaseOnselect):
15075 (WebCore::jsDOMWindowBaseOnsubmit):
15076 (WebCore::jsDOMWindowBaseOnbeforeunload):
15077 (WebCore::jsDOMWindowBaseOnunload):
15078 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
15079 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
15080 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
15081 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
15082 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
15083 (WebCore::JSDOMWindowBase::put):
15084 (WebCore::setJSDOMWindowBaseOnabort):
15085 (WebCore::setJSDOMWindowBaseOnblur):
15086 (WebCore::setJSDOMWindowBaseOnchange):
15087 (WebCore::setJSDOMWindowBaseOnclick):
15088 (WebCore::setJSDOMWindowBaseOndblclick):
15089 (WebCore::setJSDOMWindowBaseOnerror):
15090 (WebCore::setJSDOMWindowBaseOnfocus):
15091 (WebCore::setJSDOMWindowBaseOnkeydown):
15092 (WebCore::setJSDOMWindowBaseOnkeypress):
15093 (WebCore::setJSDOMWindowBaseOnkeyup):
15094 (WebCore::setJSDOMWindowBaseOnload):
15095 (WebCore::setJSDOMWindowBaseOnmousedown):
15096 (WebCore::setJSDOMWindowBaseOnmousemove):
15097 (WebCore::setJSDOMWindowBaseOnmouseout):
15098 (WebCore::setJSDOMWindowBaseOnmouseover):
15099 (WebCore::setJSDOMWindowBaseOnmouseup):
15100 (WebCore::setJSDOMWindowBaseOnMouseWheel):
15101 (WebCore::setJSDOMWindowBaseOnreset):
15102 (WebCore::setJSDOMWindowBaseOnresize):
15103 (WebCore::setJSDOMWindowBaseOnscroll):
15104 (WebCore::setJSDOMWindowBaseOnsearch):
15105 (WebCore::setJSDOMWindowBaseOnselect):
15106 (WebCore::setJSDOMWindowBaseOnsubmit):
15107 (WebCore::setJSDOMWindowBaseOnbeforeunload):
15108 (WebCore::setJSDOMWindowBaseOnunload):
15109 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
15110 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
15111 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
15112 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
15113 (WebCore::setJSDOMWindowBaseEvent):
15114 (WebCore::setJSDOMWindowBaseAudio):
15115 (WebCore::setJSDOMWindowBaseImage):
15116 (WebCore::setJSDOMWindowBaseMessageChannel):
15117 (WebCore::setJSDOMWindowBaseOption):
15118 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
15119 (WebCore::setJSDOMWindowBaseXSLTProcessor):
15120 * bindings/js/JSDOMWindowBase.h:
15121 * bindings/js/JSDOMWindowCustom.cpp:
15122 (WebCore::nonCachingStaticCloseFunctionGetter):
15123 (WebCore::nonCachingStaticBlurFunctionGetter):
15124 (WebCore::nonCachingStaticFocusFunctionGetter):
15125 (WebCore::nonCachingStaticPostMessageFunctionGetter):
15126 * bindings/js/JSDOMWindowCustom.h:
15127 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
15128 * bindings/js/JSEventTargetBase.cpp:
15129 * bindings/js/JSEventTargetBase.h:
15130 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
15131 (WebCore::JSEventTargetBasePrototype::classInfo):
15132 * bindings/js/JSEventTargetNode.cpp:
15133 (WebCore::):
15134 (WebCore::JSEventTargetNode::getOwnPropertySlot):
15135 (WebCore::JSEventTargetNode::put):
15136 * bindings/js/JSEventTargetNode.h:
15137 (WebCore::JSEventTargetNode::classInfo):
15138 (WebCore::JSEventTargetNode::prototypeClassName):
15139 * bindings/js/JSEventTargetSVGElementInstance.cpp:
15140 (WebCore::):
15141 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
15142 (WebCore::JSEventTargetSVGElementInstance::put):
15143 * bindings/js/JSEventTargetSVGElementInstance.h:
15144 (WebCore::JSEventTargetSVGElementInstance::classInfo):
15145 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
15146 * bindings/js/JSHTMLInputElementCustom.cpp:
15147 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
15148 * bindings/js/JSHistoryCustom.cpp:
15149 (WebCore::nonCachingStaticBackFunctionGetter):
15150 (WebCore::nonCachingStaticForwardFunctionGetter):
15151 (WebCore::nonCachingStaticGoFunctionGetter):
15152 (WebCore::JSHistory::customGetOwnPropertySlot):
15153 * bindings/js/JSLocationCustom.cpp:
15154 (WebCore::nonCachingStaticReplaceFunctionGetter):
15155 (WebCore::nonCachingStaticReloadFunctionGetter):
15156 (WebCore::nonCachingStaticAssignFunctionGetter):
15157 (WebCore::JSLocation::customGetOwnPropertySlot):
15158 (WebCore::JSLocation::customPut):
15159 * bindings/scripts/CodeGeneratorJS.pm:
15160
hyatt@apple.com01adde82008-09-26 20:49:34 +0000151612008-09-26 David Hyatt <hyatt@apple.com>
15162
15163 https://bugs.webkit.org/show_bug.cgi?id=21149
15164
15165 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
15166 Eliminate the unused isScrollable() method.
15167
15168 Reviewed by Sam Weinig
15169
15170 * WebCore.base.exp:
15171 * page/FrameView.cpp:
15172 (WebCore::FrameView::resetScrollbars):
15173 (WebCore::FrameView::initScrollbars):
15174 (WebCore::FrameView::layout):
15175 * page/FrameView.h:
15176 * page/mac/WebCoreFrameView.h:
15177 * platform/ScrollView.cpp:
15178 (WebCore::ScrollView::init):
15179 (WebCore::ScrollView::setScrollbarModes):
15180 (WebCore::ScrollView::scrollbarModes):
15181 (WebCore::ScrollView::platformSetScrollbarModes):
15182 (WebCore::ScrollView::platformScrollbarModes):
15183 * platform/ScrollView.h:
15184 (WebCore::ScrollView::horizontalScrollbar):
15185 (WebCore::ScrollView::verticalScrollbar):
15186 (WebCore::ScrollView::isScrollViewScrollbar):
15187 (WebCore::ScrollView::setHorizontalScrollbarMode):
15188 (WebCore::ScrollView::setVerticalScrollbarMode):
15189 (WebCore::ScrollView::horizontalScrollbarMode):
15190 (WebCore::ScrollView::verticalScrollbarMode):
15191 (WebCore::ScrollView::convertSelfToChild):
15192 * platform/gtk/ScrollViewGtk.cpp:
15193 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15194 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
15195 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
15196 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15197 (WebCore::ScrollView::updateScrollbars):
15198 (WebCore::ScrollView::scrollbarUnderMouse):
15199 (WebCore::ScrollView::isScrollViewScrollbar):
15200 (WebCore::ScrollView::paint):
15201 (WebCore::ScrollView::scroll):
15202 * platform/mac/ScrollViewMac.mm:
15203 (WebCore::ScrollView::platformSetScrollbarModes):
15204 (WebCore::ScrollView::platformScrollbarModes):
15205 * platform/qt/ScrollViewQt.cpp:
15206 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
15207 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
15208 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15209 (WebCore::ScrollView::horizontalScrollbar):
15210 (WebCore::ScrollView::verticalScrollbar):
15211 (WebCore::ScrollView::invalidateScrollbars):
15212 (WebCore::ScrollView::updateScrollbars):
15213 (WebCore::ScrollView::scrollbarUnderMouse):
15214 (WebCore::ScrollView::paint):
15215 (WebCore::ScrollView::scroll):
15216 * platform/win/ScrollViewWin.cpp:
15217 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15218 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
15219 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
15220 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15221 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
15222 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
15223 (WebCore::ScrollView::suppressScrollbars):
15224 (WebCore::ScrollView::updateScrollbars):
15225 (WebCore::ScrollView::scrollbarUnderMouse):
15226 (WebCore::ScrollView::paint):
15227 (WebCore::ScrollView::scroll):
15228 * platform/wx/ScrollViewWx.cpp:
15229 (WebCore::ScrollView::platformSetScrollbarModes):
15230 (WebCore::ScrollView::platformScrollbarModes):
15231
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +0000152322008-09-26 David Kilzer <ddkilzer@apple.com>
15233
15234 Fix Mac build with XPATH and XSLT disabled
15235
15236 Reviewed by Alexey.
15237
15238 * bindings/objc/DOMUtility.mm:
15239 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
15240 * dom/XMLTokenizerLibxml2.cpp:
15241 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
15242 prevent an unused code warning.
15243
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +0000152442008-09-26 Kevin McCullough <kmccullough@apple.com>
15245
15246 Rubber stamped by Tim Hatcher.
15247
15248 Bug 21098: Crashing under Console::log
15249 - Speculative ASSERT to help find the problem.
15250
15251 * page/InspectorController.cpp:
15252 (WebCore::ConsoleMessage::isEqual):
15253
zecke@webkit.org00c54bb2008-09-26 17:56:08 +0000152542008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
15255
15256 [gtk+] Build fix for the latest ScrollView changes
15257
15258 * platform/gtk/ScrollViewGtk.cpp:
15259 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
15260 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15261
timothy@apple.comf49116e2008-09-26 17:27:52 +0000152622008-09-26 Timothy Hatcher <timothy@apple.com>
15263
15264 Fixes a bug where the console message repeat count would be wrong
15265 when typing commands in between repeated messages.
15266
15267 https://bugs.webkit.org/show_bug.cgi?id=21145
15268
15269 Reviewed by Kevin McCullough.
15270
15271 * page/InspectorController.cpp:
15272 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
15273 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
15274 * page/inspector/Console.js:
15275 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
15276 for each message as totalRepeatCount, since we now modify repeatCount to mean
15277 repeats since previous console command. If repeatCountBeforeCommand is a number,
15278 subtract that value from the repeatCount.
15279 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
15280 and commandSincePreviousMessage properties.
15281
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +0000152822008-09-26 Eric Carlson <eric.carlson@apple.com>
15283
15284 Reviewed by Antti
15285
15286 https://bugs.webkit.org/show_bug.cgi?id=21116
15287 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
15288 back to page with <video>, then closing tab
15289
15290 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
15291 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
15292 deletion.
15293
15294 * dom/Document.cpp:
15295 (WebCore::Document::documentWillBecomeInactive):
15296 (WebCore::Document::documentDidBecomeActive):
15297 (WebCore::Document::registerForDocumentActivationCallbacks):
15298 (WebCore::Document::unregisterForDocumentActivationCallbacks):
15299 * dom/Document.h:
15300 * dom/Element.h:
15301 (WebCore::Element::documentWillBecomeInactive):
15302 (WebCore::Element::documentDidBecomeActive):
15303 * history/CachedPage.cpp:
15304 (WebCore::CachedPage::CachedPage):
15305 * html/HTMLFormElement.cpp:
15306 (WebCore::HTMLFormElement::~HTMLFormElement):
15307 (WebCore::HTMLFormElement::parseMappedAttribute):
15308 (WebCore::HTMLFormElement::documentDidBecomeActive):
15309 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
15310 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
15311 * html/HTMLFormElement.h:
15312 * html/HTMLInputElement.cpp:
15313 (WebCore::HTMLInputElement::~HTMLInputElement):
15314 (WebCore::HTMLInputElement::setInputType):
15315 (WebCore::HTMLInputElement::parseMappedAttribute):
15316 (WebCore::HTMLInputElement::needsActivationCallback):
15317 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
15318 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
15319 (WebCore::HTMLInputElement::documentDidBecomeActive):
15320 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
15321 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
15322 * html/HTMLInputElement.h:
15323 * html/HTMLMediaElement.cpp:
15324 (WebCore::HTMLMediaElement::HTMLMediaElement):
15325 (WebCore::HTMLMediaElement::~HTMLMediaElement):
15326 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
15327 (WebCore::HTMLMediaElement::documentDidBecomeActive):
15328 * html/HTMLMediaElement.h:
15329 (WebCore::HTMLMediaElement::inActiveDocument):
15330 * loader/FrameLoader.cpp:
15331 (WebCore::FrameLoader::opened):
15332 * page/Page.cpp:
15333 (WebCore::Page::~Page):
15334 * rendering/RenderMedia.cpp:
15335 (WebCore::RenderMedia::updateControls):
15336 * rendering/RenderVideo.cpp:
15337 (WebCore::RenderVideo::updatePlayer):
15338 * svg/SVGSVGElement.cpp:
15339 (WebCore::SVGSVGElement::SVGSVGElement):
15340 (WebCore::SVGSVGElement::~SVGSVGElement):
15341 (WebCore::SVGSVGElement::documentWillBecomeInactive):
15342 (WebCore::SVGSVGElement::documentDidBecomeActive):
15343 * svg/SVGSVGElement.h:
15344
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +0000153452008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
15346
15347 Reviewed by Simon
15348
15349 Fix the build inside Qt, don't create faulty prl files for now.
15350
15351 * WebCore.pro:
15352
hausmann@webkit.org809f4242008-09-26 13:17:31 +0000153532008-09-26 Simon Hausmann <hausmann@webkit.org>
15354
15355 Fix compilation on Qt/Windows
15356
15357 * Add WebCore/ to the include path so that config.h is found that enables JSC
15358 * Link against winmm for the multimedia timer functions
15359 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
15360 subdirectory
15361 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
15362 but set m_window directly as setPlatformWidget takes a QWidget*.
15363
15364 * WebCore.pro:
15365 * platform/win/SystemTimeWin.cpp:
15366 * plugins/win/PluginViewWin.cpp:
15367 (WebCore::PluginView::init):
15368
oliver@apple.com38feb8e2008-09-26 11:53:40 +0000153692008-09-26 Oliver Hunt <oliver@apple.com>
15370
15371 Reviewed by Maciej Stachowiak.
15372
15373 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
15374 <https://bugs.webkit.org/show_bug.cgi?id=21054>
15375
15376 This performance regression is actually just a symptom of a correctness
15377 bug. The constructor objects for a number of properties that have security
15378 checks on access were returning new objects each time. The most obvious
15379 symptom of this bug is that window.Image != window.Image, etc.
15380
15381 The solution to this is to make sure we cache these constructors
15382 in the same way as all the other DOM constructors. To achieve this
15383 without causing any refcount cycles it is necessary to replace the
15384 refcounted document pointer in the Image, MessageChannel, Option,
15385 XMLHttpRequest, and Audio constructor objects with a reference to
15386 the document's JS wrapper.
15387
15388 Tests: fast/dom/constructors-cached-navigate.html
15389 fast/dom/constructors-cached.html
15390
15391 * WebCore.xcodeproj/project.pbxproj:
15392 * bindings/js/JSAudioConstructor.cpp:
15393 (WebCore::JSAudioConstructor::mark):
15394 * bindings/js/JSAudioConstructor.h:
15395 (WebCore::JSAudioConstructor::document):
15396 * bindings/js/JSDOMWindowBase.cpp:
15397 (WebCore::getDOMConstructor):
15398 (WebCore::JSDOMWindowBase::getValueProperty):
15399 * bindings/js/JSDOMWindowBase.h:
15400 * bindings/js/JSHTMLOptionElementConstructor.cpp:
15401 (WebCore::JSHTMLOptionElementConstructor::mark):
15402 * bindings/js/JSHTMLOptionElementConstructor.h:
15403 (WebCore::JSHTMLOptionElementConstructor::document):
15404 * bindings/js/JSImageConstructor.cpp:
15405 (WebCore::JSImageConstructor::mark):
15406 * bindings/js/JSImageConstructor.h:
15407 (WebCore::JSImageConstructor::document):
15408 * bindings/js/JSXMLHttpRequestConstructor.cpp:
15409 (WebCore::JSXMLHttpRequestConstructor::mark):
15410 * bindings/js/JSXMLHttpRequestConstructor.h:
15411 (WebCore::JSXMLHttpRequestConstructor::document):
15412
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +0000154132008-09-26 Simon Hausmann <hausmann@webkit.org>
15414
15415 Unreviewed one-liner build fix for the Qt/Windows build.
15416
15417 The build requires NPAPI support to be enabled, fix the condition in
15418 the .pro file for that.
15419
15420 * WebCore.pro:
15421
hausmann@webkit.org1ba35342008-09-26 10:51:33 +0000154222008-09-26 Trenton Schulz <twschulz@trolltech.com>
15423
15424 Reviewed by Simon.
15425
15426 Fix compilation with the Qt/Cocoa port.
15427
15428 * platform/qt/ScrollViewQt.cpp:
15429 (WebCore::ScrollView::updateScrollbars):
15430
hausmann@webkit.orge359dd12008-09-26 09:37:09 +0000154312008-09-26 Simon Hausmann <hausmann@webkit.org>
15432
15433 Reviewed by Holger.
15434
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +000015435 Fix compilation with VC9SP1, work around bug in TR1 library by
15436 disabling it.
15437
15438 * WebCore.pro:
15439
154402008-09-26 Simon Hausmann <hausmann@webkit.org>
15441
15442 Reviewed by Holger.
15443
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000015444 Fix an lupdate() warning.
15445
15446 Don't use tr() in a class that is not a QObject, use
15447 QCoreApplication::translate() directly.
15448
15449 * platform/qt/ScrollbarQt.cpp:
15450 (WebCore::Scrollbar::handleContextMenuEvent):
15451
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +0000154522008-09-25 David Hyatt <hyatt@apple.com>
15453
hyatt@apple.com4c833152008-09-26 06:21:22 +000015454 Remove the scrollTo() method from FrameView, since it is not used by anyone.
15455
15456 Reviewed by Oliver Hunt
15457
15458 * page/FrameView.cpp:
15459 * page/FrameView.h:
15460
154612008-09-25 David Hyatt <hyatt@apple.com>
15462
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +000015463 Make scrollRectIntoViewRecursively cross-platform.
15464
15465 Reviewed by Oliver Hunt
15466
15467 * platform/ScrollView.cpp:
15468 (WebCore::ScrollView::scrollRectIntoViewRecursively):
15469 * platform/gtk/ScrollViewGtk.cpp:
15470 * platform/mac/ScrollViewMac.mm:
15471 * platform/qt/ScrollViewQt.cpp:
15472 * platform/win/ScrollViewWin.cpp:
15473 * platform/wx/ScrollViewWx.cpp:
15474
154752008-09-25 David Hyatt <hyatt@apple.com>
15476
hyatt@apple.com25cd25e2008-09-26 06:07:14 +000015477 https://bugs.webkit.org/show_bug.cgi?id=21133
15478
15479 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
15480 cross-platform.
15481
15482 Reviewed by Oliver Hunt
15483
15484 * loader/FrameLoader.cpp:
15485 (WebCore::FrameLoader::begin):
15486 * page/FrameView.cpp:
15487 (WebCore::FrameView::adjustViewSize):
15488 * platform/ScrollView.cpp:
15489 (WebCore::ScrollView::setContentsSize):
15490 * platform/ScrollView.h:
15491 (WebCore::ScrollView::updateScrollbars):
15492 * platform/gtk/ScrollViewGtk.cpp:
15493 * platform/mac/ScrollViewMac.mm:
15494 (WebCore::ScrollView::platformSetContentsSize):
15495 * platform/qt/ScrollViewQt.cpp:
15496 * platform/win/ScrollViewWin.cpp:
15497 * platform/wx/ScrollViewWx.cpp:
15498 (WebCore::ScrollView::platformSetContentsSize):
15499
155002008-09-25 David Hyatt <hyatt@apple.com>
15501
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000015502 https://bugs.webkit.org/show_bug.cgi?id=21132
15503
15504 Clean up the methods that actually do the scrolling in ScrollView.
15505
15506 Reviewed by Oliver Hunt
15507
15508 * html/HTMLBodyElement.cpp:
15509 (WebCore::HTMLBodyElement::setScrollLeft):
15510 (WebCore::HTMLBodyElement::setScrollTop):
15511 * loader/FrameLoader.cpp:
15512 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
15513 * loader/ImageDocument.cpp:
15514 (WebCore::ImageDocument::imageClicked):
15515 * page/DOMWindow.cpp:
15516 (WebCore::DOMWindow::scrollBy):
15517 (WebCore::DOMWindow::scrollTo):
15518 * page/FrameView.cpp:
15519 (WebCore::FrameView::scrollTo):
15520 (WebCore::FrameView::setScrollPosition):
15521 * page/FrameView.h:
15522 * platform/ScrollView.cpp:
15523 (WebCore::ScrollView::maximumScrollPosition):
15524 * platform/ScrollView.h:
15525 (WebCore::ScrollView::contentsWidth):
15526 (WebCore::ScrollView::contentsHeight):
15527 (WebCore::ScrollView::scrollBy):
15528 * platform/gtk/ScrollViewGtk.cpp:
15529 (WebCore::ScrollView::setScrollPosition):
15530 * platform/mac/ScrollViewMac.mm:
15531 (WebCore::ScrollView::setScrollPosition):
15532 * platform/qt/ScrollViewQt.cpp:
15533 (WebCore::ScrollView::setScrollPosition):
15534 (WebCore::ScrollView::scrollRectIntoViewRecursively):
15535 * platform/win/ScrollViewWin.cpp:
15536 (WebCore::ScrollView::setScrollPosition):
15537 (WebCore::ScrollView::scrollRectIntoViewRecursively):
15538 * platform/wx/ScrollViewWx.cpp:
15539 (WebCore::ScrollView::setScrollPosition):
15540 * rendering/RenderLayer.cpp:
15541 (WebCore::RenderLayer::scrollByRecursively):
15542 (WebCore::RenderLayer::scrollRectToVisible):
15543
mitz@apple.com5c920f12008-09-26 05:25:41 +0000155442008-09-25 Dan Bernstein <mitz@apple.com>
15545
15546 - attempted Windows build fix
15547
15548 * platform/win/ScrollViewWin.cpp:
15549 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15550 (WebCore::ScrollView::setContentsPos):
15551 (WebCore::ScrollView::paint):
15552
timothy@apple.comd884aae2008-09-26 04:35:48 +0000155532008-09-25 Timothy Hatcher <timothy@apple.com>
15554
15555 Revert the padding changes done in r36905 to prevent the
15556 scrollbar from overlapping the URLs in the Console.
15557
15558 https://bugs.webkit.org/show_bug.cgi?id=21126
15559
15560 * page/inspector/inspector.css:
15561
hyatt@apple.comc01fb232008-09-26 04:28:25 +0000155622008-09-25 David Hyatt <hyatt@apple.com>
15563
15564 https://bugs.webkit.org/show_bug.cgi?id=21129
15565
15566 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
15567 of platform-specific methods required of ScrollView implementations.
15568
15569 Reviewed by Tim Hatcher
15570
15571 * dom/MouseRelatedEvent.cpp:
15572 (WebCore::contentsX):
15573 (WebCore::contentsY):
15574 * html/HTMLBodyElement.cpp:
15575 (WebCore::HTMLBodyElement::scrollLeft):
15576 (WebCore::HTMLBodyElement::setScrollLeft):
15577 (WebCore::HTMLBodyElement::scrollTop):
15578 (WebCore::HTMLBodyElement::setScrollTop):
15579 * loader/FrameLoader.cpp:
15580 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
15581 * page/DOMWindow.cpp:
15582 (WebCore::DOMWindow::scrollX):
15583 (WebCore::DOMWindow::scrollY):
15584 * page/EventHandler.cpp:
15585 (WebCore::EventHandler::hitTestResultAtPoint):
15586 * page/FrameView.cpp:
15587 (WebCore::FrameView::scrollTo):
15588 (WebCore::FrameView::windowClipRect):
15589 * platform/ScrollView.cpp:
15590 (WebCore::ScrollView::visibleContentRect):
15591 (WebCore::ScrollView::contentsSize):
15592 (WebCore::ScrollView::platformContentsSize):
15593 * platform/ScrollView.h:
15594 (WebCore::ScrollView::scrollPosition):
15595 (WebCore::ScrollView::scrollOffset):
15596 (WebCore::ScrollView::scrollX):
15597 (WebCore::ScrollView::scrollY):
15598 (WebCore::ScrollView::contentsWidth):
15599 (WebCore::ScrollView::contentsHeight):
15600 * platform/gtk/ScrollViewGtk.cpp:
15601 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
15602 (WebCore::ScrollView::setGtkAdjustments):
15603 (WebCore::ScrollView::resizeContents):
15604 (WebCore::ScrollView::contentsWidth):
15605 (WebCore::ScrollView::contentsHeight):
15606 (WebCore::ScrollView::scrollOffset):
15607 (WebCore::ScrollView::maximumScroll):
15608 (WebCore::ScrollView::scrollBy):
15609 (WebCore::ScrollView::suppressScrollbars):
15610 (WebCore::ScrollView::setHScrollbarMode):
15611 (WebCore::ScrollView::setVScrollbarMode):
15612 (WebCore::ScrollView::setScrollbarsMode):
15613 (WebCore::ScrollView::setFrameGeometry):
15614 (WebCore::ScrollView::updateScrollbars):
15615 * platform/mac/ScrollViewMac.mm:
15616 (WebCore::ScrollView::platformContentsSize):
15617 (WebCore::ScrollView::scrollBy):
15618 * platform/mac/WidgetMac.mm:
15619 (WebCore::Widget::convertFromContainingWindow):
15620 (WebCore::Widget::convertToContainingWindow):
15621 * platform/qt/ScrollViewQt.cpp:
15622 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15623 (WebCore::ScrollView::resizeContents):
15624 (WebCore::ScrollView::setFrameGeometry):
15625 (WebCore::ScrollView::scrollOffset):
15626 (WebCore::ScrollView::maximumScroll):
15627 (WebCore::ScrollView::scrollBy):
15628 (WebCore::ScrollView::setHScrollbarMode):
15629 (WebCore::ScrollView::setVScrollbarMode):
15630 (WebCore::ScrollView::setScrollbarsMode):
15631 (WebCore::ScrollView::updateScrollbars):
15632 * platform/win/ScrollViewWin.cpp:
15633 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
15634 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
15635 (WebCore::ScrollView::resizeContents):
15636 (WebCore::ScrollView::setFrameGeometry):
15637 (WebCore::ScrollView::scrollOffset):
15638 (WebCore::ScrollView::maximumScroll):
15639 (WebCore::ScrollView::scrollBy):
15640 (WebCore::ScrollView::setHScrollbarMode):
15641 (WebCore::ScrollView::setVScrollbarMode):
15642 (WebCore::ScrollView::setScrollbarsMode):
15643 (WebCore::ScrollView::updateScrollbars):
15644 * platform/wx/ScrollViewWx.cpp:
15645 (WebCore::ScrollView::platformVisibleContentRect):
15646 (WebCore::ScrollView::platformContentsSize):
15647 * rendering/RenderBlock.cpp:
15648 (WebCore::RenderBlock::nodeAtPoint):
15649 * rendering/RenderLayer.cpp:
15650 (WebCore::RenderLayer::scrollRectToVisible):
15651 (WebCore::RenderLayer::calculateClipRects):
15652 (WebCore::RenderLayer::calculateRects):
15653 * rendering/RenderView.cpp:
15654 (WebCore::RenderView::absolutePosition):
15655 (WebCore::RenderView::computeAbsoluteRepaintRect):
15656
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +0000156572008-09-25 David Smith <catfish.man@gmail.com>
15658
dsmith@webkit.org0fedb622008-09-26 04:05:57 +000015659 Reviewed by Dave Hyatt.
15660
15661 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
15662
15663 * dom/Element.cpp:
15664 (WebCore::Element::rareData):
15665 * dom/Element.h:
15666 * dom/Node.cpp:
15667 (WebCore::Node::rareData):
15668 * dom/Node.h:
15669
156702008-09-25 David Smith <catfish.man@gmail.com>
15671
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000015672 Reviewed by Darin Adler.
15673
15674 https://bugs.webkit.org/show_bug.cgi?id=20980
15675 Split off uncommonly used data from Node similar to ElementRareData
15676
15677 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
15678 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
15679 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
15680
15681 * WebCore.base.exp:
15682 * WebCore.xcodeproj/project.pbxproj:
15683 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
15684 * dom/ContainerNode.cpp: Set isContainer to true
15685 (WebCore::ContainerNode::ContainerNode):
15686 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
15687 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
15688 (WebCore::Node::containerChildNode): ditto
15689 (WebCore::Node::containerFirstChild): ditto
15690 (WebCore::Node::containerLastChild): ditto
15691 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
15692 (WebCore::Element::Element):
15693 (WebCore::Element::~Element):
15694 (WebCore::Element::rareData):
15695 (WebCore::Element::ensureRareData): Renamed from createRareData
15696 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
15697 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
15698 (WebCore::Element::detach): ditto
15699 (WebCore::Element::recalcStyle): ditto
15700 (WebCore::Element::focus):
15701 (WebCore::Element::minimumSizeForResizing): ditto
15702 (WebCore::Element::setMinimumSizeForResizing): ditto
15703 (WebCore::Element::computedStyle):
15704 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
15705 * dom/Element.h:
15706 * dom/ElementRareData.h: Added; everything copied from Element.cpp
15707 (WebCore::defaultMinimumSizeForResizing):
15708 (WebCore::ElementRareData::ElementRareData):
15709 (WebCore::ElementRareData::resetComputedStyle):
15710 * dom/EventTargetNode.cpp:
15711 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
15712 * dom/EventTargetNode.h:
15713 * dom/Node.cpp:
15714 (WebCore::Node::Node):
15715 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
15716 (WebCore::Node::rareData):
15717 (WebCore::Node::ensureRareData):
15718 (WebCore::Node::createRareData):
15719 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
15720 (WebCore::Node::setTabIndexExplicitly):
15721 (WebCore::Node::childNodes): NodeLists are now in rareData
15722 (WebCore::Node::setFocus):
15723 (WebCore::Node::rareDataFocused):
15724 (WebCore::Node::isFocusable):
15725 (WebCore::Node::isKeyboardFocusable):
15726 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
15727 (WebCore::Node::unregisterDynamicNodeList): ditto
15728 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
15729 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
15730 (WebCore::Node::getElementsByName): ditto
15731 (WebCore::Node::getElementsByClassName): ditto
15732 * dom/Node.h:
15733 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
15734 (WebCore::Node::lastChild): ditto
15735 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
15736 (WebCore::Node::focused): focus is in rareData if set
15737 (WebCore::Node::childTypeAllowed):
15738 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
15739 (WebCore::Node::childNode): ditto
15740 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
15741 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
15742 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
15743 (WebCore::NodeRareData::NodeRareData):
15744 (WebCore::NodeRareData::rareDataMap):
15745 (WebCore::NodeRareData::rareDataFromMap):
15746 (WebCore::NodeRareData::clearNodeLists):
15747 (WebCore::NodeRareData::setNodeLists):
15748 (WebCore::NodeRareData::nodeLists):
15749 (WebCore::NodeRareData::tabIndex):
15750 (WebCore::NodeRareData::setTabIndex):
15751 (WebCore::NodeRareData::tabIndexSetExplicitly):
15752 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
15753 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
15754
zecke@webkit.orge1370432008-09-26 01:47:30 +0000157552008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
15756
15757 Reviewed by Simon Hausmann.
15758
zecke@webkit.org9ea87f62008-09-26 01:54:04 +000015759 [qt] ImageBuffer::toDataURL implementation
15760
15761 There needs to be a Qt specific test result for the above mentioned
15762 implementation.
15763
15764 * platform/graphics/qt/ImageBufferQt.cpp:
15765 (WebCore::ImageBuffer::toDataURL):
15766
157672008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
15768
15769 Reviewed by Simon Hausmann.
15770
zecke@webkit.orge1370432008-09-26 01:47:30 +000015771 [qt] Implement SharedBuffer for Qt.
15772
15773 * WebCore.pro:
15774 * platform/qt/SharedBufferQt.cpp: Added.
15775 (WebCore::SharedBuffer::createWithContentsOfFile):
15776 * platform/qt/TemporaryLinkStubs.cpp:
15777
ddkilzer@apple.com91eae552008-09-26 00:53:18 +0000157782008-09-25 Feng Qian <feng@chromium.org>
15779
15780 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
15781 <rdar://problem/6243032>
15782
15783 Reviewed by Dave Hyatt.
15784
15785 Test: fast/dom/attribute-downcast-right.html
15786
15787 Add isMappedAttribute function to Attribute for checking if an object
15788 is an instance of MappedAttribute. Removed attributeItem,
15789 getAttributeItem functions from NamedMappedAttrMap, and callers
15790 expecting MappedAttribute have to check isMappedAttribute before
15791 downcasting the return value to MappedAttribute.
15792
15793 * css/CSSStyleSelector.cpp:
15794 (WebCore::CSSStyleSelector::styleForElement):
15795 * dom/Attribute.h:
15796 (WebCore::Attribute::isMappedAttribute):
15797 * dom/MappedAttribute.h:
15798 (WebCore::MappedAttribute::isMappedAttribute):
15799 * dom/NamedMappedAttrMap.cpp:
15800 (WebCore::NamedMappedAttrMap::declCount):
15801 (WebCore::NamedMappedAttrMap::mapsEquivalent):
15802 * dom/NamedMappedAttrMap.h:
15803 * dom/StyledElement.cpp:
15804 (WebCore::StyledElement::attributeChanged):
15805 * html/HTMLInputElement.cpp:
15806 (WebCore::HTMLInputElement::setInputType):
15807 * svg/SVGForeignObjectElement.cpp:
15808 (WebCore::addCSSPropertyAndNotifyAttributeMap):
15809 * svg/SVGStyledElement.cpp:
15810 (WebCore::SVGStyledElement::getPresentationAttribute):
15811
hyatt@apple.com79be62c2008-09-25 22:25:22 +0000158122008-09-25 David Hyatt <hyatt@apple.com>
15813
15814 https://bugs.webkit.org/show_bug.cgi?id=21120
15815
15816 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
15817 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
15818 didn't want to mix that change in with this patch).
15819
15820 Reviewed by Sam Weinig
15821
15822 * page/Frame.cpp:
15823 (WebCore::Frame::markAllMatchesForText):
15824 * page/FrameView.cpp:
15825 (WebCore::FrameView::repaintContentRectangle):
15826 (WebCore::FrameView::windowClipRect):
15827 (WebCore::FrameView::updateControlTints):
15828 * platform/ScrollView.cpp:
15829 (WebCore::ScrollView::visibleContentRect):
15830 (WebCore::ScrollView::platformVisibleContentRect):
15831 * platform/ScrollView.h:
15832 (WebCore::ScrollView::visibleWidth):
15833 (WebCore::ScrollView::visibleHeight):
15834 * platform/gtk/ScrollViewGtk.cpp:
15835 (WebCore::ScrollView::horizontalScrollbar):
15836 (WebCore::ScrollView::verticalScrollbar):
15837 * platform/mac/ScrollViewMac.mm:
15838 (WebCore::ScrollView::horizontalScrollbar):
15839 (WebCore::ScrollView::verticalScrollbar):
15840 (WebCore::ScrollView::platformVisibleContentRect):
15841 * platform/qt/ScrollViewQt.cpp:
15842 (WebCore::ScrollView::horizontalScrollbar):
15843 (WebCore::ScrollView::verticalScrollbar):
15844 * platform/win/ScrollViewWin.cpp:
15845 (WebCore::ScrollView::horizontalScrollbar):
15846 (WebCore::ScrollView::verticalScrollbar):
15847 * platform/wx/ScrollViewWx.cpp:
15848 (WebCore::ScrollView::platformVisibleContentRect):
15849 (WebCore::ScrollView::horizontalScrollbar):
15850 (WebCore::ScrollView::verticalScrollbar):
15851 * rendering/RenderLayer.cpp:
15852 (WebCore::RenderLayer::scrollRectToVisible):
15853 (WebCore::frameVisibleRect):
15854 * rendering/RenderView.cpp:
15855 (WebCore::RenderView::viewRect):
15856
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +0000158572008-09-25 David Smith <catfish.man@gmail.com>
15858
15859 Reviewed by Timothy Hatcher
15860
15861 https://bugs.webkit.org/show_bug.cgi?id=21052
15862 Generalize id selector special case for querySelectorAll
15863
15864 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
15865 Changes results on http://native.khan.mozilla.org
15866 from
15867 #title: 2ms
15868 h1#title: 55ms
15869 div #title: 55ms
15870
15871 to:
15872 #title: 1ms
15873 h1#title: 2ms
15874 div #title: 5ms
15875
15876 * dom/Node.cpp:
15877 (WebCore::Node::querySelector):
15878 * dom/SelectorNodeList.cpp:
15879 (WebCore::createSelectorNodeList):
15880
hyatt@apple.com64a3be22008-09-25 20:49:17 +0000158812008-09-25 David Hyatt <hyatt@apple.com>
15882
15883 https://bugs.webkit.org/show_bug.cgi?id=21118
15884
15885 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
15886
15887 Reviewed by Sam Weinig
15888
15889 * page/FrameView.cpp:
15890 (WebCore::FrameView::clear):
15891 (WebCore::FrameView::layout):
15892 (WebCore::FrameView::setUseSlowRepaints):
15893 (WebCore::FrameView::addSlowRepaintObject):
15894 (WebCore::FrameView::removeSlowRepaintObject):
15895 * platform/ScrollView.cpp:
15896 (WebCore::ScrollView::init):
15897 (WebCore::ScrollView::addChild):
15898 (WebCore::ScrollView::removeChild):
15899 (WebCore::ScrollView::setCanBlitOnScroll):
15900 * platform/ScrollView.h:
15901 (WebCore::ScrollView::canBlitOnScroll):
15902 * platform/gtk/ScrollViewGtk.cpp:
15903 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15904 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
15905 (WebCore::ScrollView::ScrollView):
15906 * platform/mac/ScrollViewMac.mm:
15907 (WebCore::ScrollView::ScrollView):
15908 (WebCore::ScrollView::platformAddChild):
15909 (WebCore::ScrollView::platformRemoveChild):
15910 (WebCore::ScrollView::platformSetCanBlitOnScroll):
15911 * platform/qt/ScrollViewQt.cpp:
15912 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15913 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
15914 (WebCore::ScrollView::ScrollView):
15915 * platform/win/ScrollViewWin.cpp:
15916 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15917 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
15918 (WebCore::ScrollView::ScrollView):
15919 * platform/wx/ScrollViewWx.cpp:
15920 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
15921 (WebCore::ScrollView::ScrollView):
15922 (WebCore::ScrollView::scrollBy):
15923
kmccullough@apple.com03b515b2008-09-25 20:29:57 +0000159242008-09-25 Kevin McCullough <kmccullough@apple.com>
15925
15926 Reviewed by Tim Hatcher.
15927
15928 Bug 21109: Console should right-align urls
15929
15930 * page/inspector/Console.js: Re-order the message elements so that when
15931 it overflows it doesn't get mixed in with the next message.
15932 * page/inspector/inspector.css:
15933
hyatt@apple.com95d18752008-09-25 20:15:44 +0000159342008-09-25 David Hyatt <hyatt@apple.com>
15935
15936 https://bugs.webkit.org/show_bug.cgi?id=21113
15937
15938 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
15939
15940 Reviewed by Darin Adler
15941
15942 * css/CSSImportRule.cpp:
15943 (WebCore::CSSImportRule::insertedIntoParent):
15944 * css/CSSRule.cpp:
15945 (WebCore::CSSRule::parentStyleSheet):
15946 (WebCore::CSSRule::parentRule):
15947 * css/CSSStyleSheet.cpp:
15948 (WebCore::CSSStyleSheet::CSSStyleSheet):
15949 * css/CSSStyleSheet.h:
15950
darin@apple.com6ca04432008-09-25 20:02:11 +0000159512008-09-25 Darin Adler <darin@apple.com>
15952
15953 Reviewed by Adele Peterson.
15954
15955 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
15956 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
15957 bundled documents
15958
15959 * html/HTMLFormElement.cpp:
15960 (WebCore::HTMLFormElement::formData): Use files() instead of value()
15961 to get the path, since value() now returns just the basename.
15962
beidson@apple.comb9a40052008-09-25 18:37:09 +0000159632008-09-25 Brady Eidson <beidson@apple.com>
15964
15965 Rubberstamped by Mark Rowe
15966
15967 Roll out 36771 as it caused <rdar://problem/6246554>
15968 "nytimes.com doesn't display after returning to it with back/forward"
15969
15970 * css/CSSImportRule.cpp:
15971 (WebCore::CSSImportRule::insertedIntoParent):
15972 * css/CSSRule.cpp:
15973 (WebCore::CSSRule::parentStyleSheet):
15974 (WebCore::CSSRule::parentRule):
15975 * css/CSSStyleSheet.cpp:
15976 (WebCore::CSSStyleSheet::CSSStyleSheet):
15977 (WebCore::CSSStyleSheet::docLoader):
15978 * css/CSSStyleSheet.h:
15979 (WebCore::CSSStyleSheet::doc):
15980
aroben@apple.comdf5a7322008-09-25 17:47:15 +0000159812008-09-25 Adam Roben <aroben@apple.com>
15982
15983 Windows build fix
15984
15985 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
15986
mitz@apple.com0565bc92008-09-25 17:27:37 +0000159872008-09-25 Dan Bernstein <mitz@apple.com>
15988
15989 - Windows build fix
15990
15991 * platform/win/ScrollViewWin.cpp:
15992 (WebCore::ScrollView::addChildPlatformWidget):
15993 (WebCore::ScrollView::removeChildPlatformWidget):
15994
timothy@apple.com7a4bf192008-09-25 17:07:43 +0000159952008-09-25 Timothy Hatcher <timothy@apple.com>
15996
15997 Fixes a leak of ConsoleMessage seen when repeated console
15998 messages occur.
15999
16000 Reviewed by Mark Rowe.
16001
16002 * page/InspectorController.cpp:
16003 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
16004 since we don't add it to m_consoleMessages.
16005
kmccullough@apple.com340e7272008-09-25 16:04:20 +0000160062008-09-25 Kevin McCullough <kmccullough@apple.com>
16007
kmccullough@apple.com364f2992008-09-25 16:48:34 +000016008 Reviewed by Dan Bernstein.
16009
16010 Bug 21105: XHRs logged in the console may show the wrong URL for the
16011 source
16012 - Get the url at the time of the send() and pass it on to the XHR.
16013
16014 * bindings/js/JSXMLHttpRequestCustom.cpp:
16015 (WebCore::JSXMLHttpRequest::send):
16016 * xml/XMLHttpRequest.cpp:
16017 (WebCore::XMLHttpRequest::didFinishLoading):
16018 * xml/XMLHttpRequest.h:
16019 (WebCore::XMLHttpRequest::setLastSendURL):
16020
160212008-09-25 Kevin McCullough <kmccullough@apple.com>
16022
kmccullough@apple.com340e7272008-09-25 16:04:20 +000016023 Reviewed by Geoff and Tim.
16024
16025 Bug 20322: XHRs logged in the console do not have line numbers
16026 - Get the line number at the time of the send and pass it on to the XHR.
16027
16028 * bindings/js/JSXMLHttpRequestCustom.cpp:
16029 (WebCore::JSXMLHttpRequest::send):
16030 * xml/XMLHttpRequest.cpp:
16031 (WebCore::XMLHttpRequest::XMLHttpRequest):
16032 (WebCore::XMLHttpRequest::didFinishLoading):
16033 * xml/XMLHttpRequest.h:
16034 (WebCore::XMLHttpRequest::setLastSendLineNumber):
16035
eric.carlson@apple.comb9404142008-09-25 15:33:02 +0000160362008-09-25 Eric Carlson <eric.carlson@apple.com>
16037
16038 Reviewed by Eric Seidel.
16039
16040 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
16041 https://bugs.webkit.org/show_bug.cgi?id=21003
16042
16043 * dom/EventNames.h: remove "begin" event
16044 * html/HTMLMediaElement.cpp:
16045 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
16046
ap@webkit.orgcdec56d2008-09-25 11:30:02 +0000160472008-09-25 Alexey Proskuryakov <ap@webkit.org>
16048
16049 Reviewed by Eric Seidel.
16050
16051 https://bugs.webkit.org/show_bug.cgi?id=21097
16052 Calling a MessageChannel constructor from a destroyed document results in a crash
16053
16054 Test: fast/events/message-port-constructor-for-deleted-document.html
16055
16056 * bindings/js/JSMessageChannelConstructor.cpp:
16057 (WebCore::JSMessageChannelConstructor::construct):
16058 * bindings/js/JSMessageChannelConstructor.h:
16059 Made m_document a RefPtr.
16060
ap@webkit.org28b51752008-09-25 10:15:11 +0000160612008-09-24 Alexey Proskuryakov <ap@webkit.org>
16062
16063 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
16064
16065 https://bugs.webkit.org/show_bug.cgi?id=20879
16066 Implement HTML5 channel messaging
16067
16068 Tests: fast/events/message-channel-gc.html
16069 fast/events/message-port-deleted-document.html
16070 fast/events/message-port-deleted-frame.html
16071 fast/events/message-port-inactive-document.html
16072 fast/events/message-port.html
16073 http/tests/security/MessagePort/event-listener-context.html
16074
16075 * Configurations/WebCore.xcconfig:
16076 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
16077
16078 * DerivedSources.make:
16079 Added MessageChannel and MessagePort.
16080
16081 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
16082 turmed off anyway. Added new files.
16083
16084 * GNUmakefile.am:
16085 * WebCore.pro:
16086 * WebCore.vcproj/WebCore.vcproj:
16087 * WebCore.xcodeproj/project.pbxproj:
16088 * WebCoreSources.bkl:
16089 Added new files.
16090
16091 * bindings/js/JSDOMWindowBase.h:
16092 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
16093 Added suport for window.MessageChannel constructor.
16094
16095 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
16096 * page/DOMWindow.cpp:
16097 (WebCore::DOMWindow::postMessage):
16098 * page/DOMWindow.h:
16099 * page/DOMWindow.idl:
16100 Added support for three-argument postMessage (that posts a MessagePort).
16101
16102 * dom/EventTarget.cpp:
16103 (WebCore::EventTarget::toMessagePort):
16104 * dom/EventTarget.h:
16105 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
16106 EventTarget variant.
16107
16108 * bindings/js/JSMessageChannelConstructor.h:
16109 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
16110 take a browsing context (document) parameter.
16111
16112 * bindings/js/JSMessageChannelCustom.cpp: Added.
16113 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
16114 port1 and port2 that it owns.
16115
16116 * bindings/js/JSMessagePortCustom.cpp: Added.
16117 (WebCore::JSMessagePort::startConversation):
16118 (WebCore::JSMessagePort::addEventListener):
16119 (WebCore::JSMessagePort::removeEventListener):
16120 (WebCore::JSMessagePort::dispatchEvent):
16121 (WebCore::JSMessagePort::setOnmessage):
16122 (WebCore::JSMessagePort::onmessage):
16123 (WebCore::JSMessagePort::setOnclose):
16124 (WebCore::JSMessagePort::onclose):
16125 (WebCore::JSMessagePort::mark):
16126 * dom/MessagePort.cpp: Added.
16127 * dom/MessagePort.h: Added.
16128 * dom/MessagePort.idl: Added.
16129 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
16130 with Documents as contexts, but in the future, it will be used for communication with worker
16131 threads.
16132
16133 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
16134 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
16135 needed for MessageEvent.
16136
16137 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
16138
16139 * dom/Document.cpp:
16140 (WebCore::MessagePortTimer::MessagePortTimer):
16141 (WebCore::MessagePortTimer::fired):
16142 (WebCore::Document::processMessagePortMessagesSoon):
16143 (WebCore::Document::~Document):
16144 (WebCore::Document::dispatchMessagePortEvents):
16145 (WebCore::Document::createdMessagePort):
16146 (WebCore::Document::destroyedMessagePort):
16147 * dom/Document.h:
16148 Document keeps track of all MessagePort objects that were created when it was fully active
16149 in its context.
16150
16151 * dom/EventNames.h: Added closeEvent.
16152
16153 * dom/MessageChannel.cpp: Added.
16154 (WebCore::MessageChannel::MessageChannel):
16155 (WebCore::MessageChannel::~MessageChannel):
16156 * dom/MessageChannel.h: Added.
16157 (WebCore::MessageChannel::create):
16158 (WebCore::MessageChannel::port1):
16159 (WebCore::MessageChannel::port2):
16160 * dom/MessageChannel.idl: Added.
16161 Addded JSMessageChannel implementation.
16162
16163 * dom/MessageEvent.cpp:
16164 (WebCore::MessageEvent::MessageEvent):
16165 (WebCore::MessageEvent::initMessageEvent):
16166 * dom/MessageEvent.h:
16167 (WebCore::MessageEvent::create):
16168 (WebCore::MessageEvent::messagePort):
16169 * dom/MessageEvent.idl:
16170 MessageEvent has a MessagePort member now, making it possible to pass ports across
16171 documents.
16172
dsmith@webkit.org3e32f422008-09-25 08:57:31 +0000161732008-09-25 David Smith <catfish.man@gmail.com>
16174
16175 Reviewed by Eric Seidel
16176
16177 fix https://bugs.webkit.org/show_bug.cgi?id=21091
16178 Regression: querySelector matches tag names case sensitively
16179
16180 Tests: fast/dom/SelectorAPI/caseTag.html
16181 fast/dom/SelectorAPI/caseTagX.xhtml
16182
16183 * css/CSSParser.cpp:
16184 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
16185 * css/CSSParser.h:
16186 * dom/Node.cpp:
16187 (WebCore::Node::querySelector):
16188 (WebCore::Node::querySelectorAll):
16189
hyatt@apple.com912c1b12008-09-25 07:38:56 +0000161902008-09-24 David Hyatt <hyatt@apple.com>
16191
16192 https://bugs.webkit.org/show_bug.cgi?id=21084
16193
16194 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
16195 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
16196
16197 Reviewed by Sam Weinig
16198
16199 * GNUmakefile.am:
16200 * WebCore.pro:
16201 * WebCore.vcproj/WebCore.vcproj:
16202 * WebCore.xcodeproj/project.pbxproj:
16203 * WebCoreSources.bkl:
16204 * platform/ScrollView.h:
16205 (WebCore::ScrollView::children):
16206 * platform/Widget.h:
16207 * platform/gtk/ScrollViewGtk.cpp:
16208 (WebCore::ScrollView::addChildPlatformWidget):
16209 (WebCore::ScrollView::removeChildPlatformWidget):
16210 (WebCore::ScrollView::geometryChanged):
16211 * platform/mac/ScrollViewMac.mm:
16212 (WebCore::ScrollView::addChildPlatformWidget):
16213 (WebCore::ScrollView::removeChildPlatformWidget):
16214 * platform/qt/ScrollViewQt.cpp:
16215 (WebCore::ScrollView::geometryChanged):
16216 (WebCore::ScrollView::addChildPlatformWidget):
16217 (WebCore::ScrollView::removeChildPlatformWidget):
16218 * platform/win/ScrollViewWin.cpp:
16219 (WebCore::ScrollView::geometryChanged):
16220 (WebCore::ScrollView::setParentVisible):
16221 (WebCore::ScrollView::show):
16222 (WebCore::ScrollView::hide):
16223 * platform/wx/ScrollViewWx.cpp:
16224 (WebCore::ScrollView::addChildPlatformWidget):
16225 (WebCore::ScrollView::removeChildPlatformWidget):
16226
mitz@apple.com982d2cc2008-09-25 07:16:05 +0000162272008-09-25 Dan Bernstein <mitz@apple.com>
16228
16229 Reviewed by Dave Hyatt.
16230
16231 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
16232 <rdar://problem/6240821> Scrollbar not painted until hovered
16233
16234 * rendering/RenderWidget.cpp:
16235 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
16236 this method, which sets both the location and the size.
16237 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
16238 with a call to the new method setWidgetGeometry. Positioning the
16239 widget correctly ensures that the scroll bars invalidate correctly when
16240 they are created and resized.
16241 * rendering/RenderWidget.h:
16242
mitz@apple.com61969a62008-09-25 00:50:05 +0000162432008-09-24 Dan Bernstein <mitz@apple.com>
16244
16245 Rubber-stamped by Sam Weinig.
16246
16247 - create a "style" subfolder under "rendering" and move style files to that folder
16248
16249 * WebCore.vcproj/WebCore.vcproj:
16250
weinig@apple.comacfb9e12008-09-25 00:39:11 +0000162512008-09-24 Sam Weinig <sam@webkit.org>
16252
16253 Reviewed by Maciej Stachowiak.
16254
16255 Remove staticFunctionGetter. There is only one remaining user of
16256 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
16257
16258 * bindings/js/JSDOMWindowBase.cpp:
16259 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
16260
mitz@apple.com0cb3dff2008-09-24 23:40:29 +0000162612008-09-24 Jeremy Moskovich <jeremy@chromium.org>
16262
16263 Reviewed by Dan Bernstein.
16264
16265 Test: editing/spelling/inline_spelling_markers.html
16266
16267 - https://bugs.webkit.org/show_bug.cgi?id=20092
16268 Spelling markers positioned incorrectly in RTL text
16269
16270 Measure spelling markers with selectionRectForText() to fix RTL.
16271
16272 This patch also fixes hit-testing for spelling marker tool tips,
16273 which used to work only on the first line.
16274
16275 * rendering/InlineTextBox.cpp:
16276 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
16277
hyatt@apple.come5925322008-09-24 21:28:08 +0000162782008-09-24 David Hyatt <hyatt@apple.com>
16279
hyatt@apple.com31cd6d62008-09-24 21:45:19 +000016280 https://bugs.webkit.org/show_bug.cgi?id=21074
16281
hyatt@apple.come5925322008-09-24 21:28:08 +000016282 Make sure the viewless scrollbar knows how to paint properly when transformed.
16283
16284 Reviewed by Sam Weinig
16285
16286 * platform/mac/ScrollbarThemeMac.mm:
16287 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
16288 (WebCore::ScrollbarThemeMac::paint):
16289
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +0000162902008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
16291
16292 Not reviewed. Try to fix win build.
16293
16294 * bindings/js/JSSVGElementInstanceCustom.cpp:
16295 (WebCore::toJS):
16296 * dom/ContainerNodeAlgorithms.h:
16297 (WebCore::removeAllChildrenInContainer):
16298 (WebCore::appendChildToContainer):
16299 (WebCore::Private::addChildNodesToDeletionQueue):
16300
163012008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
16302
16303 Reviewed by Oliver.
16304
16305 Add ContainerNodeAlgorithms.h, as central place to share algorithms
16306 operating on TreeShared-derived classes with a Node-style interface.
16307
16308 This allows SVGElementInstance & ContainerNode to share code.
16309
16310 * dom/ContainerNode.cpp:
16311 (WebCore::ContainerNode::removeAllChildren):
16312 (WebCore::ContainerNode::addChild):
16313 * dom/ContainerNode.h:
16314 * dom/ContainerNodeAlgorithms.h: Added.
16315 (WebCore::removeAllChildrenInContainer):
16316 (WebCore::appendChildToContainer):
16317 (WebCore::Private::NodeRemovalDispatcher::dispatch):
16318 (WebCore::Private::addChildNodesToDeletionQueue):
16319
simon.fraser@apple.com557a0472008-09-24 21:08:23 +0000163202008-09-24 Simon Fraser <simon.fraser@apple.com>
16321
16322 Reviewed by Dave Hyatt
16323
16324 Wrap up dirtying the z-order list of the stacking context
16325 RenderLayer into a method.
16326 https://bugs.webkit.org/show_bug.cgi?id=21072
16327
16328 * rendering/RenderLayer.cpp:
16329 (WebCore::RenderLayer::setHasVisibleContent):
16330 (WebCore::RenderLayer::addChild):
16331 (WebCore::RenderLayer::removeChild):
16332 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
16333 (WebCore::RenderLayer::styleChanged):
16334 * rendering/RenderLayer.h:
16335 * rendering/RenderObject.cpp:
16336 (WebCore::RenderObject::setStyle):
16337
kmccullough@apple.comaf908e62008-09-24 20:22:23 +0000163382008-09-24 Kevin McCullough <kmccullough@apple.com>
16339
16340 Reviewed by Tim.
16341
16342 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
16343 or displayed multiple times
16344 - The Insepctor Controller was comparing JSValue pointers so thought the
16345 message was not a repeat, but the JS of the inspector compared the
16346 strings and so knew it was the same message and so overwrote the old
16347 message.
16348
16349 * page/InspectorController.cpp:
16350 (WebCore::ConsoleMessage::isEqual):
16351 (WebCore::InspectorController::addMessageToConsole):
16352 (WebCore::InspectorController::addConsoleMessage):
16353 (WebCore::InspectorController::startGroup):
16354 (WebCore::InspectorController::endGroup):
16355 * page/InspectorController.h:
16356
hyatt@apple.comf4c8f172008-09-24 20:19:26 +0000163572008-09-24 David Hyatt <hyatt@apple.com>
16358
16359 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
16360 arrow placement preference and the thumb jump preference).
16361
16362 Reviewed by Adam Roben
16363
16364 * platform/Scrollbar.cpp:
16365 (WebCore::Scrollbar::Scrollbar):
16366 (WebCore::Scrollbar::~Scrollbar):
16367 * platform/ScrollbarTheme.h:
16368 (WebCore::ScrollbarTheme::registerScrollbar):
16369 (WebCore::ScrollbarTheme::unregisterScrollbar):
16370 * platform/mac/ScrollbarThemeMac.h:
16371 * platform/mac/ScrollbarThemeMac.mm:
16372 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
16373 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
16374 (+[ScrollbarPrefsObserver registerAsObserver]):
16375 (WebCore::ScrollbarThemeMac::registerScrollbar):
16376 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
16377 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
16378 (WebCore::ScrollbarThemeMac::preferencesChanged):
16379
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +0000163802008-09-24 Rob Buis <buis@kde.org>
16381
16382 Reviewed by Darin.
16383
16384 https://bugs.webkit.org/show_bug.cgi?id=20557
16385 getScreenCTM() returns wrong values
16386
16387 Use the absolute position of the svg root when
16388 determining the screen ctm.
16389
16390 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
16391
16392 * svg/SVGSVGElement.cpp:
16393 (WebCore::SVGSVGElement::getScreenCTM):
16394
hyatt@apple.com40a73652008-09-24 18:15:15 +0000163952008-09-24 David Hyatt <hyatt@apple.com>
16396
hyatt@apple.come77b7d42008-09-24 18:26:51 +000016397 Turn off support for CSS variables.
16398
16399 * ChangeLog:
16400 * css/CSSParser.cpp:
16401 (WebCore::CSSParser::createVariablesRule):
16402 (WebCore::CSSParser::addVariable):
16403 (WebCore::CSSParser::addVariableDeclarationBlock):
16404
164052008-09-24 David Hyatt <hyatt@apple.com>
16406
hyatt@apple.com40a73652008-09-24 18:15:15 +000016407 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
16408
16409 * css/CSSGrammar.y:
16410 * css/CSSParserValues.cpp:
16411 (WebCore::CSSParserValue::isVariable):
16412 * css/CSSPrimitiveValue.cpp:
16413 (WebCore::CSSPrimitiveValue::cleanup):
16414 (WebCore::CSSPrimitiveValue::getStringValue):
16415 (WebCore::CSSPrimitiveValue::cssText):
16416 (WebCore::CSSPrimitiveValue::parserValue):
16417 * css/CSSPrimitiveValue.h:
16418 (WebCore::CSSPrimitiveValue::):
16419 (WebCore::CSSPrimitiveValue::isVariable):
16420
timothy@apple.com0214f092008-09-24 16:23:17 +0000164212008-09-24 Timothy Hatcher <timothy@apple.com>
16422
16423 Fixes a regression where the "incorrect MIME-type" warning would not
16424 show up correctly in the Console or the resources sidebar.
16425
16426 Reviewed by Kevin McCullough.
16427
16428 * page/inspector/Resource.js:
16429 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
16430 to the WebInspector.ConsoleMessage constructor call.
16431 (WebInspector.Resource.prototype._checkWarning): Ditto.
16432
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +0000164332008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
16434
16435 Reviewed by Simon.
16436
16437 Remove deprecated JS Qt bindings object call/construct code and fix autotests
16438
16439 * bridge/qt/qt_instance.cpp:
16440 (JSC::Bindings::QtInstance::QtInstance):
16441 * bridge/qt/qt_instance.h:
16442
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +0000164432008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
16444
16445 Reviewed by Alp Toker. Landed by Jan Alonzo.
16446
16447 Bug 20883: [CURL] Add deferred loading
16448 https://bugs.webkit.org/show_bug.cgi?id=20883
16449
16450 Implement deferred loading for the libcURL backend using curl_easy_pause.
16451 As the method was introduced in version 7.18.0, all the code checks for libcURL
16452 version.
16453
16454 * platform/network/curl/ResourceHandleCurl.cpp:
16455 (WebCore::ResourceHandle::setDefersLoading):
16456 * platform/network/curl/ResourceHandleManager.cpp:
16457 (WebCore::writeCallback): Add an assertion that deferred loading is not
16458 activated.
16459 (WebCore::headerCallback): Ditto.
16460 (WebCore::readCallback): Ditto.
16461 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
16462 defersLoading to be false in order to avoid triggering an assertion.
16463 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
16464 activated, pause the easy handle.
16465
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +0000164662008-09-23 Matt Lilek <webkit@mattlilek.com>
16467
16468 Reviewed by Tim Hatcher.
16469
16470 Inspector search field style tweaks.
16471
16472 * page/inspector/inspector.css:
16473
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +0000164742008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
16475
16476 Reviewed by Eric.
16477
16478 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
16479
16480 Fix missing negation in EventTargetNode::insertedIntoDocument.
16481 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
16482 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
16483
16484 * dom/EventTargetNode.cpp:
16485 (WebCore::EventTargetNode::insertedIntoDocument):
16486 (WebCore::EventTargetNode::dispatchGenericEvent):
16487 * dom/EventTargetNode.h:
16488
timothy@apple.combffde042008-09-24 02:07:39 +0000164892008-09-23 Timothy Hatcher <timothy@apple.com>
16490
timothy@apple.com99c03532008-09-24 02:08:44 +000016491 Adds search support to the Profiles panel.
16492
16493 The Profiles panel supports a few types of queries:
16494 * Standard string matching for function names and file URLs.
16495 * Greater than and less than search for numeric columns.
16496 So a query of ">24" will match all rows that have calls
16497 greater than 24. Or "<=42" will match all 42 or less.
16498 * Percent and time units. Adding a unit of "s", "ms" or "%"
16499 is supported and will match only the Self and Total columns.
16500 So a query of ">1.25s" will match all rows that took longer
16501 than 1.25 seconds.
16502
16503 Reviewed by Oliver Hunt.
16504
16505 * page/inspector/ProfileView.js:
16506 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
16507 it will start at the first result.
16508 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
16509 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
16510 data grid nodes.
16511 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
16512 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
16513 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
16514 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
16515 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
16516 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
16517 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
16518 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
16519 Expand all the ancestors first so the profile node will have a DataGridNode.
16520 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
16521 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
16522 have search matches.
16523 * page/inspector/ProfilesPanel.js:
16524 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
16525 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
16526 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
16527 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
16528 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
16529 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
16530 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
16531 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
16532 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
16533 * page/inspector/inspector.css: New style rules for the cell highlight color.
16534
165352008-09-23 Timothy Hatcher <timothy@apple.com>
16536
timothy@apple.com33c28442008-09-24 02:08:39 +000016537 Adds search support to the Resources and Scripts panels.
16538
16539 https://bugs.webkit.org/show_bug.cgi?id=21005
16540
16541 Reviewed by Oliver Hunt.
16542
16543 * page/inspector/Images/searchSmallBlue.png: Added.
16544 * page/inspector/Images/searchSmallBrightBlue.png: Added.
16545 * page/inspector/Images/searchSmallGray.png: Added.
16546 * page/inspector/Images/searchSmallWhite.png: Added.
16547 * page/inspector/ResourceView.js:
16548 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
16549 or "script-resource-views" since one might not be created yet.
16550 * page/inspector/ResourcesPanel.js:
16551 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
16552 are not this panel's current visible view. This can happen when a ResourceView is
16553 visible in the Scripts panel then switched to the this panel.
16554 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
16555 visibleView first.
16556 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
16557 that uses the current graph search function. So cycling through results will be in the order
16558 things appear in the sidebar.
16559 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
16560 resource's sidebar tree element.
16561 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
16562 in the sidebar. Calls the Panel prototype's searchCanceled.
16563 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
16564 in the sidebar. Calls the Panel prototype's performSearch.
16565 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
16566 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
16567 if there is a current search query.
16568 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
16569 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
16570 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
16571 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
16572 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
16573 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
16574 * page/inspector/ScriptView.js:
16575 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
16576 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
16577 it will start at the first result.
16578 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
16579 highlighting complete".
16580 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
16581 * page/inspector/ScriptsPanel.js:
16582 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
16583 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
16584 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
16585 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
16586 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
16587 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
16588 * page/inspector/SourceFrame.js:
16589 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
16590 * page/inspector/SourceView.js:
16591 (WebInspector.SourceView.prototype.hide):
16592 (WebInspector.SourceView.prototype.detach):
16593 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
16594 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
16595 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
16596 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
16597 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
16598 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
16599 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
16600 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
16601 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
16602 (WebInspector.SourceView.prototype.showingFirstSearchResult):
16603 (WebInspector.SourceView.prototype.showingLastSearchResult):
16604 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
16605 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
16606 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
16607 * page/inspector/inspector.css:
16608
166092008-09-23 Timothy Hatcher <timothy@apple.com>
16610
timothy@apple.com18950ed2008-09-24 02:08:32 +000016611 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
16612 so future code can be shared.
16613
16614 https://bugs.webkit.org/show_bug.cgi?id=21005
16615
16616 Reviewed by Oliver Hunt.
16617
16618 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
16619 And visibleResourceView to visibleView.
16620 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
16621
166222008-09-23 Timothy Hatcher <timothy@apple.com>
16623
timothy@apple.comcb23f4a2008-09-24 02:08:27 +000016624 Highlight all matched search results in the Elements panel DOM tree.
16625
16626 https://bugs.webkit.org/show_bug.cgi?id=21005
16627
16628 Reviewed by Oliver Hunt.
16629
16630 * page/inspector/ElementsPanel.js:
16631 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
16632 on all previous search results.
16633 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
16634 on all new search results.
16635 * page/inspector/ElementsTreeOutline.js:
16636 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
16637 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
16638 the highlighted class on the listItemElement.
16639 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
16640 if needed. Calls _updateTitle.
16641 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
16642 class so it can be styled when the highlighted class is present.
16643 * page/inspector/inspector.css: New style rules for the hihglight.
16644
166452008-09-23 Timothy Hatcher <timothy@apple.com>
16646
timothy@apple.com574c0522008-09-24 02:08:19 +000016647 Add search support to the Elements panel.
16648
16649 https://bugs.webkit.org/show_bug.cgi?id=21005
16650
16651 Reviewed by Oliver Hunt.
16652
16653 * page/inspector/ElementsPanel.js:
16654 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
16655 with a 0 match count to rest. Reset the other search properties.
16656 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
16657 query and a CSS selector on all the Documents in the page. Remembers the found nodes
16658 and avoids duplicates. Focuses the first result.
16659 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
16660 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
16661
166622008-09-23 Timothy Hatcher <timothy@apple.com>
16663
timothy@apple.com82d233c2008-09-24 02:08:15 +000016664 Add support to Panel that allows easy searching of sub-views.
16665
16666 https://bugs.webkit.org/show_bug.cgi?id=21005
16667
16668 Reviewed by Oliver Hunt.
16669
16670 * page/inspector/Panel.js:
16671 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
16672 views in the search results and delete the currentQuery property. Call
16673 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
16674 other search properties.
16675 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
16676 reset everything we need before doing a new search. Get an array of searchableViews
16677 from the panel, implemented by sub-classes. Iterate over the views one-by-one
16678 with an interval to prevent blocking the UI for large lists of searchableViews.
16679 This keeps the interface really responsive. Pass a finishedCallback function to
16680 the performSearch on each view so it can notify the panel of results.
16681 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
16682 searchResults of the visibleView, so we know where in the results we are.
16683 This is done every time incase the user manually navigates to a new view.
16684 If the view is showing the last result, jump to the next view and show it's
16685 first result. Otherwise jump to the next result in the current view.
16686 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
16687
166882008-09-23 Timothy Hatcher <timothy@apple.com>
16689
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +000016690 Add support for asking the current panel to perform a search, find next/previous and clear.
16691 A search is performed on the new new current panel when switching between panels. The search
16692 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
16693 be searched. The search field contents are selected when Command/Control-F or Enter/Return
16694 is pressed, so the user can easily type an entirely new query. The search match count shows
16695 up in the toolbar next to the search field.
16696
16697 Also changed:
16698 * Rename lastQuery to currentQuery since it better matches the truth.
16699 * Set the search field "results" attribute to zero since results arn't saved for
16700 how we use the search field.
16701 * Make repeated presses of the Return key jump to the next search result instead
16702 of doing nothing.
16703 * Increased the search field width.
16704
16705 https://bugs.webkit.org/show_bug.cgi?id=21005
16706
16707 Reviewed by Oliver Hunt.
16708
16709 * English.lproj/localizedStrings.js: New strings.
16710 * page/inspector/inspector.css: New styles.
16711 * page/inspector/inspector.html: Add the search-results-matches element. Add the
16712 incremental attribute to the search field and set the results attribute to zero.
16713 * page/inspector/inspector.js:
16714 (WebInspector.set currentPanel): perform the search on the new panel.
16715 (WebInspector.loaded): Change the event listeners and remove code that changes
16716 the search label text.
16717 (WebInspector.documentKeyDown): Add support for Command/Control-G and
16718 Command/Control-Shift-G. To jump to the next and previous search results.
16719 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
16720 This does different things depending on the attached state.
16721 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
16722 This prevents a "search" event from firing for key down. We handle the Enter key
16723 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
16724 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
16725 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
16726 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
16727 Call updateSearchMatchesCount to reset the matches count in the toolbar.
16728 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
16729
167302008-09-23 Timothy Hatcher <timothy@apple.com>
16731
timothy@apple.com1d5227a2008-09-24 02:08:01 +000016732 Remove the previous Inspector search code to make room for the new stuff.
16733
16734 https://bugs.webkit.org/show_bug.cgi?id=21005
16735
16736 Reviewed by Oliver Hunt.
16737
16738 * page/inspector/inspector.css:
16739 * page/inspector/inspector.html:
16740 * page/inspector/inspector.js:
16741 (WebInspector.get/set showingSearchResults): Removed.
16742 (WebInspector.searchResultsKeyDown): Removed.
16743 (WebInspector.searchResultsResizerDragStart): Removed.
16744 (WebInspector.searchResultsResizerDragEnd): Removed.
16745 (WebInspector.searchResultsResizerDrag): Removed.
16746 (WebInspector.performSearch): Removed searching parts.
16747
167482008-09-23 Timothy Hatcher <timothy@apple.com>
16749
timothy@apple.com5e915b722008-09-24 02:07:56 +000016750 Use the Array.remove helper function in more places.
16751
16752 https://bugs.webkit.org/show_bug.cgi?id=21037
16753
16754 Reviewed by Kevin McCullough.
16755
16756 * page/inspector/ResourceCategory.js:
16757 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
16758 * page/inspector/ResourcesPanel.js:
16759 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
16760 * page/inspector/inspector.js:
16761 (WebInspector.removeResource): Ditto.
16762
167632008-09-23 Timothy Hatcher <timothy@apple.com>
16764
timothy@apple.com3e116f12008-09-24 02:07:50 +000016765 Fixes a bug where inspecting a node after reloading the page
16766 would not reveal the node in the DOM tree. The TreeOutline
16767 was not being told to forget decendants of a removed child.
16768 So old TreeElements would be found that are not in the tree.
16769
16770 https://bugs.webkit.org/show_bug.cgi?id=21036
16771
16772 Reviewed by Kevin McCullough.
16773
16774 * page/inspector/treeoutline.js:
16775 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
16776 in addition to _forgetTreeElement.
16777 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
16778 in addition to _forgetTreeElement.
16779 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
16780 search for known elements.
16781 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
16782 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
16783 descendants and call _forgetTreeElement.
16784 * page/inspector/utilities.js:
16785 (Array.prototype.remove): Speed up this function by using Array.indexOf
16786 when onlyFirst is true.
16787
167882008-09-23 Timothy Hatcher <timothy@apple.com>
16789
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +000016790 Fixes a bug where inspecting some short text nodes does
16791 not reveal them in the Elements panel DOM tree.
16792
16793 https://bugs.webkit.org/show_bug.cgi?id=21035
16794
16795 Reviewed by Oliver Hunt.
16796
16797 * page/inspector/ElementsTreeOutline.js:
16798 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
16799 The revealAndSelectNode() method might find a different element
16800 if there is inlined text, and the select() call would change the
16801 focusedDOMNode and reenter this setter. So to avoid calling
16802 focusedNodeChanged() twice, first check if _focusedDOMNode is
16803 the same node as the one passed in.
16804 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
16805 this.treeOutline, since this is the TreeOutline.
16806 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
16807 Provides default functions for isAncestor, getParet and equal.
16808 Calls the base protoype's findTreeElement. If that returns null
16809 and the node is a text node, try finding it's parent.
16810 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
16811 Renamed to revealAndSelectNode.
16812 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
16813 Selects and reveals the node passed in. Use the simple findTreeElement.
16814 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
16815 Remove use of this.treeOutline, since this is the TreeOutline.
16816
168172008-09-23 Timothy Hatcher <timothy@apple.com>
16818
timothy@apple.combffde042008-09-24 02:07:39 +000016819 Fixes an exception that happened when removing a Resource
16820 from the ResourcesPanel.
16821
16822 https://bugs.webkit.org/show_bug.cgi?id=21034
16823
16824 Reviewed by Kevin McCullough.
16825
16826 * page/inspector/ResourcesPanel.js:
16827 (WebInspctor.ResourcesPanel.prototype.removeResource):
16828 Remove the graphElement.
16829
kmccullough@apple.com70d32f22008-09-24 01:18:31 +0000168302008-09-23 Kevin McCullough <kmccullough@apple.com>
16831
16832 Fixed "Time" to "Tim"
16833
16834 * ChangeLog:
16835
zimmermann@webkit.org718a2232008-09-24 01:00:42 +0000168362008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
16837
16838 Reviewed by Oliver.
16839
16840 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
16841 from SVGDocumentExtensions to SVGElement. It's more useful to store
16842 the list of SVGElementInstances per SVGElement, instead of using
16843 a document-wide hash for this purpose.
16844
16845 * svg/SVGAnimateMotionElement.cpp:
16846 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
16847 * svg/SVGAnimateTransformElement.cpp:
16848 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
16849 * svg/SVGAnimationElement.cpp:
16850 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
16851 * svg/SVGDocumentExtensions.cpp:
16852 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
16853 * svg/SVGDocumentExtensions.h:
16854 * svg/SVGElement.cpp:
16855 (WebCore::SVGElement::mapInstanceToElement):
16856 (WebCore::SVGElement::removeInstanceMapping):
16857 (WebCore::SVGElement::instancesForElement):
16858 * svg/SVGElement.h:
16859 * svg/SVGElementInstance.cpp:
16860 (WebCore::SVGElementInstance::SVGElementInstance):
16861 (WebCore::SVGElementInstance::~SVGElementInstance):
16862 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
16863 * svg/SVGElementInstance.h:
16864 * svg/SVGStyledElement.cpp:
16865 (WebCore::SVGStyledElement::svgAttributeChanged):
16866 (WebCore::SVGStyledElement::childrenChanged):
16867 * svg/SVGStyledElement.h:
16868
kevino@webkit.org706ea432008-09-24 00:53:56 +0000168692008-09-23 Kevin Ollivier <kevino@theolliviers.com>
16870
16871 wx build fix.
16872
16873 * WebCoreSources.bkl:
16874
zimmermann@webkit.org97c71082008-09-24 00:23:28 +0000168752008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
16876
16877 Rubber stamped by Sam.
16878
16879 Move code from EventTarget to EventTargetNode.
16880
16881 I refactored most parts to live in EventTarget, a year ago,
16882 though the implementation of EventTargetSVGElementInstance is
16883 done in another way, that obsoletes this.
16884
16885 * dom/Document.cpp:
16886 (WebCore::Document::addListenerTypeIfNeeded):
16887 * dom/Document.h:
16888 * dom/EventTarget.cpp:
16889 * dom/EventTarget.h:
16890 (WebCore::allowEventDispatch):
16891 * dom/EventTargetNode.cpp:
16892 (WebCore::EventTargetNode::insertedIntoDocument):
16893 (WebCore::EventTargetNode::removedFromDocument):
16894 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
16895 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
16896 (WebCore::EventTargetNode::addEventListener):
16897 (WebCore::EventTargetNode::removeEventListener):
16898 (WebCore::EventTargetNode::removeAllEventListeners):
16899 (WebCore::EventTargetNode::handleLocalEvents):
16900 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
16901 (WebCore::EventTargetNode::dispatchEvent):
16902 (WebCore::EventTargetNode::dispatchGenericEvent):
16903 (WebCore::EventTargetNode::dispatchWindowEvent):
16904 (WebCore::EventTargetNode::removeEventListenerForType):
16905 * dom/EventTargetNode.h:
16906 * svg/EventTargetSVGElementInstance.cpp:
16907 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
16908 * svg/SVGElement.cpp:
16909 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
16910 * svg/SVGElement.h:
16911 (WebCore::SVGElement::supplementalTransform):
16912
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +0000169132008-09-23 Dave Hyatt <hyatt@apple.com>
16914
16915 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
16916 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
16917
16918 Reviewed by Sam Weinig
16919
16920 * platform/mac/ScrollbarThemeMac.mm:
16921 (WebCore::ScrollbarThemeMac::trackRect):
16922 * platform/win/ScrollbarThemeSafari.cpp:
16923 (WebCore::ScrollbarTheme::nativeTheme):
16924 (WebCore::ScrollbarThemeSafari::trackRect):
16925
bdakin@apple.comaab5d692008-09-24 00:09:33 +0000169262008-09-23 Beth Dakin <bdakin@apple.com>
16927
16928 Reviewed by Sam Weinig.
16929
16930 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
16931 link at gmail does not support AXPress action
16932 and corresponding: <rdar://problem/6216178>
16933
16934 I fixed this bug by making AccessibilityObject::anchorElement
16935 support ARIA links.
16936
16937 * page/AccessibilityImageMapLink.cpp:
16938 (WebCore::AccessibilityImageMapLink::anchorElement):
16939 * page/AccessibilityImageMapLink.h:
16940 * page/AccessibilityObject.cpp:
16941 (WebCore::AccessibilityObject::anchorElement):
16942 * page/AccessibilityObject.h:
16943 (WebCore::AccessibilityObject::isNativeAnchor):
16944 * page/AccessibilityRenderObject.cpp:
16945 (WebCore::AccessibilityRenderObject::isNativeAnchor):
16946 (WebCore::AccessibilityRenderObject::anchorElement):
16947 (WebCore::AccessibilityRenderObject::internalLinkElement):
16948 (WebCore::AccessibilityRenderObject::url):
16949 * page/AccessibilityRenderObject.h:
16950 * page/mac/AccessibilityObjectWrapper.mm:
16951 (AXLinkElementForNode):
16952
kmccullough@apple.com58f6b182008-09-24 00:05:34 +0000169532008-09-23 Kevin McCullough <kmccullough@apple.com>
16954
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000016955 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000016956
16957 Bug 20949: Catch repeated messages in Inspector Controller to limit
16958 memory usage
16959 - Store the repeat count in the Console Message object, in the
16960 Inspector Controller and JS ConsoleMessage object.
16961
16962 * page/InspectorController.cpp:
16963 (WebCore::ConsoleMessage::ConsoleMessage):
16964 (WebCore::ConsoleMessage::operator==):
16965 (WebCore::InspectorController::InspectorController):
16966 (WebCore::InspectorController::addConsoleMessage):
16967 (WebCore::InspectorController::addScriptConsoleMessage):
16968 * page/InspectorController.h:
16969 * page/inspector/Console.js:
16970 * page/inspector/Resource.js:
16971 * page/inspector/ResourcesPanel.js:
16972 * page/inspector/SourceFrame.js:
16973
zimmermann@webkit.org29d22032008-09-23 23:44:20 +0000169742008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
16975
16976 Reviewed by Eric.
16977
16978 Working on proper EventTarget support for SVGElementInstance.
16979
16980 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
16981 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
16982
16983 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
16984 implementation. Let it use TreeShared directly.
16985
16986 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
16987 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
16988
16989 * GNUmakefile.am:
16990 * WebCore.pro:
16991 * WebCore.vcproj/WebCore.vcproj:
16992 * WebCore.xcodeproj/project.pbxproj:
16993 * bindings/js/JSEventTargetBase.cpp:
16994 (WebCore::retrieveEventTargetAndCorrespondingNode):
16995 (WebCore::toJS):
16996 * bindings/js/JSEventTargetBase.h:
16997 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
16998 (WebCore::):
16999 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
17000 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
17001 (WebCore::JSEventTargetSVGElementInstance::setListener):
17002 (WebCore::JSEventTargetSVGElementInstance::getListener):
17003 (WebCore::toEventTargetSVGElementInstance):
17004 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
17005 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
17006 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
17007 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
17008 (WebCore::JSEventTargetSVGElementInstance::put):
17009 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
17010 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
17011 (WebCore::toJS):
17012 * bindings/objc/DOM.mm:
17013 (+[DOMNode _wrapEventTarget:WebCore::]):
17014 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
17015 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
17016 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
17017 (-[DOMSVGElementInstance WebCore::]):
17018 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
17019 (-[DOMSVGElementInstance addEventListener:::]):
17020 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
17021 (-[DOMSVGElementInstance removeEventListener:::]):
17022 (-[DOMSVGElementInstance dispatchEvent:]):
17023 * bindings/objc/DOMEvents.h:
17024 * bindings/scripts/CodeGeneratorJS.pm:
17025 * bindings/scripts/CodeGeneratorObjC.pm:
17026 * svg/EventTargetSVGElementInstance.cpp: Added.
17027 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
17028 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
17029 (WebCore::EventTargetSVGElementInstance::addEventListener):
17030 (WebCore::EventTargetSVGElementInstance::removeEventListener):
17031 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
17032 * svg/EventTargetSVGElementInstance.h: Added.
17033 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
17034 (WebCore::EventTargetSVGElementInstance::toNode):
17035 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
17036 (WebCore::EventTargetSVGElementInstance::refEventTarget):
17037 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
17038 (WebCore::EventTargetSVGElementInstanceCast):
17039 * svg/SVGElement.cpp:
17040 (WebCore::SVGElement::dispatchEvent):
17041 * svg/SVGElementInstance.cpp:
17042 (WebCore::SVGElementInstance::SVGElementInstance):
17043 (WebCore::SVGElementInstance::~SVGElementInstance):
17044 * svg/SVGElementInstance.h:
17045 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
17046 * svg/SVGElementInstance.idl:
17047
mitz@apple.come47c5af2008-09-23 21:47:54 +0000170482008-09-23 Dan Bernstein <mitz@apple.com>
17049
17050 Reviewed by Dave Hyatt.
17051
17052 - https://bugs.webkit.org/show_bug.cgi?id=21040
17053 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
17054
17055 * platform/graphics/mac/SimpleFontDataMac.mm:
17056 (WebCore::SimpleFontData::getCTFont):
17057
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +0000170582008-09-23 David Hyatt <hyatt@apple.com>
17059
17060 https://bugs.webkit.org/show_bug.cgi?id=21039
17061
17062 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
17063
17064 Reviewed by Sam Weinig
17065
17066 * platform/ScrollView.h:
17067 * platform/Scrollbar.cpp:
17068 (WebCore::Scrollbar::setFrameGeometry):
17069 * platform/Scrollbar.h:
17070 * platform/Widget.cpp:
17071 (WebCore::Widget::convertFromContainingWindow):
17072 * platform/Widget.h:
17073 * platform/mac/ScrollViewMac.mm:
17074 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17075 (WebCore::ScrollView::ScrollView):
17076 (WebCore::ScrollView::~ScrollView):
17077 (WebCore::ScrollView::windowResizerRect):
17078 (WebCore::ScrollView::resizerOverlapsContent):
17079 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
17080 (WebCore::ScrollView::setParent):
17081 * platform/mac/WidgetMac.mm:
17082 (WebCore::Widget::convertFromContainingWindow):
17083
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +0000170842008-09-23 Dirk Schulze <vbs85@gmx.de>
17085
17086 Reviewed by Darin Adler. Landed by Jan Alonzo.
17087
17088 Added support for getImageData() and putImageData()
17089 to Cairo.
17090
17091 [CAIRO] needs getImageData and putImageData support
17092 https://bugs.webkit.org/show_bug.cgi?id=20838
17093
17094 * platform/graphics/cairo/ImageBufferCairo.cpp:
17095 (WebCore::ImageBuffer::ImageBuffer):
17096 (WebCore::ImageBuffer::getImageData):
17097 (WebCore::ImageBuffer::putImageData):
17098
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +0000170992008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
17100
17101 Reviewed by Holger Freyther.
17102
17103 http://bugs.webkit.org/show_bug.cgi?id=18987
17104 [GTK] Implement SharedBuffer::createWithContentsOfFile and
17105 KURL::fileSystemPath
17106
17107 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
17108 * platform/gtk/KURLGtk.cpp: Added.
17109 (WebCore::KURL::fileSystemPath): Implemented.
17110 * platform/gtk/SharedBufferGtk.cpp: Added.
17111 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
17112 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
17113
ap@webkit.org198304c2008-09-23 16:34:41 +0000171142008-09-23 Alexey Proskuryakov <ap@webkit.org>
17115
ap@webkit.orgccfa60a2008-09-23 20:39:22 +000017116 Reviewed by Oliver Hunt, okayed by Darin Adler.
17117
17118 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
17119
17120 * rendering/InlineTextBox.cpp:
17121 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
17122
171232008-09-23 Alexey Proskuryakov <ap@webkit.org>
17124
ap@webkit.org198304c2008-09-23 16:34:41 +000017125 Reviewed by Darin Adler.
17126
17127 https://bugs.webkit.org/show_bug.cgi?id=21023
17128 Don't use TEC for encodings supported by ICU
17129
17130 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
17131 x-mac-greek, and x-mac-turkish.
17132
17133 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
17134 Register aliases for these encodings that are not registered automatically; updated comments.
17135
mjs@apple.coma6dc93d2008-09-23 07:46:55 +0000171362008-09-23 Maciej Stachowiak <mjs@apple.com>
17137
17138 Reviewed by Darin.
17139
17140 - speed up instanceof some more
17141 https://bugs.webkit.org/show_bug.cgi?id=20818
17142
17143 ~2% speedup on EarleyBoyer
17144
17145 (WebCore updates.)
17146
17147 * bindings/js/JSQuarantinedObjectWrapper.h:
17148 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
17149
oliver@apple.combc10aae2008-09-23 07:40:49 +0000171502008-09-22 Darin Adler <darin@apple.com>
17151
17152 Reviewed by Oliver Hunt.
17153
17154 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
17155 getting pixels by index from CanvasPixelArray is unnecessarily slow
17156
17157 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
17158 * WebCore.vcproj/WebCore.vcproj: Ditto.
17159 * WebCore.xcodeproj/project.pbxproj: Ditto.
17160
17161 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
17162 indexSetter. These are now both inlined, so in the header.
17163 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
17164 function is what's used for HasCustomIndexGetter. Also moved the
17165 indexSetter function here.
17166
17167 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
17168 to use a getByIndex member function rather than an indexGetter static
17169 member function in a property slot. This lets us avoid the property
17170 slot mechanism's rule where it turns numeric property names into
17171 strings in the identifier table, which is good because that's slow.
17172 Also added a new property CustomHeader that allows IDL files to
17173 introduce headers to be included -- useful when we have functions
17174 that we want to inline into the binding.
17175
17176 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
17177
eric@webkit.org924a2d32008-09-23 07:04:11 +0000171782008-09-23 Eric Seidel <eric@webkit.org>
17179
17180 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +000017181
17182 Another blind stab in the dark.
17183
17184 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
17185
171862008-09-23 Eric Seidel <eric@webkit.org>
17187
17188 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +000017189
17190 Third time's the charm, eh? My local build is sadly still not done...
17191
17192 * platform/graphics/AffineTransform.cpp: remove extra &
17193 * platform/graphics/AffineTransform.h: remove extra &
17194
eric@webkit.orgf394f462008-09-23 06:38:10 +0000171952008-09-22 Eric Seidel <eric@webkit.org>
17196
17197 No review, build fix only.
17198
eric@webkit.orgf9212312008-09-23 06:47:51 +000017199 * platform/graphics/AffineTransform.cpp: remove extra ;
17200
172012008-09-22 Eric Seidel <eric@webkit.org>
17202
17203 No review, build fix only.
17204
eric@webkit.orgf394f462008-09-23 06:38:10 +000017205 Speculative fix for the build while I wait for my compile to finish.
17206
17207 * platform/graphics/AffineTransform.cpp:
17208
eric@webkit.org10583212008-09-23 06:05:59 +0000172092008-09-22 Dirk Schulze <vbs85@gmx.de>
17210
17211 Reviewed by eseidel. Landed by eseidel.
17212
17213 Moved makeMapBetweenRects from SVG/CG to AffineTransform
17214 Make SVGResourceClipper::applyClip more cross-platform
17215
17216 * platform/graphics/AffineTransform.cpp:
17217 * platform/graphics/AffineTransform.h:
17218 * svg/graphics/cg/CgSupport.cpp:
17219 * svg/graphics/cg/CgSupport.h:
17220 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
17221 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
17222 * svg/graphics/cg/SVGResourceClipperCg.cpp:
17223 (WebCore::SVGResourceClipper::applyClip):
17224
alp@webkit.orgfaa63e42008-09-23 03:08:57 +0000172252008-09-22 Alp Toker <alp@nuanti.com>
17226
17227 Reviewed by David Hyatt.
17228
17229 https://bugs.webkit.org/show_bug.cgi?id=16331
17230 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
17231
17232 Obey GTK+ focusing conventions for controls and anchor elements.
17233
17234 It could be interesting to push these decisions up to Settings or
17235 ChromeClient some day but this gets things working.
17236
17237 Right and middle click events still need some work to match GTK+
17238 conventions.
17239
17240 * html/HTMLAnchorElement.cpp:
17241 (WebCore::HTMLAnchorElement::isMouseFocusable):
17242 * html/HTMLFormControlElement.cpp:
17243 (WebCore::HTMLFormControlElement::isMouseFocusable):
17244 * page/EventHandler.cpp:
17245 (WebCore::EventHandler::sendContextMenuEvent):
17246
darin@apple.com4a266462008-09-23 01:24:31 +0000172472008-09-22 Darin Adler <darin@apple.com>
17248
17249 * page/mac/FrameMac.mm:
17250 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
17251
weinig@apple.comb6a39b72008-09-23 01:19:56 +0000172522008-09-22 Sam Weinig <sam@webkit.org>
17253
17254 Reviewed by Dan Bernstein.
17255
17256 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
17257 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
17258 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
17259 class!
17260
17261 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
17262 non-selectable input types, but return undefined when accessed.
17263
17264 * DerivedSources.make:
17265 * GNUmakefile.am:
17266 * WebCore.pro:
17267 * WebCore.vcproj/WebCore.vcproj:
17268 * WebCore.xcodeproj/project.pbxproj:
17269 * WebCoreSources.bkl:
17270 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
17271 * bindings/js/JSHTMLInputElementBase.h: Removed.
17272 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
17273 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
17274 (WebCore::JSHTMLInputElement::selectionStart):
17275 (WebCore::JSHTMLInputElement::selectionEnd):
17276 * bindings/js/JSHTMLInputElementCustom.h: Added.
17277 * html/HTMLInputElement.idl:
17278
mitz@apple.com895c54c2008-09-23 00:48:17 +0000172792008-09-22 Dan Bernstein <mitz@apple.com>
17280
17281 Reviewed by Sam Weinig.
17282
17283 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
17284
17285 Not testable in DumpRenderTree or in Safari
17286
17287 * page/mac/FrameMac.mm:
17288 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
17289 case that the selection start node is a block.
17290
hyatt@apple.com78083552008-09-22 22:17:40 +0000172912008-09-22 David Hyatt <hyatt@apple.com>
17292
17293 https://bugs.webkit.org/show_bug.cgi?id=21007
17294
17295 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
17296
17297 Reviewed by Sam Weinig
17298
17299 * page/EventHandler.cpp:
17300 (WebCore::EventHandler::handleMouseDoubleClickEvent):
17301
eric@webkit.orgb57170b2008-09-22 21:44:28 +0000173022008-09-22 Eric Seidel <eric@webkit.org>
17303
17304 No review, rollback only.
17305
17306 Roll out Peter's change (per his request)
17307 http://trac.webkit.org/changeset/36069
17308 https://bugs.webkit.org/show_bug.cgi?id=19663
17309 This change has been the source of numerous regressions
17310 (several of which were latent bugs revealed by this change,
17311 others were bugs in this change)
17312
17313 * platform/graphics/BitmapImage.cpp:
17314 (WebCore::BitmapImage::BitmapImage):
17315 (WebCore::BitmapImage::startAnimation):
17316 (WebCore::BitmapImage::advanceAnimation):
17317 * platform/graphics/BitmapImage.h:
17318 * platform/graphics/cairo/ImageCairo.cpp:
17319 (WebCore::BitmapImage::draw):
17320 * platform/graphics/cg/ImageCG.cpp:
17321 (WebCore::BitmapImage::draw):
17322 * platform/graphics/qt/ImageQt.cpp:
17323 (WebCore::BitmapImage::draw):
17324 * platform/graphics/wx/ImageWx.cpp:
17325 (WebCore::BitmapImage::draw):
17326
mitz@apple.comdc318202008-09-22 21:32:14 +0000173272008-09-22 Dan Bernstein <mitz@apple.com>
17328
17329 Reviewed by Sam Weinig.
17330
17331 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
17332
17333 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
17334 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
17335
17336 * config.h: Use Core Text if not building for Leopard or Tiger.
17337
hyatt@apple.com143e97c2008-09-22 21:03:02 +0000173382008-09-22 David Hyatt <hyatt@apple.com>
17339
17340 https://bugs.webkit.org/show_bug.cgi?id=21006
17341
17342 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
17343 switched on. There are still a few more refinements to make to the rendering and behavior.
17344
17345 Reviewed by Darin Adler
17346
17347 * platform/ScrollbarThemeComposite.cpp:
17348 (WebCore::ScrollbarThemeComposite::paint):
17349 * platform/ScrollbarThemeComposite.h:
17350 (WebCore::ScrollbarThemeComposite::paintTrack):
17351 (WebCore::ScrollbarThemeComposite::paintButton):
17352 (WebCore::ScrollbarThemeComposite::paintThumb):
17353 * platform/mac/ScrollbarThemeMac.h:
17354 * platform/mac/ScrollbarThemeMac.mm:
17355 (WebCore::ScrollbarThemeMac::backButtonRect):
17356 (WebCore::ScrollbarThemeMac::forwardButtonRect):
17357 (WebCore::scrollbarPartToHIPressedState):
17358 (WebCore::ScrollbarThemeMac::paint):
17359 * platform/mac/WidgetMac.mm:
17360 (WebCore::Widget::invalidateRect):
17361
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +0000173622008-09-22 Chris Marrin <cmarrin@apple.com>
17363
17364 Reviewed by Sam Weinig
17365
17366 transition end event when -webkit-transition-property: all puts wrong
17367 propertyName in event
17368 https://bugs.webkit.org/show_bug.cgi?id=20903
17369
17370 * page/animation/ImplicitAnimation.cpp:
17371 (WebCore::ImplicitAnimation::sendTransitionEvent):
17372
cfleizach@apple.com70013042008-09-22 18:30:36 +0000173732008-09-22 Chris Fleizach <cfleizach@apple.com>
17374
17375 Reviewed by Darin Adler.
17376
cfleizach@apple.comdebb8722008-09-22 18:47:16 +000017377 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
17378
17379 Test: accessibility/table-one-cell.html
17380
17381 * page/AccessibilityTable.cpp:
17382 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
17383
173842008-09-22 Chris Fleizach <cfleizach@apple.com>
17385
17386 Reviewed by Darin Adler.
17387
cfleizach@apple.com70013042008-09-22 18:30:36 +000017388 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
17389
17390 Test: accessibility/textarea-selected-text-range.html
17391
17392 * page/AccessibilityRenderObject.cpp:
17393 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
17394
hyatt@apple.com4139b152008-09-22 18:21:37 +0000173952008-09-22 David Hyatt <hyatt@apple.com>
17396
17397 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
17398 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
17399 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
17400 rule.
17401
17402 Reviewed by Sam Weinig
17403
17404 Added fast/css/nested-rule-parent-sheet.html
17405
17406 * css/CSSImportRule.cpp:
17407 (WebCore::CSSImportRule::insertedIntoParent):
17408 * css/CSSRule.cpp:
17409 (WebCore::CSSRule::parentStyleSheet):
17410 (WebCore::CSSRule::parentRule):
17411 * css/CSSStyleSheet.cpp:
17412 (WebCore::CSSStyleSheet::CSSStyleSheet):
17413 * css/CSSStyleSheet.h:
17414
mitz@apple.comd409a262008-09-22 18:17:57 +0000174152008-09-22 Dan Bernstein <mitz@apple.com>
17416
17417 Reviewed by Sam Weinig.
17418
17419 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
17420 Make the ATSUI code path respect spacingDisabled()
17421
17422 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
17423
17424 * platform/graphics/mac/FontMacATSUI.mm:
17425 (WebCore::overrideLayoutOperation):
17426
mjs@apple.com221b4752008-09-22 15:03:52 +0000174272008-09-22 Maciej Stachowiak <mjs@apple.com>
17428
17429 Reviewed by Cameron Zwarich.
17430
17431 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
17432
17433 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
17434
17435 2.2% speedup on EarleyBoyer benchmark.
17436
17437 * bindings/js/JSQuarantinedObjectWrapper.cpp:
17438 * bindings/js/JSQuarantinedObjectWrapper.h:
17439 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
17440 * bindings/scripts/CodeGeneratorJS.pm:
17441
aroben@apple.comd5cbddc2008-09-22 14:31:08 +0000174422008-09-22 Adam Roben <aroben@apple.com>
17443
17444 Windows build fix
17445
17446 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
17447
mjs@apple.coma173abd2008-09-22 13:59:06 +0000174482008-09-22 Maciej Stachowiak <mjs@apple.com>
17449
17450 Reviewed by Dave Hyatt.
17451
17452 Based on initial work by Darin Adler.
17453
17454 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
17455 - use this to JIT inline code for eq_null and neq_null
17456 https://bugs.webkit.org/show_bug.cgi?id=20823
17457
17458 * WebCore.xcodeproj/project.pbxproj:
17459 * WebCore.vcproj/WebCore.vcproj:
17460 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17461 (WebCore::JSCSSStyleDeclaration::nameGetter):
17462 * bindings/js/JSHTMLAllCollection.cpp: Added.
17463 (WebCore::):
17464 * bindings/js/JSHTMLAllCollection.h:
17465 (WebCore::JSHTMLAllCollection::createStructureID):
17466 (WebCore::JSHTMLAllCollection::toBoolean):
17467
vestbo@webkit.orgab848362008-09-22 13:27:06 +0000174682008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
17469
17470 Reviewed by Simon.
17471
17472 Fix the QtWebKit build
17473
17474 * bridge/qt/qt_instance.cpp:
17475 (JSC::Bindings::QtRuntimeObjectImp::construct):
17476 * bridge/qt/qt_runtime.cpp:
17477
alp@webkit.orgcc9b0812008-09-22 08:53:06 +0000174782008-09-22 Alp Toker <alp@nuanti.com>
17479
17480 Suggested by David Hyatt.
17481
17482 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
17483 so make it public.
17484
17485 * platform/ScrollView.h:
17486
hyatt@apple.com7cb18562008-09-22 07:57:52 +0000174872008-09-22 David Hyatt <hyatt@apple.com>
17488
hyatt@apple.combac66582008-09-22 08:36:44 +000017489 Fix a regression in Windows scrollbar painting. (Also fix the same
17490 bug in my new viewless Mac scrollbar painting code). The track rect
17491 was being improperly inflated when painting resulting in the scrollbar
17492 being too tall and painting in the border of overflow sections.
17493
17494 Reviewed by Oliver Hunt
17495
17496 * platform/mac/ScrollbarThemeMac.mm:
17497 (WebCore::ScrollbarThemeMac::trackRect):
17498 * platform/win/ScrollbarThemeSafari.cpp:
17499 (WebCore::ScrollbarThemeSafari::trackRect):
17500
175012008-09-22 David Hyatt <hyatt@apple.com>
17502
hyatt@apple.com7cb18562008-09-22 07:57:52 +000017503 Fix a hit testing bug where events are mistakenly passed to subframes
17504 if the mouse is over the border or padding area of the frame. Add
17505 a boolean flag, isOverWidget(), to hit test results so that EventHandler
17506 can check it to tell if the mouse is really over the content box of a
17507 RenderWidget and not just in the border/padding area.
17508
17509 This is not testable, since the old code properly recovered when it detected
17510 that the mouse was outside the bounds of the view, but this prevents
17511 the extra passdown from even occurring (and is basically a nice cleanup).
17512
17513 Reviewed by Oliver Hunt
17514
17515 * page/EventHandler.cpp:
17516 (WebCore::EventHandler::handleMousePressEvent):
17517 (WebCore::EventHandler::hitTestResultAtPoint):
17518 (WebCore::subframeForHitTestResult):
17519 (WebCore::EventHandler::handleMouseDoubleClickEvent):
17520 (WebCore::EventHandler::handleMouseMoveEvent):
17521 (WebCore::EventHandler::handleMouseReleaseEvent):
17522 (WebCore::EventHandler::handleWheelEvent):
17523 * page/MouseEventWithHitTestResults.h:
17524 (WebCore::MouseEventWithHitTestResults::isOverWidget):
17525 * rendering/HitTestResult.cpp:
17526 (WebCore::HitTestResult::HitTestResult):
17527 (WebCore::HitTestResult::operator=):
17528 * rendering/HitTestResult.h:
17529 (WebCore::HitTestResult::isOverWidget):
17530 (WebCore::HitTestResult::setIsOverWidget):
17531 * rendering/RenderWidget.cpp:
17532 (WebCore::RenderWidget::nodeAtPoint):
17533 * rendering/RenderWidget.h:
17534
hyatt@apple.comb2bf5272008-09-22 05:54:40 +0000175352008-09-21 David Hyatt <hyatt@apple.com>
17536
17537 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
17538 both it and ScrollView's updateContents method be off-limits to everyone in
17539 WebCore except for RenderView.
17540
17541 Make repaintViewRectangle the only possible method for WebCore code to do
17542 an invalidation. This ensures that all invalidates triggered by WebCore
17543 cross-platform code that cross ownerElement() boundaries are transform-aware.
17544
17545 Make sure that iframes/frames contained inside objects that have transforms
17546 or reflections are not allowed to blit (this was already true for transparency).
17547
17548 It is not possible to make a test for any of this, since iframe scrolling
17549 still doesn't work on Mac (since the invalidates are not being done
17550 through WebCore's cross-platform invalidation code but are instead going
17551 through NSScrollView's setNeedsDisplay still).
17552
17553 Reviewed by Oliver Hunt
17554
17555 * editing/SelectionController.cpp:
17556 (WebCore::SelectionController::recomputeCaretRect):
17557 (WebCore::SelectionController::invalidateCaretRect):
17558 (WebCore::SelectionController::focusedOrActiveStateChanged):
17559 * page/FrameView.cpp:
17560 (WebCore::FrameView::repaintContentRectangle):
17561 (WebCore::FrameView::endDeferredRepaints):
17562 * page/FrameView.h:
17563 * platform/ScrollView.h:
17564 * rendering/RenderBox.cpp:
17565 (WebCore::RenderBox::paintFillLayerExtended):
17566 * rendering/RenderLayer.cpp:
17567 (WebCore::RenderLayer::enclosingPositionedAncestor):
17568 (WebCore::RenderLayer::requiresSlowRepaints):
17569 * rendering/RenderLayer.h:
17570 (WebCore::RenderLayer::hasTransform):
17571 * rendering/RenderView.cpp:
17572 (WebCore::RenderView::paintBoxDecorations):
17573 (WebCore::RenderView::repaintViewRectangle):
17574 (WebCore::RenderView::setSelection):
17575
mjs@apple.com52b67602008-09-22 03:15:52 +0000175762008-09-21 Maciej Stachowiak <mjs@apple.com>
17577
17578 Reviewed by Darin.
17579
17580 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
17581 https://bugs.webkit.org/show_bug.cgi?id=20981
17582
17583 * bindings/js/JSAudioConstructor.cpp:
17584 (WebCore::JSAudioConstructor::JSAudioConstructor):
17585 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17586 (WebCore::JSCSSStyleDeclaration::nameGetter):
17587 * bindings/js/JSDOMBinding.cpp:
17588 (WebCore::createDOMStructure):
17589 * bindings/js/JSDOMBinding.h:
17590 (WebCore::getDOMStructure):
17591 * bindings/js/JSDOMWindowShell.cpp:
17592 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
17593 (WebCore::JSDOMWindowShell::setWindow):
17594 * bindings/js/JSEventTargetNode.cpp:
17595 (WebCore::JSEventTargetNode::createPrototype):
17596 * bindings/js/JSHTMLOptionElementConstructor.cpp:
17597 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
17598 * bindings/js/JSImageConstructor.cpp:
17599 (WebCore::JSImageConstructor::JSImageConstructor):
17600 * bindings/js/JSXMLHttpRequestConstructor.cpp:
17601 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
17602 * bindings/js/JSXSLTProcessorConstructor.cpp:
17603 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
17604 * bindings/scripts/CodeGeneratorJS.pm:
17605
darin@apple.comad89d662008-09-22 02:12:57 +0000176062008-09-21 Darin Adler <darin@apple.com>
17607
17608 Reviewed by Maciej Stachowiak.
17609
17610 - fix problem Maciej noticed where every JSNamedNodesCollection
17611 gets its own StructureID
17612
17613 * bindings/js/JSNamedNodesCollection.cpp:
17614 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
17615 getDOMStructure to get the structure.
17616 * bindings/js/JSNamedNodesCollection.h:
17617 (WebCore::JSNamedNodesCollection::createPrototype): Return the
17618 object prototype.
17619
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +0000176202008-09-20 David Hyatt <hyatt@apple.com>
17621
17622 Make sure transformed scrollbars in overflow sections position
17623 properly. This patch mimics the same behavior that works for
17624 iframes, namely making sure that the same code that dynamically
17625 adjusts iframe widget positions at paint time for fixed positioning
17626 and transforms also applies to scrollbars. (This is as simple as passing
17627 in the current translation factor at paint time rather than crawling
17628 up the layer tree to compute a "false" absolute position.)
17629
17630 An existing transform test covers this (although only a pixel result
17631 reveals the correct rendering).
17632
17633 Reviewed by Darin Adler
17634
17635 * rendering/RenderLayer.cpp:
17636 (WebCore::RenderLayer::updateLayerPositions):
17637 (WebCore::RenderLayer::positionOverflowControls):
17638 (WebCore::RenderLayer::paintOverflowControls):
17639 (WebCore::RenderLayer::paintLayer):
17640 * rendering/RenderLayer.h:
17641
sfalken@apple.comd0274692008-09-22 00:08:30 +0000176422008-09-21 Steve Falkenburg <sfalken@apple.com>
17643
sfalken@apple.com4fe10f92008-09-22 00:12:28 +000017644 Removed unnecessary nested timer check.
17645
17646 Rubber-stamped by Dan Bernstein.
17647
17648 * platform/win/SharedTimerWin.cpp:
17649 (WebCore::TimerWindowWndProc):
17650
176512008-09-21 Steve Falkenburg <sfalken@apple.com>
17652
sfalken@apple.comd0274692008-09-22 00:08:30 +000017653 Improve timer resolution on WinXP.
17654 https://bugs.webkit.org/show_bug.cgi?id=20979
17655
17656 Removed last-chance timer. It should not be necessary.
17657 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
17658 Remove Vista checks. We now run the same code on both XP and Vista.
17659
17660 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
17661 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
17662
17663 Reviewed by Maciej Stachowiak.
17664
17665 * platform/win/SharedTimerWin.cpp:
17666 (WebCore::):
17667 (WebCore::TimerWindowWndProc):
17668 (WebCore::setSharedTimerFireTime):
17669 * platform/win/SystemTimeWin.cpp:
17670 (WebCore::currentTime):
17671
eric@webkit.org3e96c482008-09-21 07:59:58 +0000176722008-09-21 Dirk Schulze <vbs85@gmx.de>
17673
17674 Reviewed by eseidel. Landed by eseidel.
17675
eric@webkit.orgc3431282008-09-21 10:37:37 +000017676 All platforms use the DashArray in the GraphicsContext.
17677
17678 * svg/graphics/SVGPaintServer.h:
17679 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
17680 (WebCore::SVGPaintServerGradient::setup):
17681 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
17682 (WebCore::SVGPaintServerPattern::setup):
17683 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
17684 (WebCore::SVGPaintServerSolid::setup):
17685 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
17686 (WebCore::SVGPaintServerGradient::setup):
17687 * svg/graphics/qt/SVGPaintServerQt.cpp:
17688 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
17689 (WebCore::SVGPaintServerSolid::setup):
17690
176912008-09-21 Dirk Schulze <vbs85@gmx.de>
17692
17693 Reviewed by eseidel. Landed by eseidel.
17694
eric@webkit.org3e96c482008-09-21 07:59:58 +000017695 Moved DashArray to GraphicsContext.
17696
17697 * GNUmakefile.am:
17698 * WebCore.vcproj/WebCore.vcproj:
17699 * WebCore.xcodeproj/project.pbxproj:
17700 * platform/graphics/DashArray.h: Added.
17701 * platform/graphics/GraphicsContext.h:
17702 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17703 (WebCore::GraphicsContext::setLineDash):
17704 * platform/graphics/cg/GraphicsContextCG.cpp:
17705 (WebCore::GraphicsContext::setLineDash):
17706 * platform/graphics/qt/GraphicsContextQt.cpp:
17707 (WebCore::GraphicsContext::setLineDash):
17708 * svg/graphics/SVGPaintServer.cpp:
17709 (WebCore::applyStrokeStyleToContext):
17710 * svg/graphics/SVGPaintServer.h:
17711 * svg/graphics/cg/CgSupport.cpp:
17712 * svg/graphics/cg/CgSupport.h:
17713
mitz@apple.com9138eca2008-09-21 07:16:29 +0000177142008-09-21 Dan Bernstein <mitz@apple.com>
17715
17716 Reviewed by Mark Rowe.
17717
17718 - fix linker warnings
17719
17720 * WebCore.base.exp:
17721
darin@apple.comb1491772008-09-21 06:34:40 +0000177222008-09-20 Darin Adler <darin@apple.com>
17723
darin@apple.comc3215132008-09-21 06:50:35 +000017724 - another try at fixing Qt
17725
17726 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
17727
177282008-09-20 Darin Adler <darin@apple.com>
17729
darin@apple.comb1491772008-09-21 06:34:40 +000017730 - blind attempt to fix Qt build
17731
17732 * bridge/qt/qt_runtime.cpp:
17733 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
17734 of regExpPrototype to make a RegExpObject. There should really be
17735 some sort of public helper function for this. Same thing for
17736 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
17737 (JSC::Bindings::):
17738 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
17739 It is not correct to do this inside the constructor because it could
17740 cause a garbage collect while the QtRuntimeMethod object is half-
17741 allocated, which could lead to a crash; note that RuntimeMethod,
17742 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
17743 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
17744
collinj@webkit.org8e01a432008-09-21 06:26:54 +0000177452008-09-20 Collin Jackson <collinj@webkit.org>
17746
17747 Prefetch DNS for hyperlinks that the user mouses over.
17748
17749 https://bugs.webkit.org/show_bug.cgi?id=20931
17750
17751 Reviewed by Sam Weinig.
17752
17753 * page/Chrome.cpp:
17754 (WebCore::Chrome::mouseDidMoveOverElement):
17755
darin@apple.com8281d832008-09-21 02:29:12 +0000177562008-09-20 Darin Adler <darin@apple.com>
17757
17758 Reviewed by Maciej Stachowiak.
17759
17760 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
17761 make each distinct C++ class get a distinct JSC::Structure
17762
17763 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17764 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
17765 ID. Note that this makes a new structure every time -- we could
17766 optimize this slightly be caching and reusing a single one.
17767
17768 * bridge/runtime_method.cpp:
17769 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
17770 getDOMStructure.
17771 * bridge/runtime_method.h:
17772 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
17773 getDOMStructure will work.
17774
17775 * bindings/js/JSDOMWindowShell.cpp:
17776 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
17777 0; needed in case garbage collection happens while creating the
17778 JSDOMWindow.
17779
mitz@apple.com9b3ac792008-09-21 00:42:30 +0000177802008-09-20 Dan Bernstein <mitz@apple.com>
17781
mitz@apple.comf674f4f2008-09-21 00:49:49 +000017782 Reviewed by Eric Seidel.
17783
17784 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +000017785 <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 +000017786
17787 * svg/SVGTextContentElement.cpp:
17788 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
17789 not include the first character in the extraCharsAvailable count.
17790
kevino@webkit.org2bc0d822008-09-20 22:31:24 +0000177912008-09-20 Kevin Ollivier <kevino@theolliviers.com>
17792
kevino@webkit.orge66435f2008-09-20 23:39:25 +000017793 Reviewed by Dan Bernstein.
17794
17795 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +000017796
17797 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +000017798
17799 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
17800 (GetTextExtent):
17801
178022008-09-20 Kevin Ollivier <kevino@theolliviers.com>
17803
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000017804 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
17805
17806 * WebCoreSources.bkl:
17807 * platform/ScrollView.h:
17808 * platform/wx/PopupMenuWx.cpp:
17809 (WebCore::PopupMenu::show):
17810 * platform/wx/RenderThemeWx.cpp:
17811 (WebCore::RenderThemeWx::paintButton):
17812 (WebCore::RenderThemeWx::paintTextField):
17813 (WebCore::RenderThemeWx::paintMenuList):
17814 (WebCore::RenderThemeWx::paintMenuListButton):
17815 * platform/wx/ScrollViewWx.cpp:
17816 (WebCore::ScrollView::setPlatformWidget):
17817 (WebCore::ScrollView::updateContents):
17818 (WebCore::ScrollView::update):
17819 (WebCore::ScrollView::visibleWidth):
17820 (WebCore::ScrollView::visibleHeight):
17821 (WebCore::ScrollView::scrollBy):
17822 (WebCore::ScrollView::resizeContents):
17823 (WebCore::ScrollView::contentsWidth):
17824 (WebCore::ScrollView::contentsHeight):
17825 (WebCore::ScrollView::isScrollViewScrollbar):
17826 (WebCore::ScrollView::adjustScrollbars):
17827 (WebCore::ScrollView::inWindow):
17828 (WebCore::ScrollView::removeChild):
17829 * platform/wx/WidgetWx.cpp:
17830 * plugins/wx/PluginViewWx.cpp:
17831 (WebCore::PluginView::setParentVisible):
17832 (WebCore::PluginView::updatePluginWidget):
17833
timothy@apple.comb697f272008-09-20 22:21:59 +0000178342008-09-20 Timothy Hatcher <timothy@apple.com>
17835
17836 Fix the new Node Search button image to not be blurry.
17837
17838 * page/inspector/Images/nodeSearchButtons.png:
17839
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +0000178402008-09-20 Matt Lilek <webkit@mattlilek.com>
17841
17842 Reviewed by Tim Hatcher.
17843
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +000017844 Cut down some of the inspector javascript -> InspectorController glue code
17845 with two new macros. Also rearrange the exposed function list to be grouped
17846 by implementation and to all explicitly use the WebCore namespace.
17847
17848 * page/InspectorController.cpp:
17849 (WebCore::InspectorController::windowScriptObjectAvailable):
17850
178512008-09-20 Matt Lilek <webkit@mattlilek.com>
17852
17853 Reviewed by Tim Hatcher.
17854
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000017855 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
17856
17857 * page/inspector/inspector.css:
17858
zimmermann@webkit.org953b7442008-09-20 20:19:45 +0000178592008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
17860
17861 Reviewed by Eric.
17862
17863 Refactor HTMLImageLoader/SVGImageLoader code.
17864 Move html/HTMLImageLoader.* to loader/ImageLoader.*
17865
17866 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
17867 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
17868
17869 * GNUmakefile.am:
17870 * WebCore.pro:
17871 * WebCore.vcproj/WebCore.vcproj:
17872 * WebCore.xcodeproj/project.pbxproj:
17873 * WebCoreSources.bkl:
17874 * dom/Document.cpp:
17875 (WebCore::Document::dispatchImageLoadEventSoon):
17876 (WebCore::Document::removeImage):
17877 (WebCore::Document::dispatchImageLoadEventsNow):
17878 * dom/Document.h:
17879 * html/HTMLImageLoader.cpp:
17880 (WebCore::HTMLImageLoader::HTMLImageLoader):
17881 (WebCore::HTMLImageLoader::~HTMLImageLoader):
17882 (WebCore::HTMLImageLoader::sourceURI):
17883 (WebCore::HTMLImageLoader::notifyFinished):
17884 * html/HTMLImageLoader.h:
17885 * loader/DocLoader.h:
17886 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
17887 (WebCore::ImageLoader::ImageLoader):
17888 (WebCore::ImageLoader::~ImageLoader):
17889 (WebCore::ImageLoader::setImage):
17890 (WebCore::ImageLoader::setLoadingImage):
17891 (WebCore::ImageLoader::updateFromElement):
17892 (WebCore::ImageLoader::notifyFinished):
17893 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
17894 * svg/SVGImageElement.cpp:
17895 (WebCore::SVGImageElement::attach):
17896 (WebCore::SVGImageElement::insertedIntoDocument):
17897 (WebCore::SVGImageElement::imageSourceAttributeName):
17898 * svg/SVGImageElement.h:
17899 * svg/SVGImageLoader.cpp:
17900 (WebCore::SVGImageLoader::SVGImageLoader):
17901 (WebCore::SVGImageLoader::dispatchLoadEvent):
17902 (WebCore::SVGImageLoader::sourceURI):
17903 * svg/SVGImageLoader.h:
17904
zecke@webkit.orgf3834492008-09-20 14:23:55 +0000179052008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
17906
zecke@webkit.org7a15a532008-09-20 14:24:27 +000017907 Build fix.
17908
zecke@webkit.orga832cca2008-09-20 14:24:45 +000017909 [qtwebkit] ScrollBar build fix after r36684.
17910 BackButtonPart was split into Start and End Part
17911 ForwardButtonPart was split into Start and End Part
17912
zecke@webkit.orga832cca2008-09-20 14:24:45 +000017913 * platform/qt/ScrollbarThemeQt.cpp:
17914 (WebCore::scPart):
17915 (WebCore::scrollbarPart):
17916 (WebCore::styleOptionSlider):
17917
179182008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
17919
17920 Build fix.
17921
zecke@webkit.org7a15a532008-09-20 14:24:27 +000017922 [qtwebkit] Make qt_instance.cpp compile.
17923 Revision of 36675 introduced getDOMStructure to give unique
17924 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
17925 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
17926
17927 * bridge/qt/qt_instance.cpp:
17928 (JSC::Bindings::QtInstance::getRuntimeObject):
17929
179302008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
17931
zecke@webkit.orgf3834492008-09-20 14:23:55 +000017932 Reviewed by Nikolas Zimmermann.
17933
zecke@webkit.org95ff1412008-09-20 14:24:10 +000017934 [svg] Change SVGLocatable to deal with a plain SVGElement
17935 There is no requirement in the code that we have to have a
17936 SVGStyledElement. Remove that artificial limitation and compile
17937 with SVGElement.
17938
17939 * svg/SVGLocatable.cpp:
17940 * svg/SVGLocatable.h:
17941
179422008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
17943
17944 Reviewed by Nikolas Zimmermann.
17945
zecke@webkit.orgf3834492008-09-20 14:23:55 +000017946 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
17947 management.
17948
17949 * dom/Document.cpp:
17950 (WebCore::Document::~Document):
17951 (WebCore::Document::svgExtensions):
17952 (WebCore::Document::accessSVGExtensions):
17953 * dom/Document.h:
17954
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +0000179552008-09-19 David Hyatt <hyatt@apple.com>
17956
hyatt@apple.com1fe09172008-09-20 05:09:44 +000017957 Fix for crash in updateTransitions. Make sure to test for a style
17958 being null when comparing two RenderStyles.
17959
17960 Reviewed by Oliver Hunt
17961
17962 * page/animation/AnimationBase.cpp:
17963 (WebCore::PropertyWrapperGetter::equals):
17964
179652008-09-19 David Hyatt <hyatt@apple.com>
17966
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000017967 https://bugs.webkit.org/show_bug.cgi?id=20954
17968
17969 Roll out r36628 since it has caused horrible regressions with
17970 animated GIF CPU usage.
17971
17972 * platform/graphics/BitmapImage.cpp:
17973 (WebCore::BitmapImage::cacheFrame):
17974 (WebCore::BitmapImage::startAnimation):
17975 * platform/graphics/BitmapImage.h:
17976 (WebCore::FrameData::FrameData):
17977 * platform/graphics/cairo/ImageCairo.cpp:
17978 (WebCore::FrameData::clear):
17979 * platform/graphics/cg/ImageCG.cpp:
17980 (WebCore::FrameData::clear):
17981 * platform/graphics/qt/ImageQt.cpp:
17982 (WebCore::FrameData::clear):
17983 * platform/graphics/wx/ImageWx.cpp:
17984 (WebCore::FrameData::clear):
17985
alp@webkit.orgd1e860e2008-09-20 03:43:42 +0000179862008-09-20 Alp Toker <alp@nuanti.com>
17987
17988 Reviewed by Timothy Hatcher.
17989
17990 https://bugs.webkit.org/show_bug.cgi?id=20913
17991 Avoid redudant includes
17992
17993 Document.h is included excessively such that a modification to Document.h (or
17994 any of the header it includes itself) triggers a rebuild of many files
17995 including the whole of SVG and a lot of the JS bindings.
17996
17997 Some of these includes can be avoided by only including Document.h where
17998 necessary.
17999
18000 * bindings/js/JSAttrCustom.cpp:
18001 * bindings/js/JSElementCustom.cpp:
18002 * bindings/js/JSEventTargetBase.cpp:
18003 * bindings/js/JSEventTargetBase.h:
18004 * bindings/js/JSEventTargetNode.cpp:
18005 * bindings/js/JSHTMLFrameElementCustom.cpp:
18006 * bindings/js/JSHTMLIFrameElementCustom.cpp:
18007 * bindings/scripts/CodeGeneratorJS.pm:
18008 * css/CSSCursorImageValue.cpp:
18009 * css/SVGCSSStyleSelector.cpp:
18010 * dom/make_names.pl:
18011 * svg/SVGAnimateElement.h:
18012 * svg/SVGAnimatedProperty.h:
18013 (WebCore::::baseValue):
18014 (WebCore::::setBaseValue):
18015 (WebCore::::startAnimation):
18016 (WebCore::::stopAnimation):
18017 * svg/SVGElement.cpp:
18018 (WebCore::SVGElement::accessDocumentSVGExtensions):
18019 * svg/SVGElement.h:
18020 * svg/SVGElementInstance.cpp:
18021 * svg/SVGFitToViewBox.cpp:
18022 * svg/SVGFontElement.cpp:
18023 * svg/SVGFontFaceElement.cpp:
18024 * svg/SVGLinearGradientElement.cpp:
18025 * svg/SVGMPathElement.cpp:
18026 * svg/SVGViewSpec.cpp:
18027
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +0000180282008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
18029
18030 Reviewed by Antti & Eric.
18031
18032 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
18033
18034 Finish HTMLScriptElement / SVGScriptElement unification.
18035 SVG <script> support is complete now, full SVGLoad event
18036 respecting the influence of the externalResourcesRequired attribute
18037 as well as SVGError event support. All other features shared with HTML.
18038
18039 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
18040 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
18041 svg/dom/SVGScriptElement/script-load-and-error-events.svg
18042 svg/dom/SVGScriptElement/script-reexecution.svg
18043 svg/dom/SVGScriptElement/script-set-href.svg
18044
18045 * dom/ScriptElement.cpp:
18046 (WebCore::ScriptElementData::ScriptElementData):
18047 (WebCore::ScriptElementData::requestScript):
18048 * dom/ScriptElement.h:
18049 (WebCore::ScriptElementData::haveFiredLoadEvent):
18050 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
18051 * dom/XMLTokenizer.cpp:
18052 (WebCore::XMLTokenizer::notifyFinished):
18053 * html/HTMLScriptElement.cpp:
18054 (WebCore::HTMLScriptElement::dispatchLoadEvent):
18055 * svg/SVGScriptElement.cpp:
18056 (WebCore::SVGScriptElement::setCreatedByParser):
18057 (WebCore::SVGScriptElement::parseMappedAttribute):
18058 (WebCore::SVGScriptElement::svgAttributeChanged):
18059 (WebCore::SVGScriptElement::insertedIntoDocument):
18060 (WebCore::SVGScriptElement::removedFromDocument):
18061 (WebCore::SVGScriptElement::childrenChanged):
18062 (WebCore::SVGScriptElement::isURLAttribute):
18063 (WebCore::SVGScriptElement::finishParsingChildren):
18064 (WebCore::SVGScriptElement::type):
18065 (WebCore::SVGScriptElement::setType):
18066 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
18067 (WebCore::SVGScriptElement::dispatchLoadEvent):
18068 (WebCore::SVGScriptElement::dispatchErrorEvent):
18069 * svg/SVGScriptElement.h:
18070
mitz@apple.comc7b24ea2008-09-20 03:23:22 +0000180712008-09-19 Dan Bernstein <mitz@apple.com>
18072
18073 Reviewed by John Sullivan.
18074
18075 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
18076 Typo in Position::getInlineBoxAndOffset()
18077 and add an assertion
18078
18079 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
18080
18081 * dom/Position.cpp:
18082 (WebCore::Position::getInlineBoxAndOffset):
18083 * rendering/InlineTextBox.cpp:
18084 (WebCore::InlineTextBox::positionForOffset):
18085
hyatt@apple.comd48dbf32008-09-20 03:21:14 +0000180862008-09-19 David Hyatt <hyatt@apple.com>
18087
18088 Add support for hit testing of all five possible scrollbar button placements.
18089
18090 Reviewed by Sam Weinig
18091
18092 * platform/ScrollbarThemeComposite.cpp:
18093 (WebCore::ScrollbarThemeComposite::paint):
18094 * platform/mac/ScrollbarThemeMac.mm:
18095 (WebCore::):
18096 (WebCore::ScrollbarThemeMac::backButtonRect):
18097 (WebCore::ScrollbarThemeMac::forwardButtonRect):
18098 (WebCore::ScrollbarThemeMac::trackRect):
18099 (WebCore::ScrollbarThemeMac::paintButton):
18100
darin@apple.com1c4cd8f2008-09-20 01:05:35 +0000181012008-09-19 Darin Adler <darin@apple.com>
18102
18103 - try to fix Qt build
18104
18105 * bridge/qt/qt_instance.cpp:
18106 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
18107 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
18108 * bridge/runtime_object.cpp:
18109 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
18110 * bridge/runtime_object.h: Ditto.
18111
dino@apple.com7c236592008-09-20 00:53:49 +0000181122008-09-19 Chris Marrin <cmarrin@apple.com>
18113
18114 Reviewed by Dave Hyatt.
18115
18116 Transition starts running when it shouldn't
18117 https://bugs.webkit.org/show_bug.cgi?id=20892
18118
18119 When there is a transition and an animation on the
18120 same element, make sure the animation wins.
18121
18122 The fix is to save the unanimated style when an animation is started.
18123 Then, when starting a transition, check to see if there is a current
18124 animation on the same prop. If so, use the unanimated style as the
18125 fromStyle rather than the current style.
18126
18127 Test: animations/transition-and-animation-1.html
18128
18129 * page/animation/CompositeAnimation.cpp:
18130 (WebCore::CompositeAnimation::updateTransitions):
18131 (WebCore::CompositeAnimation::updateKeyframeAnimations):
18132 (WebCore::CompositeAnimation::animate):
18133 (WebCore::CompositeAnimation::getAnimationForProperty):
18134 * page/animation/CompositeAnimation.h:
18135 * page/animation/ImplicitAnimation.cpp:
18136 (WebCore::ImplicitAnimation::reset):
18137 * page/animation/ImplicitAnimation.h:
18138 * page/animation/KeyframeAnimation.cpp:
18139 (WebCore::KeyframeAnimation::hasAnimationForProperty):
18140 * page/animation/KeyframeAnimation.h:
18141 (WebCore::KeyframeAnimation::KeyframeAnimation):
18142 (WebCore::KeyframeAnimation::unanimatedStyle):
18143
hyatt@apple.comea254e22008-09-20 00:42:36 +0000181442008-09-19 David Hyatt <hyatt@apple.com>
18145
18146 Add support for painting/hit testing of four possible scrollbar buttons.
18147 The Windows themes simply ignore the two parts that they will never
18148 show. The Mac theme also ignores the other two buttons for now.
18149
18150 The cross-platform base for all three themes, ScrollbarThemeComposite,
18151 has all the proper support though.
18152
18153 Reviewed by Sam Weinig
18154
18155 * platform/ScrollbarThemeComposite.cpp:
18156 (WebCore::ScrollbarThemeComposite::hitTest):
18157 (WebCore::ScrollbarThemeComposite::invalidatePart):
18158 * platform/ScrollbarThemeComposite.h:
18159 * platform/mac/ScrollbarThemeMac.h:
18160 * platform/mac/ScrollbarThemeMac.mm:
18161 (WebCore::ScrollbarThemeMac::backButtonRect):
18162 (WebCore::ScrollbarThemeMac::forwardButtonRect):
18163 (WebCore::ScrollbarThemeMac::paintButton):
18164 * platform/win/ScrollbarThemeSafari.cpp:
18165 (WebCore::ScrollbarThemeSafari::backButtonRect):
18166 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
18167 (WebCore::ScrollbarThemeSafari::paintButton):
18168 * platform/win/ScrollbarThemeSafari.h:
18169 * platform/win/ScrollbarThemeWin.cpp:
18170 (WebCore::ScrollbarThemeWin::backButtonRect):
18171 (WebCore::ScrollbarThemeWin::forwardButtonRect):
18172 (WebCore::ScrollbarThemeWin::paintButton):
18173 * platform/win/ScrollbarThemeWin.h:
18174
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +0000181752008-09-19 Matt Lilek <webkit@mattlilek.com>
18176
18177 Reviewed by Tim Hatcher.
18178
18179 Bug 17772: Inspector should support point-and-click to select a node to inspect
18180 https://bugs.webkit.org/show_bug.cgi?id=17772
18181 <rdar://problem/5792395>
18182
18183 * English.lproj/localizedStrings.js:
18184 * page/Chrome.cpp:
18185 (WebCore::Chrome::mouseDidMoveOverElement):
18186 * page/EventHandler.cpp:
18187 (WebCore::EventHandler::handleMousePressEvent):
18188 * page/InspectorController.cpp:
18189 (WebCore::toggleNodeSearch):
18190 (WebCore::searchingForNode):
18191 (WebCore::InspectorController::InspectorController):
18192 (WebCore::InspectorController::toggleSearchForNodeInPage):
18193 (WebCore::InspectorController::mouseDidMoveOverElement):
18194 (WebCore::InspectorController::handleMousePressOnNode):
18195 (WebCore::InspectorController::windowScriptObjectAvailable):
18196 * page/InspectorController.h:
18197 (WebCore::InspectorController::searchingForNodeInPage):
18198 * page/inspector/ElementsPanel.js:
18199 * page/inspector/Images/nodeSearchButtons.png: Added.
18200 * page/inspector/inspector.css:
18201
hyatt@apple.com57b2d522008-09-19 23:39:26 +0000182022008-09-19 David Hyatt <hyatt@apple.com>
18203
18204 Add new scrollbar parts to be able to represent back and forward buttons
18205 at either end of the scrollbar. The current scrollbar still just draws
18206 a single button at either end, but the parts now exist.
18207
18208 Reviewed by Sam Weinig
18209
18210 * platform/ScrollTypes.h:
18211 (WebCore::):
18212 * platform/Scrollbar.cpp:
18213 (WebCore::Scrollbar::autoscrollTimerFired):
18214 (WebCore::Scrollbar::pressedPartScrollDirection):
18215 (WebCore::Scrollbar::pressedPartScrollGranularity):
18216 (WebCore::Scrollbar::handleMouseMoveEvent):
18217 * platform/ScrollbarTheme.h:
18218 (WebCore::ScrollbarTheme::buttonsPlacement):
18219 (WebCore::ScrollbarTheme::invalidateParts):
18220 * platform/ScrollbarThemeComposite.cpp:
18221 (WebCore::ScrollbarThemeComposite::paint):
18222 (WebCore::ScrollbarThemeComposite::hitTest):
18223 (WebCore::ScrollbarThemeComposite::invalidatePart):
18224 * platform/ScrollbarThemeComposite.h:
18225
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +0000182262008-09-19 Beth Dakin <bdakin@apple.com>
18227
18228 Reviewed by Dave Hyatt.
18229
18230 Fix for <rdar://problem/6231308> crash in AutoTableLayout
18231
18232 The code assumes later on that a TableSection's grid's row vector
18233 will never be empty. So make 1 the minimum number of columns.
18234
18235 * rendering/RenderTableSection.cpp:
18236 (WebCore::RenderTableSection::ensureRows):
18237
hyatt@apple.comaf711ec2008-09-19 22:55:56 +0000182382008-09-19 David Hyatt <hyatt@apple.com>
18239
18240 Add a new ScrollbarButtonsPlacement type for specifying where
18241 the button arrows are in a scrollbar.
18242
18243 Read in the placement settings for Mac. Nothing is done with the
18244 setting yet.
18245
18246 Add a new buttonsPlacement() method to ScrollbarTheme composite
18247 so that the arrow settings can be obtained.
18248
18249 Reviewed by Sam Weinig
18250
18251 * platform/ScrollTypes.h:
18252 (WebCore::):
18253 * platform/ScrollbarThemeComposite.h:
18254 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
18255 * platform/mac/ScrollbarThemeMac.mm:
18256 (WebCore::updateArrowPlacement):
18257 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
18258
sfalken@apple.com64602042008-09-19 22:47:45 +0000182592008-09-19 Steve Falkenburg <sfalken@apple.com>
18260
18261 Roll out r36626. It is causing variance in SunSpider numbers on XP.
18262
18263 Rubber stamped by Mark Rowe.
18264
18265 * platform/win/SharedTimerWin.cpp:
18266 (WebCore::isRunningOnVistaOrLater):
18267 (WebCore::setSharedTimerFireTime):
18268
kmccullough@apple.comd203b242008-09-19 21:56:14 +0000182692008-09-19 Kevin McCullough <kmccullough@apple.com>
18270
18271 Reviewed by Tim.
18272
18273 https://bugs.webkit.org/show_bug.cgi?id=20942
18274 Bug 20942: Repeated messages in resources don't collapse
18275 - Now repeated messages in a resource's view are collapsed and a message
18276 says how many were repeated.
18277
18278 * English.lproj/localizedStrings.js:
18279 * manual-tests/inspector/multiple-console-messages.html:
18280 * page/inspector/Console.js: Send all the messages to the resource's
18281 view before possibly returning early if the message is a repeat.
18282 * page/inspector/SourceFrame.js: Add the text about the message being
18283 repeated, if it is, and increment it when necessary.
18284
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +0000182852008-09-19 Chris Fleizach <cfleizach@apple.com>
18286
18287 Removed unnecessary #if
18288
18289 * page/mac/AccessibilityObjectWrapper.mm:
18290
hyatt@apple.comc9967ce92008-09-19 21:20:59 +0000182912008-09-19 David Hyatt <hyatt@apple.com>
18292
hyatt@apple.comf658e502008-09-19 22:12:07 +000018293 Read in prefs for the scroll delay repeat values for buttons. Also
18294 honor the option-click pref for jumping to the thumb when clicking in
18295 the track.
18296
18297 Reviewed by Sam Weinig
18298
18299 * platform/mac/ScrollbarThemeMac.h:
18300 * platform/mac/ScrollbarThemeMac.mm:
18301 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
18302 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
18303 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
18304 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
18305
183062008-09-19 David Hyatt <hyatt@apple.com>
18307
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000018308 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
18309 Set the initial button repeat delay to 0.5 for Mac.
18310
18311 Reviewed by Sam Weinig
18312
18313 * WebCore.xcodeproj/project.pbxproj:
18314 * platform/mac/ScrollbarThemeMac.cpp: Removed.
18315 * platform/mac/ScrollbarThemeMac.h:
18316 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
18317 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
18318
darin@apple.com39a180f2008-09-19 21:15:14 +0000183192008-09-19 Darin Adler <darin@apple.com>
18320
18321 Reviewed by Sam Weinig.
18322
18323 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
18324 make each distinct C++ class get a distinct JSC::Structure
18325
18326 + Fixed all cases where we were using a shared structure for multiple
18327 C++ classes in WebCore. This still has to be done in JavaScriptCore.
18328
18329 + Got rid of cacheGlobalObject.
18330
18331 + Improved use of PassRefPtr in bindings code.
18332
18333 + Removed a couple cases where we were potentially allocating prototypes
18334 inside a JSObject's construction process -- this can lead to trouble if
18335 we do a garbage collection while an object is only partly constructed.
18336
18337 * bindings/js/JSAudioConstructor.cpp:
18338 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
18339 so we don't implicitly share the structure with other objects that use the object
18340 prototype.
18341
18342 * bindings/js/JSDOMBinding.cpp:
18343 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
18344 don't need cacheGlobalObject any more.
18345 (WebCore::cacheDOMConstructor): Ditto.
18346
18347 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
18348 Added functions and a function template for getting cached DOM constructors.
18349 Removed cacheGlobalObject function template.
18350
18351 * bindings/js/JSDOMWindowBase.cpp:
18352 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
18353 we're taking ownership.
18354 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
18355 we're taking ownership. Added constructor map.
18356 * bindings/js/JSDOMWindowCustom.cpp:
18357 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
18358
18359 * bindings/js/JSDOMWindowShell.cpp:
18360 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
18361 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
18362 this is now done in only that one place.
18363 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
18364 the passed-in DOMWindow. Code was moved here and changed to allocate unique
18365 structures for both the window prototype and the window.
18366 * bindings/js/JSDOMWindowShell.h: Ditto.
18367
18368 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
18369 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
18370 private/friend in JSEventTargetBase. Removed comments referring to defunct
18371 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
18372 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
18373 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
18374
18375 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
18376 for caching structures and prototypes.
18377 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
18378 (WebCore::JSEventTargetNode::createPrototype): Added.
18379 * bindings/js/JSEventTargetNode.h: Updated for above changes.
18380
18381 * bindings/js/JSHTMLAllCollection.h:
18382 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
18383 * bindings/js/JSHTMLCollectionCustom.cpp:
18384 (WebCore::getNamedItems): Pass ExecState instead of prototype.
18385 * bindings/js/JSHTMLFormElementCustom.cpp:
18386 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
18387 * bindings/js/JSHTMLInputElementBase.cpp:
18388 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
18389 * bindings/js/JSHTMLInputElementBase.h: Ditto.
18390 * bindings/js/JSHTMLOptionElementConstructor.cpp:
18391 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
18392 Create a unique structure instead of sharing.
18393 * bindings/js/JSImageConstructor.cpp:
18394 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
18395
18396 * bindings/js/JSInspectedObjectWrapper.cpp:
18397 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
18398 a prototype rather than a structure. Made the use of inheritorID() here
18399 explicit.
18400 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
18401 * bindings/js/JSInspectorCallbackWrapper.cpp:
18402 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
18403 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
18404
18405 * bindings/js/JSNamedNodesCollection.cpp:
18406 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
18407 take an ExecState argument instead of a prototype. Create a unique
18408 StructureID instead of sharing.
18409 * bindings/js/JSNamedNodesCollection.h: Ditto.
18410
18411 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
18412 constructor that takes a prototype instead of a structure.
18413 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
18414
18415 * bindings/js/JSRGBColor.cpp:
18416 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
18417 prototype; create a unique structure.
18418 (WebCore::getJSRGBColor): Ditto.
18419 * bindings/js/JSRGBColor.h: Ditto.
18420
18421 * bindings/js/JSSQLResultSetRowListCustom.cpp:
18422 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
18423 of explicit coding the idiom for making a new object.
18424
18425 * bindings/js/JSXMLHttpRequestConstructor.cpp:
18426 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
18427 Create a unique structure instead of the shared one.
18428 * bindings/js/JSXSLTProcessorConstructor.cpp:
18429 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
18430 Ditto.
18431
18432 * bindings/js/ScriptController.cpp:
18433 (WebCore::ScriptController::clearWindowShell): Let the window shell's
18434 setWindow function create the JSDOMWindow instead of doing it here.
18435
18436 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
18437 the structure and the wrapped object when creating wrappers.
18438 Simplified some of the special cases for DOMWindow so they are
18439 different only in ways the need to be. Eliminated the
18440 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
18441 functions. Moved responsibility for creating the structure and
18442 parent prototype out of the prototype constructor into the
18443 createPrototype function. Removed the unused "DoNotCache" flag for
18444 objects other than DOMWindow. Use getDOMConstructor instead of
18445 cacheGlobalObject for constructors. Make each constructor have
18446 a unique structure ID.
18447
18448 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
18449 name of the info member to s_info so we can use the standard DOM
18450 binding macros to handl the prototype.
18451 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
18452 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
18453 Create a unique structure using getDOMStructure.
18454
18455 * bridge/runtime_array.cpp: Fixed namespacing a bit.
18456 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
18457 getDOMStructure.
18458 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
18459 will work.
18460
18461 * bridge/runtime_object.cpp:
18462 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
18463 getDOMStructure.
18464 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
18465 will work.
18466
18467 * history/CachedPage.cpp:
18468 (WebCore::CachedPage::restore): Let the window shell's
18469 setWindow function create the JSDOMWindow instead of doing it here.
18470
18471 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
18472
mitz@apple.comd6b74252008-09-19 21:02:55 +0000184732008-09-19 Dan Bernstein <mitz@apple.com>
18474
18475 Reviewed by Dave Hyatt.
18476
18477 This optimization was suggested by Daniel Fenwick
18478
18479 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
18480
18481 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +000018482 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +000018483 of one, due to the leading space being reordered to the left.
18484
18485 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
18486 getCFStringAttributes() and changed m_CFStringAttributes from an array
18487 to a single value.
18488 * platform/graphics/mac/CoreTextController.cpp:
18489 (WebCore::CoreTextController::CoreTextController): Added a
18490 mayUseNaturalWritingDirection parameter.
18491 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
18492 to force the bidi embedding level whenever
18493 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
18494 case, made the typesetter options dictionaries static.
18495 * platform/graphics/mac/CoreTextController.h:
18496 * platform/graphics/mac/FontMacCoreText.cpp:
18497 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
18498 (WebCore::Font::floatWidthForComplexText): Changed to allow the
18499 CoreTextController to not set the writing direction.
18500 * platform/graphics/mac/SimpleFontDataMac.mm:
18501 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
18502 parameter and the paragraph style attribute.
18503
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +0000185042008-09-19 David Hyatt <hyatt@apple.com>
18505
18506 Reviewed by Sam Weinig
18507
18508 https://bugs.webkit.org/show_bug.cgi?id=20941
18509
18510 Incorrect height calculation for replaced element inside nested
18511 positioned elements (where the inner has a percentage height and
18512 the outer implicitly has a fixed height because of explicit top/bottom
18513 values).
18514
18515 Added fast/block/positioning/replaced-inside-top-bottom.html
18516
18517 * rendering/RenderBox.cpp:
18518 (WebCore::RenderBox::availableHeightUsing):
18519
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +0000185202008-09-19 Chris Fleizach <cfleizach@apple.com>
18521
18522 Fix Tiger bustage
18523
18524 * page/mac/AccessibilityObjectWrapper.mm:
18525
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +0000185262008-09-18 Chris Fleizach <cfleizach@apple.com>
18527
18528 Reviewed by Darin Adler.
18529
18530 <rdar://problem/6211041> Expose legend tag in accessibility
18531
18532 Exposes the legend tag as the titleUIElement of a fieldset
18533
18534 Test: accessibility/legend.html
18535
18536 * page/AccessibilityObject.h:
18537 (WebCore::AccessibilityObject::isFieldset):
18538 * page/AccessibilityRenderObject.cpp:
18539 (WebCore::AccessibilityRenderObject::isFieldset):
18540 (WebCore::AccessibilityRenderObject::titleUIElement):
18541 * page/AccessibilityRenderObject.h:
18542 * rendering/RenderFieldset.h:
18543
cfleizach@apple.comcff26212008-09-19 20:04:13 +0000185442008-09-19 Chris Fleizach <cfleizach@apple.com>
18545
18546 Reviewed by Darin Adler.
18547
18548 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
18549
18550 Implement a few AX API methods that will be called by AppKit, which will
18551 speed up access to accessibility objects
18552
18553 * page/mac/AccessibilityObjectWrapper.mm:
18554 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
18555 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
18556 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
18557
zecke@webkit.org7594eb62008-09-19 11:06:55 +0000185582008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
18559
18560 Reviewed by Simon Hausmann.
18561
zecke@webkit.org3df68032008-09-19 11:43:27 +000018562 [qtwebkit] Set the m_should* flags to their proper value on entry
18563 With plugins it was possible that we finished a job twice. This was
18564 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
18565 setting the flag to (m_loadMode == LoadDeferred) they will always have
18566 the right value and we will not send responses twice.
18567
18568 * platform/network/qt/QNetworkReplyHandler.cpp:
18569
185702008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
18571
18572 Reviewed by Simon Hausmann.
18573
zecke@webkit.org7594eb62008-09-19 11:06:55 +000018574 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
18575 Handle text decoding errors before instructing the parser to parse. We
18576 have converted the text to QString and all encoding errors are gone and
18577 the parser will not be able to detect them. So handle them before parsing.
18578
18579 * dom/XMLTokenizerQt.cpp:
18580 (WebCore::XMLTokenizer::doWrite):
18581
darin@apple.comc9aea832008-09-19 06:49:35 +0000185822008-09-18 Darin Adler <darin@apple.com>
18583
18584 Reviewed by Maciej Stachowiak.
18585
18586 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
18587 make each distinct C++ class get a distinct JSC::Structure
18588
18589 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
18590 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
18591 instead of DOMExceptionTranslator.
18592
18593 * bindings/js/JSDOMBinding.cpp:
18594 (WebCore::getCachedDOMObjectWrapper): Updated function name.
18595 (WebCore::cacheDOMObjectWrapper): Ditto.
18596 (WebCore::forgetDOMObject): Ditto.
18597 (WebCore::getCachedDOMNodeWrapper): Ditto.
18598 (WebCore::forgetDOMNode): Ditto.
18599 (WebCore::cacheDOMNodeWrapper): Ditto.
18600 (WebCore::forgetAllDOMNodesForDocument): Ditto.
18601 (WebCore::markDOMNodesForDocument): Ditto.
18602 (WebCore::updateDOMNodeDocument): Ditto.
18603 (WebCore::getCachedDOMStructure): Added.
18604 (WebCore::createDOMStructure): Ditto.
18605
18606 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
18607 class and replace the static member functions with non-member
18608 functions. Added many other functions for getting at structures,
18609 prototypes, wrappers, and creating them. Also moved the
18610 cacheGlobalObject function here from JavaScriptCore; eventually
18611 I'll remove that once I get rid of the remaining callers. Also
18612 removed the DOMExceptionTranslator class.
18613
18614 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
18615 and put one of those maps in each window.
18616
18617 * bindings/js/JSDOMWindowCustom.cpp:
18618 (WebCore::markDOMObjectWrapper): Updated for function name change.
18619 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
18620 in the structure map.
18621
18622 * bindings/js/JSEventTargetNode.cpp:
18623 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
18624 a structure instead of a prototype.
18625 * bindings/js/JSEventTargetNode.h: Ditto.
18626 * bindings/js/JSHTMLAllCollection.h:
18627 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
18628
18629 * bindings/js/JSHTMLInputElementBase.cpp:
18630 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
18631 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
18632 structure instead of a prototype.
18633 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
18634 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
18635 to take a structure instead of a prototype. Created a dummy prototype
18636 class that causes the HTMLInputElement prototype to have the
18637 HTMLElement prototype.
18638
18639 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
18640 structures instead of prototypes. Changed the prototype self function
18641 to use the getDOMPrototype function -- later we can eliminate it and
18642 have callers invoke getDOMPrototype directly instead. Updated other
18643 functions that have name changes. Added code to generate the
18644 createPrototype member function. Changed use of cacheGlobalObject to
18645 get it from the WebCore namespace instead of the JSC namespace.
18646 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
18647
18648 * dom/Document.cpp:
18649 (WebCore::Document::~Document): Updated for name change and also
18650 removed unnecessary JSLock use -- there's no need to lock around this.
18651 * dom/Node.cpp:
18652 (WebCore::Node::setDocument): Ditto.
18653
18654 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
18655 instead of calling new directly.
18656
18657 * bindings/js/JSCSSRuleCustom.cpp:
18658 (WebCore::toJS): Updated for function name changes and used the
18659 CREATE_DOM_OBJECT_WRAPPER macro.
18660 * bindings/js/JSCSSValueCustom.cpp:
18661 (WebCore::toJS): Ditto.
18662 * bindings/js/JSCanvasPixelArrayCustom.cpp:
18663 (WebCore::toJS): Ditto.
18664 * bindings/js/JSDocumentCustom.cpp:
18665 (WebCore::JSDocument::mark): Ditto.
18666 (WebCore::toJS): Ditto.
18667 * bindings/js/JSElementCustom.cpp:
18668 (WebCore::toJSNewlyCreated): Ditto.
18669 * bindings/js/JSEventCustom.cpp:
18670 (WebCore::toJS): Ditto.
18671 * bindings/js/JSEventTargetBase.cpp:
18672 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
18673 of DOMExceptionTranslator.
18674 (WebCore::toJS): Updated for function name changes and used the
18675 CREATE_DOM_OBJECT_WRAPPER macro.
18676 * bindings/js/JSHTMLCollectionCustom.cpp:
18677 (WebCore::toJS): Ditto.
18678 * bindings/js/JSNodeCustom.cpp:
18679 (WebCore::JSNode::mark): Ditto.
18680 (WebCore::createWrapper): Ditto.
18681 (WebCore::toJS): Ditto.
18682 * bindings/js/JSSVGPathSegCustom.cpp:
18683 (WebCore::toJS): Ditto.
18684 * bindings/js/JSStyleSheetCustom.cpp:
18685 (WebCore::toJS): Ditto.
18686 (WebCore::JSStyleSheet::mark): Ditto.
18687 * bindings/js/JSTextCustom.cpp:
18688 (WebCore::toJSNewlyCreated): Ditto.
18689 * bindings/js/JSXMLHttpRequestConstructor.cpp:
18690 (WebCore::constructXMLHttpRequest): Ditto.
18691 * bindings/js/JSXMLHttpRequestCustom.cpp:
18692 (WebCore::JSXMLHttpRequest::mark): Ditto.
18693 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
18694 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
18695 * bindings/js/JSXSLTProcessorConstructor.cpp:
18696 (WebCore::constructXSLTProcessor): Ditto.
18697 * bindings/js/ScriptController.cpp:
18698 (WebCore::ScriptController::finishedWithEvent): Ditto.
18699 * xml/XMLHttpRequest.cpp:
18700 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
18701 (WebCore::XMLHttpRequest::dropProtection): Ditto.
18702
hyatt@apple.com083539d2008-09-19 06:30:16 +0000187032008-09-18 David Hyatt <hyatt@apple.com>
18704
18705 This patch gets a viewless scrollbar working on Mac. It is turned off
18706 by default. Hit testing works. For now the scrollbar just paints ugly
18707 debug rects in the place of the buttons, track and thumb. It does match
18708 Aqua metrics though.
18709
18710 Reviewed by Sam Weinig
18711
18712 * WebCore.xcodeproj/project.pbxproj:
18713 * page/mac/EventHandlerMac.mm:
18714 (WebCore::EventHandler::passMousePressEventToScrollbar):
18715 * platform/ScrollbarThemeComposite.cpp:
18716 (WebCore::ScrollbarThemeComposite::paint):
18717 (WebCore::ScrollbarThemeComposite::trackPosition):
18718 * platform/ScrollbarThemeComposite.h:
18719 * platform/mac/ScrollViewMac.mm:
18720 (WebCore::ScrollView::addChild):
18721 * platform/mac/ScrollbarThemeMac.cpp:
18722 (WebCore::):
18723 (WebCore::ScrollbarThemeMac::hasButtons):
18724 (WebCore::ScrollbarThemeMac::hasThumb):
18725 (WebCore::buttonRepaintRect):
18726 (WebCore::ScrollbarThemeMac::backButtonRect):
18727 (WebCore::ScrollbarThemeMac::forwardButtonRect):
18728 (WebCore::trackRepaintRect):
18729 (WebCore::ScrollbarThemeMac::trackRect):
18730 (WebCore::ScrollbarThemeMac::minimumThumbLength):
18731 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
18732 (WebCore::ScrollbarThemeMac::paintTrack):
18733 (WebCore::ScrollbarThemeMac::paintButton):
18734 (WebCore::ScrollbarThemeMac::paintThumb):
18735 * platform/mac/ScrollbarThemeMac.h:
18736 (WebCore::ScrollbarThemeMac::supportsControlTints):
18737 * platform/qt/ScrollbarThemeQt.cpp:
18738 (WebCore::ScrollbarThemeQt::trackPosition):
18739
collinj@webkit.org51261aa2008-09-19 06:13:22 +0000187402008-09-18 Collin Jackson <collinj@webkit.org>
18741
18742 Build fix; added missing header file to GNUmakefile.am
18743
18744 * GNUmakefile.am:
18745
weinig@apple.com39aecbe2008-09-19 04:56:21 +0000187462008-09-18 Sam Weinig <sam@webkit.org>
18747
18748 Reviewed by David "the Hair" Hyatt.
18749
18750 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
18751
18752 * GNUmakefile.am:
18753 * WebCore.pro:
18754 * WebCore.vcproj/WebCore.vcproj:
18755 * WebCore.xcodeproj/project.pbxproj:
18756 * rendering/DataRef.h: Removed.
18757 * rendering/SVGRenderStyle.cpp: Removed.
18758 * rendering/SVGRenderStyle.h: Removed.
18759 * rendering/SVGRenderStyleDefs.cpp: Removed.
18760 * rendering/SVGRenderStyleDefs.h: Removed.
18761 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
18762 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
18763 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
18764 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
18765 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
18766
mrowe@apple.coma5206592008-09-19 04:47:58 +0000187672008-09-18 Mark Rowe <mrowe@apple.com>
18768
18769 Reviewed by Dan Bernstein.
18770
18771 Add a means of clearing a FrameTree's name.
18772
18773 * WebCore.base.exp:
18774 * page/FrameTree.cpp:
18775 (WebCore::FrameTree::clearName):
18776 * page/FrameTree.h:
18777
hyatt@apple.com6eeef382008-09-19 04:30:53 +0000187782008-09-18 David Hyatt <hyatt@apple.com>
18779
18780 Eliminate addToSuperview from Widget, since it was only called
18781 by ScrollViewMac's addChild method. Just shift the original body
18782 of addToSuperView into addChild.
18783
18784 Reviewed by Sam Weinig
18785
18786 * platform/Widget.h:
18787 * platform/mac/ScrollViewMac.mm:
18788 (WebCore::ScrollView::addChild):
18789 * platform/mac/WidgetMac.mm:
18790
collinj@webkit.org9c672f62008-09-19 04:15:14 +0000187912008-09-18 Collin Jackson <collinj@webkit.org>
18792
18793 Reviewed by Antti Koivisto and Mark Rowe.
18794
18795 Test: http/tests/misc/dns-prefetch-control.html
18796
18797 https://bugs.webkit.org/show_bug.cgi?id=20690
18798
18799 Invoke WebCore::prefetchDNS() on host names that appear in
18800 in the href of hyperlinks and <link rel="dns-prefetch">. This
18801 can be used to implement DNS prefetching.
18802
18803 * WebCore.vcproj/WebCore.vcproj:
18804 * WebCore.xcodeproj/project.pbxproj:
18805 * dom/Document.cpp:
18806 (WebCore::Document::Document):
18807 (WebCore::Document::processHttpEquiv):
18808 (WebCore::Document::setSecurityOrigin):
18809 (WebCore::Document::initDNSPrefetch):
18810 (WebCore::Document::parseDNSPrefetchControlHeader):
18811 * dom/Document.h:
18812 (WebCore::Document::isDNSPrefetchEnabled):
18813 * html/HTMLAnchorElement.cpp:
18814 (WebCore::HTMLAnchorElement::parseMappedAttribute):
18815 * html/HTMLLinkElement.cpp:
18816 (WebCore::HTMLLinkElement::HTMLLinkElement):
18817 (WebCore::HTMLLinkElement::parseMappedAttribute):
18818 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18819 (WebCore::HTMLLinkElement::process):
18820 * html/HTMLLinkElement.h:
18821 * html/PreloadScanner.cpp:
18822 (WebCore::PreloadScanner::processAttribute):
18823 * loader/FrameLoader.cpp:
18824 (WebCore::FrameLoader::begin):
18825 * platform/gtk/TemporaryLinkStubs.cpp:
18826 (WebCore::prefetchDNS):
18827 * platform/network/DNS.h: Added.
18828 * platform/network/cf/DNSCFNet.cpp: Added.
18829 (WebCore::prefetchDNS):
18830 * platform/qt/TemporaryLinkStubs.cpp:
18831 (WebCore::prefetchDNS):
18832 * platform/wx/TemporaryLinkStubs.cpp:
18833 (WebCore::prefetchDNS):
18834
hyatt@apple.comc5b931a2008-09-19 00:39:51 +0000188352008-09-18 David Hyatt <hyatt@apple.com>
18836
hyatt@apple.comcf31c162008-09-19 04:01:56 +000018837 Eliminate the convertToScreenCoordinate method on Widget, since
18838 ScrollView has redundant methods that already do the same thing.
18839
18840 Reviewed by Sam Weinig
18841
18842 * editing/mac/SelectionControllerMac.mm:
18843 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
18844 * platform/Widget.h:
18845 * platform/mac/WidgetMac.mm:
18846 (WebCore::Widget::containingWindow):
18847
188482008-09-18 David Hyatt <hyatt@apple.com>
18849
hyatt@apple.com179629b3c2008-09-19 03:16:26 +000018850 Move to only one constructor for Widgets. Rename data to m_data and make
18851 it have an #ifdef only for platforms that have platform-specific data (Mac
18852 and Gtk).
18853
18854 Reviewed by Sam Weinig
18855
18856 * WebCore.base.exp:
18857 * platform/Widget.cpp:
18858 (WebCore::Widget::init):
18859 * platform/Widget.h:
18860 * platform/gtk/WidgetGtk.cpp:
18861 (WebCore::Widget::Widget):
18862 (WebCore::Widget::~Widget):
18863 (WebCore::Widget::cursor):
18864 (WebCore::Widget::setCursor):
18865 * platform/mac/WidgetMac.mm:
18866 (WebCore::Widget::Widget):
18867 (WebCore::Widget::~Widget):
18868 (WebCore::Widget::addToSuperview):
18869 (WebCore::Widget::removeFromSuperview):
18870 (WebCore::Widget::beforeMouseDown):
18871 (WebCore::Widget::afterMouseDown):
18872 * platform/qt/WidgetQt.cpp:
18873 (WebCore::Widget::Widget):
18874 * platform/win/WidgetWin.cpp:
18875 (WebCore::Widget::Widget):
18876 * platform/wx/WidgetWx.cpp:
18877 (WebCore::Widget::Widget):
18878
188792008-09-18 David Hyatt <hyatt@apple.com>
18880
hyatt@apple.com470d7e72008-09-19 03:01:08 +000018881 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
18882 was no reason for it to be on Widget. This change eliminates Qt ifdefs
18883 from Widget.
18884
18885 Reviewed by Sam Weinig
18886
18887 * bindings/js/ScriptControllerQt.cpp:
18888 (WebCore::ScriptController::createScriptInstanceForWidget):
18889 * platform/qt/WidgetQt.cpp:
18890 (WebCore::WidgetPrivate::WidgetPrivate):
18891 (WebCore::WidgetPrivate::~WidgetPrivate):
18892 (WebCore::Widget::Widget):
18893 (WebCore::Widget::~Widget):
18894 * plugins/PluginView.cpp:
18895 (WebCore::PluginView::PluginView):
18896 * plugins/PluginView.h:
18897 (WebCore::PluginView::isNPAPIPlugin):
18898 (WebCore::PluginView::setIsNPAPIPlugin):
18899
189002008-09-18 David Hyatt <hyatt@apple.com>
18901
hyatt@apple.com557408b2008-09-19 02:36:08 +000018902 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
18903 ifdefs are now gone from Widget!
18904
18905 Reviewed by Sam Weinig
18906
18907 * platform/Widget.h:
18908 (WebCore::Widget::geometryChanged):
18909 * platform/gtk/WidgetGtk.cpp:
18910 * platform/qt/WidgetQt.cpp:
18911
189122008-09-18 David Hyatt <hyatt@apple.com>
18913
hyatt@apple.com17e57432008-09-19 02:29:27 +000018914 Consolidate convertTo/FromContainingWindow methods so that all platforms
18915 but Mac share the same code.
18916
18917 Move convertSelfToChild and convertChildToSelf to ScrollView, since
18918 Widget should know nothing about children. Make the methods cross-platform
18919 on ScrollView.
18920
18921 Reviewed by Sam Weinig
18922
18923 * platform/ScrollView.h:
18924 (WebCore::ScrollView::convertChildToSelf):
18925 (WebCore::ScrollView::convertSelfToChild):
18926 * platform/Widget.cpp:
18927 (WebCore::Widget::convertToContainingWindow):
18928 (WebCore::Widget::convertFromContainingWindow):
18929 * platform/Widget.h:
18930 (WebCore::Widget::geometryChanged):
18931 * platform/gtk/ScrollViewGtk.cpp:
18932 (WebCore::ScrollView::isScrollViewScrollbar):
18933 * platform/gtk/WidgetGtk.cpp:
18934 * platform/mac/ScrollViewMac.mm:
18935 (WebCore::ScrollView::isScrollViewScrollbar):
18936 * platform/mac/WidgetMac.mm:
18937 * platform/qt/ScrollViewQt.cpp:
18938 (WebCore::ScrollView::isScrollViewScrollbar):
18939 * platform/qt/WidgetQt.cpp:
18940 * platform/win/ScrollViewWin.cpp:
18941 (WebCore::ScrollView::isScrollViewScrollbar):
18942 * platform/win/WidgetWin.cpp:
18943
189442008-09-18 David Hyatt <hyatt@apple.com>
18945
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000018946 Make the conversion methods that go to and from some containingWindow
18947 cross-platform. Implement them on Mac.
18948
18949 Reviewed by Sam Weinig
18950
18951 * platform/Widget.h:
18952 (WebCore::Widget::setContainingWindow):
18953 * platform/mac/WidgetMac.mm:
18954 (WebCore::Widget::convertFromContainingWindow):
18955 (WebCore::Widget::convertToContainingWindow):
18956
weinig@apple.comd1ea02d2008-09-19 00:28:05 +0000189572008-09-18 Sam Weinig <sam@webkit.org>
18958
18959 Rubber-stamped by David "Yeah-yeah" Hyatt.
18960
18961 Cleanup RenderStyle.
18962
18963 * WebCore.xcodeproj/project.pbxproj:
18964 * rendering/style/CounterContent.h:
18965 * rendering/style/RenderStyle.cpp:
18966 * rendering/style/RenderStyle.h:
18967
dino@apple.comef93f532008-09-19 00:01:07 +0000189682008-09-18 Chris Marrin <cmarrin@apple.com>
18969
18970 Reviewed by Sam Weinig
18971
18972 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
18973 Now TransformOperations and AnimationList no longer
18974 inherit from Vector<> but rather have API to access.
18975
18976 * css/CSSComputedStyleDeclaration.cpp:
18977 (WebCore::computedTransform):
18978 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
18979 * css/CSSStyleSelector.cpp:
18980 (WebCore::CSSStyleSelector::createTransformOperations):
18981 * page/animation/AnimationBase.cpp:
18982 (WebCore::blendFunc):
18983 * page/animation/CompositeAnimation.cpp:
18984 (WebCore::CompositeAnimation::updateTransitions):
18985 (WebCore::CompositeAnimation::updateKeyframeAnimations):
18986 (WebCore::CompositeAnimation::animate):
18987 * page/animation/ImplicitAnimation.cpp:
18988 (WebCore::ImplicitAnimation::validateTransformFunctionList):
18989 * page/animation/KeyframeAnimation.cpp:
18990 (WebCore::KeyframeAnimation::validateTransformFunctionList):
18991 * rendering/RenderLayer.cpp:
18992 (WebCore::RenderLayer::updateReflectionStyle):
18993 * rendering/style/AnimationList.cpp:
18994 (WebCore::AnimationList::operator==):
18995 * rendering/style/AnimationList.h:
18996 (WebCore::AnimationList::operator!=):
18997 (WebCore::AnimationList::size):
18998 (WebCore::AnimationList::isEmpty):
18999 (WebCore::AnimationList::resize):
19000 (WebCore::AnimationList::remove):
19001 (WebCore::AnimationList::append):
19002 (WebCore::AnimationList::animation):
19003 * rendering/style/RenderStyle.cpp:
19004 (WebCore::StyleRareNonInheritedData::updateKeyframes):
19005 (WebCore::RenderStyle::applyTransform):
19006 (WebCore::RenderStyle::adjustAnimations):
19007 (WebCore::RenderStyle::adjustTransitions):
19008 (WebCore::RenderStyle::transitionForProperty):
19009 * rendering/style/RenderStyle.h:
19010 (WebCore::RenderStyle::hasTransform):
19011 * rendering/style/TransformOperations.cpp:
19012 (WebCore::TransformOperations::TransformOperations):
19013 (WebCore::TransformOperations::operator==):
19014 * rendering/style/TransformOperations.h:
19015 (WebCore::TransformOperations::apply):
19016 (WebCore::TransformOperations::operations):
19017
zecke@webkit.org20690ef2008-09-18 23:28:34 +0000190182008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
19019
zecke@webkit.org30db7422008-09-19 01:00:18 +000019020 Build fix.
19021
19022 [qt] Build fixes after the Widget/ScrollView cleanup
19023 topLevel() is now root()
19024
19025
19026 * platform/qt/ScrollViewQt.cpp:
19027 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
19028 (WebCore::ScrollView::addChild):
19029 (WebCore::ScrollView::removeChild):
19030
190312008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
19032
zecke@webkit.org20690ef2008-09-18 23:28:34 +000019033 Reviewed by Mark Rowe.
19034
19035 https://bugs.webkit.org/show_bug.cgi?id=20437
19036
19037 XMLTokenizer.cpp used to contain two different implementations. One was using
19038 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
19039 separating the two implementations from each other.
19040 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
19041 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
19042 XMLTokenizerLibxml2.cpp. There should be no functional changes.
19043
19044 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
19045 to work.
19046
19047 * GNUmakefile.am:
19048 * WebCore.pro:
19049 * WebCore.vcproj/WebCore.vcproj:
19050 * WebCore.xcodeproj/project.pbxproj:
19051 * WebCoreSources.bkl:
19052 * dom/XMLTokenizer.cpp:
19053 (WebCore::isScriptElement):
19054 (WebCore::castToScriptElement):
19055 (WebCore::XMLTokenizer::setCurrentNode):
19056 (WebCore::XMLTokenizer::write):
19057 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
19058 (WebCore::XMLTokenizer::enterText):
19059 (WebCore::toString):
19060 (WebCore::XMLTokenizer::exitText):
19061 (WebCore::XMLTokenizer::end):
19062 (WebCore::XMLTokenizer::insertErrorMessageBlock):
19063 * dom/XMLTokenizer.h:
19064 (WebCore::XMLTokenizer::wellFormed):
19065 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
19066 (WebCore::createMemoryParser):
19067 (WebCore::XMLTokenizer::XMLTokenizer):
19068 (WebCore::XMLTokenizer::~XMLTokenizer):
19069 (WebCore::XMLTokenizer::doWrite):
19070 (WebCore::ignorableWhitespaceHandler):
19071 (WebCore::XMLTokenizer::initializeParserContext):
19072 (WebCore::XMLTokenizer::doEnd):
19073 (WebCore::XMLTokenizer::lineNumber):
19074 (WebCore::XMLTokenizer::columnNumber):
19075 (WebCore::XMLTokenizer::stopParsing):
19076 (WebCore::XMLTokenizer::resumeParsing):
19077 (WebCore::parseXMLDocumentFragment):
19078 (WebCore::attributesStartElementNsHandler):
19079 (WebCore::parseAttributes):
19080 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
19081 (WebCore::EntityResolver::resolveUndeclaredEntity):
19082 (WebCore::XMLTokenizer::XMLTokenizer):
19083 (WebCore::XMLTokenizer::~XMLTokenizer):
19084 (WebCore::XMLTokenizer::doWrite):
19085 (WebCore::XMLTokenizer::initializeParserContext):
19086 (WebCore::XMLTokenizer::doEnd):
19087 (WebCore::XMLTokenizer::lineNumber):
19088 (WebCore::XMLTokenizer::columnNumber):
19089 (WebCore::XMLTokenizer::stopParsing):
19090 (WebCore::XMLTokenizer::resumeParsing):
19091 (WebCore::parseXMLDocumentFragment):
19092 (WebCore::attributesStartElementNsHandler):
19093 (WebCore::parseAttributes):
19094 (WebCore::):
19095
bdakin@apple.com4c244902008-09-18 23:08:35 +0000190962008-09-18 Beth Dakin <bdakin@apple.com>
19097
19098 Reviewed by Geoff Garen.
19099
19100 Build fix for non-Mac builds.
19101
19102 * css/CSSPrimitiveValue.cpp:
19103 (WebCore::CSSPrimitiveValue::cssText):
19104
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000191052008-09-18 Peter Kasting <pkasting@google.com>
19106
19107 Reviewed by hyatt. Landed by eseidel.
19108
19109 https://bugs.webkit.org/show_bug.cgi?id=20745
19110 Animated GIFs do not animate properly with (at least) CG.
19111
19112 * WebCore\platform\graphics\BitmapImage.cpp:
19113 * WebCore\platform\graphics\BitmapImage.h:
19114 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
19115 * WebCore\platform\graphics\cg\ImageCG.cpp:
19116 * WebCore\platform\graphics\qt\ImageQt.cpp:
19117 * WebCore\platform\graphics\wx\ImageWx.cpp:
19118
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +0000191192008-09-18 Chris Fleizach <cfleizach@apple.com>
19120
19121 Reviewed by Beth Dakin
19122
19123 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
19124 role specifies otherwise
19125
19126 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
19127
19128 Test: accessibility/table-with-aria-role.html
19129
19130 * page/AccessibilityTable.cpp:
19131 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
19132 (WebCore::AccessibilityTable::addChildren):
19133 (WebCore::AccessibilityTable::roleValue):
19134 (WebCore::AccessibilityTable::accessibilityIsIgnored):
19135 (WebCore::AccessibilityTable::title):
19136 * page/AccessibilityTableCell.cpp:
19137 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
19138 (WebCore::AccessibilityTableCell::isTableCell):
19139 (WebCore::AccessibilityTableCell::roleValue):
19140 * page/AccessibilityTableCell.h:
19141 * page/AccessibilityTableRow.cpp:
19142 (WebCore::AccessibilityTableRow::roleValue):
19143 (WebCore::AccessibilityTableRow::isTableRow):
19144 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
19145 * page/AccessibilityTableRow.h:
19146
sfalken@apple.coma96c5d32008-09-18 22:29:34 +0000191472008-09-18 Steve Falkenburg <sfalken@apple.com>
19148
19149 Use higher-resolution timers on all variants of Windows.
19150
19151 Reviewed by Darin Adler.
19152
19153 * platform/win/SharedTimerWin.cpp:
19154 (WebCore::setSharedTimerFireTime):
19155
19156
hyatt@apple.comb7d49b62008-09-18 22:21:25 +0000191572008-09-18 David Hyatt <hyatt@apple.com>
19158
19159 Make containingWindow() and setContainingWindow() cross-platform.
19160 Add a root() function cross-platform so Qt doesn't have to
19161 define its own.
19162
19163 Reviewed by Darin Adler
19164
19165 * platform/Widget.cpp:
19166 (WebCore::Widget::root):
19167 * platform/Widget.h:
19168 (WebCore::Widget::setContainingWindow):
19169 * platform/gtk/WidgetGtk.cpp:
19170 (WebCore::Widget::Widget):
19171 (WebCore::Widget::containingWindow):
19172 * platform/mac/ScrollViewMac.mm:
19173 (WebCore::ScrollView::addChild):
19174 (WebCore::ScrollView::removeChild):
19175 * platform/mac/WidgetMac.mm:
19176 (WebCore::Widget::containingWindow):
19177 * platform/qt/WidgetQt.cpp:
19178 (WebCore::Widget::invalidateRect):
19179 (WebCore::Widget::containingWindow):
19180 * platform/win/WidgetWin.cpp:
19181 (WebCore::Widget::Widget):
19182 (WebCore::Widget::~Widget):
19183 (WebCore::Widget::containingWindow):
19184
bdakin@apple.comfa1ce162008-09-18 22:18:01 +0000191852008-09-18 Beth Dakin <bdakin@apple.com>
19186
19187 Reviewed by Dave Hyatt.
19188
19189 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
19190 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
19191 dashboard-region=
19192 and corresponding: <rdar://problem/6174100>
19193
19194 This patch makes CSSParserValue::createCSSValue handle unknown
19195 identifiers.
19196
19197 * css/CSSParserValues.cpp:
19198 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
19199 with no id (an unknown identifier) create a CSSPrimitiveValue of
19200 type CSS_PARSER_IDENTIFIER
19201 * css/CSSPrimitiveValue.cpp:
19202 (WebCore::CSSPrimitiveValue::cssText):
19203 (WebCore::CSSPrimitiveValue::parserValue):
19204 * css/CSSPrimitiveValue.h:
19205 (WebCore::CSSPrimitiveValue::):
19206
weinig@apple.comfce49be2008-09-18 21:46:14 +0000192072008-09-18 Sam Weinig <sam@webkit.org>
19208
19209 Rubber-stamped by David "I'd prefer not" Hyatt.
19210
19211 More the remaining class out of RenderStyle.h/cpp
19212
19213 * GNUmakefile.am:
19214 * WebCore.pro:
19215 * WebCore.vcproj/WebCore.vcproj:
19216 * WebCore.xcodeproj/project.pbxproj:
19217 * WebCoreSources.bkl:
19218 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
19219 (WebCore::CursorData::CursorData):
19220 (WebCore::CursorData::operator==):
19221 (WebCore::CursorData::operator!=):
19222 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
19223 (WebCore::CursorList::operator[]):
19224 (WebCore::CursorList::CursorList):
19225 * rendering/style/RenderStyle.cpp:
19226 * rendering/style/RenderStyle.h:
19227 (WebCore::RenderStyle::deref):
19228 (WebCore::RenderStyle::hasOneRef):
19229 (WebCore::RenderStyle::InheritedFlags::operator!=):
19230 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
19231 (WebCore::RenderStyle::hasBackground):
19232 (WebCore::RenderStyle::outlineWidth):
19233 (WebCore::RenderStyle::autoWrap):
19234 (WebCore::RenderStyle::preserveNewline):
19235 (WebCore::RenderStyle::collapseWhiteSpace):
19236 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
19237 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
19238 (WebCore::RenderStyle::breakWords):
19239 (WebCore::RenderStyle::outlineOffset):
19240 (WebCore::RenderStyle::setLeft):
19241 (WebCore::RenderStyle::setRight):
19242 (WebCore::RenderStyle::setTop):
19243 (WebCore::RenderStyle::setBottom):
19244 (WebCore::RenderStyle::setDashboardRegion):
19245 (WebCore::RenderStyle::setBackgroundColor):
19246 (WebCore::RenderStyle::setBorderImage):
19247 (WebCore::RenderStyle::setBorderRadius):
19248 (WebCore::RenderStyle::setFontDescription):
19249 (WebCore::RenderStyle::adjustBackgroundLayers):
19250 (WebCore::RenderStyle::adjustMaskLayers):
19251 (WebCore::RenderStyle::deleteBindingURIs):
19252 (WebCore::RenderStyle::inheritBindingURIs):
19253 (WebCore::RenderStyle::isDisplayReplacedType):
19254 (WebCore::RenderStyle::isDisplayInlineType):
19255 (WebCore::RenderStyle::isOriginalDisplayInlineType):
19256 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
19257 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
19258 (WebCore::StyleInheritedData::operator!=):
19259 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
19260 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
19261 (WebCore::StyleRareInheritedData::operator!=):
19262 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
19263 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
19264 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
19265
hyatt@apple.com643534d2008-09-18 20:09:41 +0000192662008-09-18 David Hyatt <hyatt@apple.com>
19267
hyatt@apple.comd23089a2008-09-18 20:24:16 +000019268 Move the concept of suppression invalidation on Widgets to Scrollbar
19269 instead. Since this is only used by Scrollbars, there is no need for
19270 it to be on Widget.
19271
19272 Reviewed by Sam Weinig
19273
19274 * platform/Scrollbar.cpp:
19275 (WebCore::Scrollbar::Scrollbar):
19276 (WebCore::Scrollbar::invalidateRect):
19277 * platform/Scrollbar.h:
19278 (WebCore::Scrollbar::suppressInvalidation):
19279 (WebCore::Scrollbar::setSuppressInvalidation):
19280 * platform/Widget.h:
19281 * platform/gtk/WidgetGtk.cpp:
19282 (WebCore::Widget::Widget):
19283 (WebCore::Widget::invalidateRect):
19284 * platform/qt/WidgetQt.cpp:
19285 (WebCore::WidgetPrivate::WidgetPrivate):
19286 (WebCore::Widget::invalidateRect):
19287 * platform/win/WidgetWin.cpp:
19288 (WebCore::Widget::Widget):
19289 (WebCore::Widget::invalidateRect):
19290
192912008-09-18 David Hyatt <hyatt@apple.com>
19292
hyatt@apple.com643534d2008-09-18 20:09:41 +000019293 Make invalidate() on Widget non-virtual and make it just call
19294 invalidateRect() on the boundsGeometry() of the Widget.
19295
19296 Reviewed by Dan Bernstein
19297
19298 * platform/Widget.h:
19299 (WebCore::Widget::boundsGeometry):
19300 (WebCore::Widget::invalidate):
19301 * platform/gtk/WidgetGtk.cpp:
19302 * platform/mac/WidgetMac.mm:
19303 * platform/qt/WidgetQt.cpp:
19304 * platform/win/WidgetWin.cpp:
19305 * platform/wx/WidgetWx.cpp:
19306
weinig@apple.comcaf2df42008-09-18 19:40:24 +0000193072008-09-18 Sam Weinig <sam@webkit.org>
19308
19309 Rubber-stamped in exile by David Hyatt.
19310
19311 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
19312 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
19313 RenderStyle.h/cpp
19314
19315 * GNUmakefile.am:
19316 * WebCore.pro:
19317 * WebCore.vcproj/WebCore.vcproj:
19318 * WebCore.xcodeproj/project.pbxproj:
19319 * WebCoreSources.bkl:
19320 * css/CSSStyleSelector.cpp:
19321 * css/CSSStyleSelector.h:
19322 * page/animation/CompositeAnimation.cpp:
19323 * page/animation/KeyframeAnimation.cpp:
19324 * page/animation/KeyframeAnimation.h:
19325 * rendering/RenderCounter.h:
19326 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
19327 (WebCore::Animation::~Animation):
19328 (WebCore::Animation::animationsMatch):
19329 (WebCore::Animation::keyframeList):
19330 (WebCore::Animation::setAnimationKeyframe):
19331 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
19332 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
19333 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
19334 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
19335 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
19336 (WebCore::BindingURI::operator!=):
19337 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
19338 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
19339 (WebCore::ContentData::ContentData):
19340 (WebCore::ContentData::~ContentData):
19341 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
19342 (WebCore::CounterContent::CounterContent):
19343 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
19344 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
19345 (WebCore::CounterDirectives::CounterDirectives):
19346 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
19347 (WebCore::KeyframeList::insert):
19348 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
19349 (WebCore::KeyframeValue::KeyframeValue):
19350 (WebCore::KeyframeList::create):
19351 (WebCore::KeyframeList::KeyframeList):
19352 * rendering/style/RenderStyle.cpp:
19353 * rendering/style/RenderStyle.h:
19354 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
19355 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
19356 (WebCore::ShadowData::ShadowData):
19357 (WebCore::ShadowData::~ShadowData):
19358 (WebCore::ShadowData::operator!=):
19359 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
19360 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
19361 (WebCore::StyleFlexibleBoxData::operator!=):
19362 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
19363 (WebCore::TimingFunction::TimingFunction):
19364 (WebCore::TimingFunction::operator==):
19365
adele@apple.com5b2b5da2008-09-18 18:49:44 +0000193662008-09-18 Adele Peterson <adele@apple.com>
19367
19368 Reviewed by Dan Bernstein.
19369
19370 Fix RenderStyle leaks.
19371
19372 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
19373
kmccullough@apple.comd4089752008-09-18 17:21:49 +0000193742008-09-18 Kevin McCullough <kmccullough@apple.com>
19375
kmccullough@apple.com76c708f2008-09-18 18:03:23 +000019376 Accidentally checked in code.
19377
19378 * html/HTMLElementFactory.cpp:
19379 (WebCore::frameConstructor):
19380 (WebCore::iframeConstructor):
19381
193822008-09-18 Kevin McCullough <kmccullough@apple.com>
19383
kmccullough@apple.comd4089752008-09-18 17:21:49 +000019384 Reviewed by Tim.
19385
19386 <rdar://problem/5722310> gracefully handle too many console messages
19387 (20904)
19388 - Keep track of the most previous message and then compare it to the
19389 subsequent messages as they come in. If there are multiple of the same
19390 message create a count that indicates the current number.
19391
19392 * manual-tests/inspector/multiple-console-messages.html: Added.
19393 * page/inspector/Console.js:
19394 * page/inspector/inspector.css:
19395
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000193962008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
19397
19398 Reviewed by Alp Toker
19399
19400 https://bugs.webkit.org/show_bug.cgi?id=20830
19401 [GTK] Don't use deprecated pango API
19402
19403 Replace deprecated pango functions with non-deprecated ones for newer
19404 versions of pango
19405
19406 * platform/graphics/gtk/FontGtk.cpp:
19407 (WebCore::getDefaultPangoLayout):
19408 * platform/graphics/gtk/FontPlatformDataPango.cpp:
19409 (WebCore::FontPlatformData::FontPlatformData):
19410
alp@webkit.org2154ef22008-09-18 08:10:49 +0000194112008-09-18 Alp Toker <alp@nuanti.com>
19412
19413 Build fix for r36587. Add new sources (and sort the lists).
19414
19415 * GNUmakefile.am:
19416
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000194172008-09-17 Sam Weinig <sam@webkit.org>
19418
19419 Fix Windows build.
19420
19421 * WebCore.vcproj/WebCore.vcproj:
19422
hyatt@apple.comb3699722008-09-18 05:10:03 +0000194232008-09-17 David Hyatt <hyatt@apple.com>
19424
19425 Switch back to having frameGeometry be virtual in order to keep Mac
19426 the way it used to be.
19427
19428 Reviewed by Sam Weinig
19429
19430 * WebCore.base.exp:
19431 * platform/Widget.cpp:
19432 (WebCore::Widget::setParent):
19433 * platform/Widget.h:
19434 * platform/gtk/WidgetGtk.cpp:
19435 (WebCore::Widget::frameGeometry):
19436 (WebCore::Widget::setFrameGeometry):
19437 * platform/mac/WidgetMac.mm:
19438 (WebCore::Widget::frameGeometry):
19439 (WebCore::Widget::setFrameGeometry):
19440 * platform/qt/WidgetQt.cpp:
19441 (WebCore::Widget::frameGeometry):
19442 (WebCore::Widget::setFrameGeometry):
19443 * platform/win/WidgetWin.cpp:
19444 (WebCore::Widget::frameGeometry):
19445 (WebCore::Widget::setFrameGeometry):
19446 * platform/wx/WidgetWx.cpp:
19447 (WebCore::Widget::frameGeometry):
19448 (WebCore::Widget::setFrameGeometry):
19449 * plugins/PluginView.cpp:
19450 (WebCore::PluginView::setFrameGeometry):
19451 (WebCore::PluginView::geometryChanged):
19452 * plugins/PluginView.h:
19453 * plugins/gtk/PluginViewGtk.cpp:
19454 (WebCore::PluginView::updatePluginWidget):
19455 * plugins/qt/PluginViewQt.cpp:
19456 (WebCore::PluginView::updatePluginWidget):
19457 * plugins/win/PluginViewWin.cpp:
19458 (WebCore::PluginView::updatePluginWidget):
19459
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000194602008-09-17 Sam Weinig <sam@webkit.org>
19461
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000019462 Reviewed by Mark Rowe.
19463
19464 Fix assertion in DOMWindow::adjustWindowRect where we were passing
19465 in garbage values and were getting lucky that they were a not Nan.
19466
19467 * bindings/js/JSDOMWindowBase.cpp:
19468 (WebCore::windowProtoFuncOpen):
19469
194702008-09-17 Sam Weinig <sam@webkit.org>
19471
weinig@apple.com95b14762008-09-18 04:28:40 +000019472 Fix gtk build.
19473
19474 * rendering/style/MatrixTransformOperation.cpp:
19475
194762008-09-17 Sam Weinig <sam@webkit.org>
19477
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000019478 Rubber-stamped with love by David Hyatt.
19479
19480 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
19481 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
19482 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
19483
19484 * GNUmakefile.am:
19485 * WebCore.pro:
19486 * WebCore.vcproj/WebCore.vcproj:
19487 * WebCore.xcodeproj/project.pbxproj:
19488 * WebCoreSources.bkl:
19489 * css/CSSStyleSelector.cpp:
19490 * page/animation/AnimationBase.cpp:
19491 (WebCore::solveEpsilon):
19492 * rendering/RenderLayer.cpp:
19493 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19494 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19495 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19496 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
19497 * rendering/style/RenderStyle.cpp:
19498 * rendering/style/RenderStyle.h:
19499 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19500 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19501 (WebCore::RotateTransformOperation::RotateTransformOperation):
19502 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19503 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19504 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
19505 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19506 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19507 (WebCore::SkewTransformOperation::SkewTransformOperation):
19508 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
19509 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
19510 (WebCore::StyleTransformData::operator!=):
19511 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
19512 (WebCore::TransformOperation::):
19513 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
19514 (WebCore::TransformOperations::TransformOperations):
19515 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
19516 (WebCore::TransformOperations::operator!=):
19517 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
19518 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
19519 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
19520
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000195212008-09-17 Mark Rowe <mrowe@apple.com>
19522
19523 Build fix.
19524
19525 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
19526
hyatt@apple.com76057b42008-09-18 02:48:46 +0000195272008-09-17 David Hyatt <hyatt@apple.com>
19528
19529 (1) Inline a bunch of methods for accessing frame geometry.
19530 (2) Make sure frameGeometry() works even when you have no underlying
19531 native widget.
19532 (3) Cache a frame geometry rect cross-platform (even for widgets that
19533 have underlying native widgets.
19534 (4) PluginView's updateWindow call is now a virtual function on Widget.
19535
19536 Reviewed by Sam Weinig
19537
19538 * ChangeLog:
19539 * WebCore.base.exp:
19540 * platform/Widget.cpp:
19541 (WebCore::Widget::setFrameGeometry):
19542 * platform/Widget.h:
19543 (WebCore::Widget::x):
19544 (WebCore::Widget::y):
19545 (WebCore::Widget::width):
19546 (WebCore::Widget::height):
19547 (WebCore::Widget::size):
19548 (WebCore::Widget::pos):
19549 (WebCore::Widget::frameGeometry):
19550 (WebCore::Widget::resize):
19551 (WebCore::Widget::move):
19552 (WebCore::Widget::isFrameView):
19553 (WebCore::Widget::windowClipRect):
19554 * platform/mac/WidgetMac.mm:
19555 (WebCore::Widget::~Widget):
19556 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
19557 * platform/win/WidgetWin.cpp:
19558 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
19559 * plugins/PluginView.cpp:
19560 (WebCore::PluginView::setFrameGeometry):
19561 (WebCore::PluginView::geometryChanged):
19562 * plugins/PluginView.h:
19563 * plugins/gtk/PluginViewGtk.cpp:
19564 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
19565 * plugins/qt/PluginViewQt.cpp:
19566 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
19567 * plugins/win/PluginViewWin.cpp:
19568 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
19569 * plugins/wx/PluginViewWx.cpp:
19570
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000195712008-09-17 Sam Weinig <sam@webkit.org>
19572
weinig@apple.comb4b66742008-09-18 02:47:55 +000019573 Reviewed by David "Waterman" Hyatt.
19574
19575 Fix a leak of NSViews in WidgetMac.mm.
19576
19577 * platform/mac/WidgetMac.mm:
19578 (WebCore::Widget::~Widget):
19579
195802008-09-17 Sam Weinig <sam@webkit.org>
19581
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000019582 Rubber-stamped by David Waterman Hyatt.
19583
19584 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
19585 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
19586
19587 * GNUmakefile.am:
19588 * WebCore.pro:
19589 * WebCore.vcproj/WebCore.vcproj:
19590 * WebCore.xcodeproj/project.pbxproj:
19591 * WebCoreSources.bkl:
19592 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
19593 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
19594 (WebCore::FillLayer::operator!=):
19595 (WebCore::FillLayer::hasImage):
19596 (WebCore::FillLayer::hasFixedImage):
19597 * rendering/style/RenderStyle.cpp:
19598 * rendering/style/RenderStyle.h:
19599 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
19600 (WebCore::StyleBackgroundData::StyleBackgroundData):
19601 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
19602 (WebCore::StyleBackgroundData::~StyleBackgroundData):
19603 (WebCore::StyleBackgroundData::operator!=):
19604 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
19605 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
19606 (WebCore::StyleBoxData::operator!=):
19607 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
19608 (WebCore::StyleDashboardRegion::operator!=):
19609 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
19610 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
19611 (WebCore::StyleMarqueeData::operator!=):
19612 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
19613 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
19614 (WebCore::StyleMultiColData::operator!=):
19615 (WebCore::StyleMultiColData::ruleWidth):
19616 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
19617 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
19618 (WebCore::StyleVisualData::operator==):
19619
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000196202008-09-17 David Hyatt <hyatt@apple.com>
19621
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000019622 Remove WidgetClient from Widget.
19623
19624 Reviewed by Sam Weinig
19625
19626 * WebCore.xcodeproj/project.pbxproj:
19627 * platform/Widget.h:
19628 (WebCore::Widget::setClient):
19629 (WebCore::Widget::client):
19630 * platform/WidgetClient.h: Removed.
19631 * platform/gtk/WidgetGtk.cpp:
19632 * platform/mac/WidgetMac.mm:
19633 (WebCore::Widget::Widget):
19634 (WebCore::Widget::show):
19635 (WebCore::Widget::hide):
19636 * platform/qt/WidgetQt.cpp:
19637 (WebCore::WidgetPrivate::WidgetPrivate):
19638 * platform/win/WidgetWin.cpp:
19639 (WebCore::Widget::Widget):
19640 * platform/wx/WidgetWx.cpp:
19641 (WebCore::Widget::Widget):
19642
196432008-09-17 David Hyatt <hyatt@apple.com>
19644
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000019645 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
19646 only applies to Scrollbars so the method has been moved there and made
19647 cross-platform. Scrollbar subclasses that have a corresponding native
19648 widget can subclass setEnabled to change the enabled state of the native
19649 widget.
19650
19651 Reviewed by Sam Weinig & Darin Adler
19652
19653 * WebCore.base.exp:
19654 * platform/Scrollbar.cpp:
19655 (WebCore::Scrollbar::Scrollbar):
19656 * platform/Scrollbar.h:
19657 (WebCore::Scrollbar::enabled):
19658 (WebCore::Scrollbar::setEnabled):
19659 * platform/Widget.h:
19660 * platform/gtk/ScrollbarGtk.cpp:
19661 (ScrollbarGtk::setEnabled):
19662 * platform/gtk/ScrollbarGtk.h:
19663 * platform/gtk/WidgetGtk.cpp:
19664 * platform/mac/ScrollbarMac.h:
19665 * platform/mac/ScrollbarMac.mm:
19666 (WebCore::ScrollbarMac::scrollbarHit):
19667 (WebCore::ScrollbarMac::setEnabled):
19668 * platform/mac/WidgetMac.mm:
19669 * platform/qt/WidgetQt.cpp:
19670 (WebCore::WidgetPrivate::WidgetPrivate):
19671 * platform/win/WidgetWin.cpp:
19672 (WebCore::Widget::Widget):
19673 * platform/wx/WidgetWx.cpp:
19674
weinig@apple.com1ea40602008-09-17 23:56:27 +0000196752008-09-17 Sam Weinig <sam@webkit.org>
19676
19677 Rubber-stamped by David Hyatt.
19678
19679 Split all RenderStyle enums into their own file.
19680
19681 * GNUmakefile.am:
19682 * WebCore.vcproj/WebCore.vcproj:
19683 * WebCore.xcodeproj/project.pbxproj:
19684 * rendering/style/BorderValue.h:
19685 * rendering/style/CollapsedBorderValue.h:
19686 * rendering/style/RenderStyle.h:
19687 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
19688 (WebCore::):
19689 * rendering/style/StyleCachedImage.h:
19690 * rendering/style/StyleGeneratedImage.h:
19691 * rendering/style/StyleImage.h:
19692
sfalken@apple.combf270912008-09-17 23:53:17 +0000196932008-09-17 Steve Falkenburg <sfalken@apple.com>
19694
19695 Add back isFrameView check to fix failed assertion during scroll bar teardown.
19696
19697 Reviewed by Dave Hyatt.
19698
19699 * platform/Scrollbar.cpp:
19700 (WebCore::Scrollbar::setParent):
19701
beidson@apple.com4398e482008-09-17 23:30:00 +0000197022008-09-17 Brady Eidson <beidson@apple.com>
19703
19704 Reviewed by Mac build fix
19705
19706 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
19707
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000197082008-09-17 Steve Falkenburg <sfalken@apple.com>
19709
19710 Fix build.
19711
19712 * platform/win/ScrollViewWin.cpp:
19713 (WebCore::ScrollView::setParentVisible):
19714 * plugins/win/PluginViewWin.cpp:
19715 (WebCore::PluginView::init):
19716
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000197172008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
19718
19719 Reviewed by Simon.
19720
19721 [QtWebKit] Implement error handling in TextCodecQt::decode
19722 Use the QTextCodec parsing state to set the sawError out variable. This
19723 is needed to pass Test 70 of acid3. The test case for this bug is
19724 fast/encoding/invalid-xml.html that is now partially passed. To pass
19725 it completely the Qt text codecs need to be adjusted to have proper
19726 error handling.
19727
19728 * platform/text/qt/TextCodecQt.cpp:
19729 (WebCore::TextCodecQt::decode):
19730
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000197312008-09-17 Sam Weinig <sam@webkit.org>
19732
19733 Rubber-stamped by Dave Hyatt.
19734
19735 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
19736 out of RenderStyle.h/cpp
19737
19738 * GNUmakefile.am:
19739 * WebCore.pro:
19740 * WebCore.vcproj/WebCore.vcproj:
19741 * WebCore.xcodeproj/project.pbxproj:
19742 * WebCoreSources.bkl:
19743 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
19744 (WebCore::BorderData::hasBorderRadius):
19745 (WebCore::BorderData::borderLeftWidth):
19746 (WebCore::BorderData::borderRightWidth):
19747 (WebCore::BorderData::borderTopWidth):
19748 (WebCore::BorderData::borderBottomWidth):
19749 (WebCore::BorderData::operator!=):
19750 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
19751 (WebCore::):
19752 (WebCore::BorderValue::BorderValue):
19753 (WebCore::BorderValue::nonZero):
19754 (WebCore::BorderValue::isTransparent):
19755 (WebCore::BorderValue::isVisible):
19756 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
19757 (WebCore::):
19758 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
19759 (WebCore::CollapsedBorderValue::operator==):
19760 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
19761 (WebCore::OutlineValue::OutlineValue):
19762 * rendering/style/RenderStyle.cpp:
19763 * rendering/style/RenderStyle.h:
19764 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
19765 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
19766 (WebCore::StyleSurroundData::operator!=):
19767
bdakin@apple.com06b97182008-09-17 23:00:29 +0000197682008-09-17 Beth Dakin <bdakin@apple.com>
19769
19770 Reviewed by Darin Adler.
19771
19772 This is a better fix for: Invalid CSS code crashes Safari
19773 https://bugs.webkit.org/show_bug.cgi?id=20512
19774
19775 The spec indicates that the only valid input for a counter is a
19776 number or an identifier. So that is exactly what we allow.
19777
19778 * css/CSSParser.cpp:
19779 (WebCore::CSSParser::parseCounterContent):
19780
alp@webkit.org97ba9222008-09-17 22:16:26 +0000197812008-09-17 Alp Toker <alp@nuanti.com>
19782
19783 GTK+ build fix. Adapt to use PlatformWidget functions.
19784
19785 * platform/gtk/ScrollViewGtk.cpp:
19786 (WebCore::ScrollViewScrollbar::geometryChanged):
19787 (WebCore::ScrollView::addChild):
19788 (WebCore::ScrollView::removeChild):
19789 * platform/gtk/ScrollbarGtk.cpp:
19790 (ScrollbarGtk::ScrollbarGtk):
19791 (ScrollbarGtk::~ScrollbarGtk):
19792 (ScrollbarGtk::geometryChanged):
19793
weinig@apple.com930ed392008-09-17 22:00:45 +0000197942008-09-17 Sam Weinig <sam@webkit.org>
19795
19796 Reviewed by Adele Peterson.
19797
19798 Patch for <rdar://problem/6133884>
19799 Calling window.resizeTo() on a subframe shouldn't change the window size
19800
19801 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
19802
19803 * page/DOMWindow.cpp:
19804 (WebCore::DOMWindow::moveBy):
19805 (WebCore::DOMWindow::moveTo):
19806 (WebCore::DOMWindow::resizeBy):
19807 (WebCore::DOMWindow::resizeTo):
19808
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000198092008-09-17 Beth Dakin <bdakin@apple.com>
19810
19811 Reviewed by Adam Roben.
19812
19813 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
19814 code crashes Safari
19815 and corresponding: <rdar://problem/6173832>
19816
19817 Reading through the spec, it seems like a function is not valid
19818 input for a counter. So this patch checks for that and bails in the
19819 case of invalid input.
19820
19821 * css/CSSParser.cpp:
19822 (WebCore::CSSParser::parseCounterContent):
19823
antti@apple.comb37d4052008-09-17 21:14:13 +0000198242008-09-17 Greg Bolsinga <bolsinga@apple.com>
19825
19826 Reviewed by Antti Koivisto.
19827
19828 Fix <rdar://problem/6227089>
19829 Crash in WebCore::Frame::setNeedsReapplyStyles()
19830
19831 View is null checked elsewhere too.
19832
19833 * page/Frame.cpp:
19834 (WebCore::Frame::setNeedsReapplyStyles):
19835
hyatt@apple.com8e340252008-09-17 20:59:45 +0000198362008-09-17 David Hyatt <hyatt@apple.com>
19837
19838 Make the notion of having a native widget backing a Widget cross-platform.
19839 The PlatformWidget abstraction (which already existed) is used for this.
19840 Windows = HWND
19841 Qt = QWidget
19842 Mac = NSView
19843 wx = wxWindow
19844 Gtk = GtkWidget
19845
19846 There are new cross-platform methods that replace all of the unique
19847 platform-specific methods.
19848 platformWidget()
19849 setPlatformWidget()
19850
19851 For plugins, on every platform except Qt on Windows, the plugin's native
19852 widget is now stored in the Widget base class. Since Qt on Windows uses
19853 HWNDs for plugins instead of QWidget, it is the only platform to keep the
19854 m_window variable in PluginView.
19855
19856 Reviewed by Sam Weinig
19857
19858 * WebCore.base.exp:
19859 * bindings/js/ScriptControllerMac.mm:
19860 (WebCore::ScriptController::createScriptInstanceForWidget):
19861 * page/mac/AccessibilityObjectWrapper.mm:
19862 (-[AccessibilityObjectWrapper attachmentView]):
19863 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
19864 * page/mac/EventHandlerMac.mm:
19865 (WebCore::EventHandler::passMouseDownEventToWidget):
19866 (WebCore::EventHandler::mouseDownViewIfStillGood):
19867 (WebCore::EventHandler::passWheelEventToWidget):
19868 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
19869 * platform/Widget.cpp:
19870 (WebCore::Widget::init):
19871 (WebCore::Widget::setParent):
19872 (WebCore::Widget::releasePlatformWidget):
19873 (WebCore::Widget::retainPlatformWidget):
19874 * platform/Widget.h:
19875 (WebCore::Widget::platformWidget):
19876 (WebCore::Widget::setPlatformWidget):
19877 * platform/gtk/WidgetGtk.cpp:
19878 (WebCore::Widget::Widget):
19879 (WebCore::Widget::setFocus):
19880 (WebCore::gdkDrawable):
19881 (WebCore::Widget::setCursor):
19882 (WebCore::Widget::show):
19883 (WebCore::Widget::hide):
19884 (WebCore::Widget::setEnabled):
19885 (WebCore::Widget::isEnabled):
19886 (WebCore::Widget::paint):
19887 * platform/mac/PlatformScreenMac.mm:
19888 (WebCore::screenRect):
19889 (WebCore::screenAvailableRect):
19890 * platform/mac/ScrollViewMac.mm:
19891 (WebCore::ScrollView::scrollView):
19892 (WebCore::ScrollView::update):
19893 (WebCore::ScrollView::inWindow):
19894 * platform/mac/ScrollbarMac.mm:
19895 (WebCore::ScrollbarMac::ScrollbarMac):
19896 (WebCore::ScrollbarMac::~ScrollbarMac):
19897 (WebCore::ScrollbarMac::updateThumbPosition):
19898 (WebCore::ScrollbarMac::updateThumbProportion):
19899 (WebCore::ScrollbarMac::scrollbarHit):
19900 * platform/mac/WidgetMac.mm:
19901 (WebCore::Widget::Widget):
19902 (WebCore::Widget::setEnabled):
19903 (WebCore::Widget::isEnabled):
19904 (WebCore::Widget::setFocus):
19905 (WebCore::Widget::getOuterView):
19906 (WebCore::Widget::paint):
19907 (WebCore::Widget::invalidate):
19908 (WebCore::Widget::invalidateRect):
19909 (WebCore::Widget::setIsSelected):
19910 (WebCore::Widget::releasePlatformWidget):
19911 (WebCore::Widget::retainPlatformWidget):
19912 * platform/qt/WidgetQt.cpp:
19913 (WebCore::WidgetPrivate::WidgetPrivate):
19914 (WebCore::Widget::Widget):
19915 (WebCore::Widget::setFrameGeometry):
19916 (WebCore::Widget::show):
19917 (WebCore::Widget::hide):
19918 (WebCore::Widget::isEnabled):
19919 (WebCore::Widget::setEnabled):
19920 (WebCore::Widget::invalidateRect):
19921 (WebCore::Widget::containingWindow):
19922 * platform/win/WidgetWin.cpp:
19923 (WebCore::Widget::Widget):
19924 * platform/wx/WidgetWx.cpp:
19925 (WebCore::Widget::Widget):
19926 (WebCore::Widget::frameGeometry):
19927 (WebCore::Widget::setFocus):
19928 (WebCore::Widget::setCursor):
19929 (WebCore::Widget::show):
19930 (WebCore::Widget::hide):
19931 (WebCore::Widget::setFrameGeometry):
19932 (WebCore::Widget::setEnabled):
19933 (WebCore::Widget::isEnabled):
19934 (WebCore::Widget::invalidate):
19935 (WebCore::Widget::invalidateRect):
19936 (WebCore::Widget::paint):
19937 * plugins/PluginView.cpp:
19938 (WebCore::PluginView::PluginView):
19939 * plugins/PluginView.h:
19940 (WebCore::PluginView::platformPluginWidget):
19941 * plugins/gtk/PluginViewGtk.cpp:
19942 (WebCore::PluginView::updateWindow):
19943 (WebCore::PluginView::setFocus):
19944 (WebCore::PluginView::show):
19945 (WebCore::PluginView::hide):
19946 (WebCore::PluginView::setParent):
19947 (WebCore::PluginView::setNPWindowRect):
19948 (WebCore::PluginView::setParentVisible):
19949 (WebCore::PluginView::getValue):
19950 (WebCore::PluginView::forceRedraw):
19951 (WebCore::PluginView::init):
19952 * plugins/qt/PluginViewQt.cpp:
19953 (WebCore::PluginView::updateWindow):
19954 (WebCore::PluginView::setFocus):
19955 (WebCore::PluginView::show):
19956 (WebCore::PluginView::hide):
19957 (WebCore::PluginView::setParent):
19958 (WebCore::PluginView::setNPWindowRect):
19959 (WebCore::PluginView::setParentVisible):
19960 (WebCore::PluginView::getValue):
19961 (WebCore::PluginView::~PluginView):
19962 (WebCore::PluginView::init):
19963 * plugins/win/PluginViewWin.cpp:
19964 (WebCore::PluginView::updateWindow):
19965 (WebCore::PluginView::setFocus):
19966 (WebCore::PluginView::show):
19967 (WebCore::PluginView::hide):
19968 (WebCore::PluginView::paint):
19969 (WebCore::PluginView::setParent):
19970 (WebCore::PluginView::setParentVisible):
19971 (WebCore::PluginView::setNPWindowRect):
19972 (WebCore::PluginView::stop):
19973 (WebCore::PluginView::invalidateRect):
19974 (WebCore::PluginView::forceRedraw):
19975 (WebCore::PluginView::~PluginView):
19976 (WebCore::PluginView::init):
19977
weinig@apple.comf713d132008-09-17 20:16:48 +0000199782008-09-17 Sam Weinig <sam@webkit.org>
19979
19980 Fix assert.
19981
19982 * platform/Widget.cpp:
19983 (WebCore::Widget::setParent):
19984
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000199852008-09-17 David Hyatt <hyatt@apple.com>
19986
19987 Beginnings of Widget refactoring (in order to make the mixing of
19988 widgets with and without corresponding native widgets more cross-platform).
19989
19990 This first patch makes the concept of a parent ScrollView cross-platform.
19991
19992 Note the similarity of the show/hide methods on the three PluginViews. This
19993 will be refactored better in a later patch so that they can all share
19994 a base class Widget show/hide method. For now the changes were made
19995 simply to be able to bring WidgetWin's setParent method up into Widget.
19996
19997 Reviewed by Sam Weinig
19998
19999 * WebCore.base.exp:
20000 * platform/ScrollView.h:
20001 * platform/Widget.cpp:
20002 (WebCore::Widget::init):
20003 (WebCore::Widget::setParent):
20004 * platform/Widget.h:
20005 (WebCore::Widget::isSelfVisible):
20006 (WebCore::Widget::isParentVisible):
20007 (WebCore::Widget::isVisible):
20008 (WebCore::Widget::setParentVisible):
20009 (WebCore::Widget::isPluginView):
20010 (WebCore::Widget::parent):
20011 (WebCore::Widget::handleEvent):
20012 (WebCore::Widget::geometryChanged):
20013 * platform/gtk/WidgetGtk.cpp:
20014 (WebCore::Widget::Widget):
20015 * platform/mac/ScrollViewMac.mm:
20016 (WebCore::ScrollView::addChild):
20017 (WebCore::ScrollView::removeChild):
20018 * platform/mac/ScrollbarMac.mm:
20019 (WebCore::ScrollbarMac::~ScrollbarMac):
20020 * platform/mac/WidgetMac.mm:
20021 (WebCore::Widget::Widget):
20022 (WebCore::Widget::~Widget):
20023 * platform/qt/WidgetQt.cpp:
20024 (WebCore::WidgetPrivate::WidgetPrivate):
20025 (WebCore::Widget::Widget):
20026 (WebCore::Widget::topLevel):
20027 * platform/win/ScrollViewWin.cpp:
20028 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
20029 (WebCore::ScrollView::setAncestorVisible):
20030 (WebCore::ScrollView::show):
20031 (WebCore::ScrollView::hide):
20032 * platform/win/WidgetWin.cpp:
20033 (WebCore::Widget::Widget):
20034 (WebCore::Widget::setParent):
20035 * platform/wx/WidgetWx.cpp:
20036 (WebCore::Widget::Widget):
20037 * plugins/PluginView.cpp:
20038 (WebCore::PluginView::PluginView):
20039 * plugins/PluginView.h:
20040 * plugins/gtk/PluginViewGtk.cpp:
20041 (WebCore::PluginView::show):
20042 (WebCore::PluginView::hide):
20043 (WebCore::PluginView::setParentVisible):
20044 * plugins/qt/PluginViewQt.cpp:
20045 (WebCore::PluginView::show):
20046 (WebCore::PluginView::hide):
20047 (WebCore::PluginView::setParentVisible):
20048 * plugins/win/PluginViewWin.cpp:
20049 (WebCore::PluginView::show):
20050 (WebCore::PluginView::hide):
20051 (WebCore::PluginView::setParentVisible):
20052
ap@webkit.org18da1a32008-09-17 16:50:22 +0000200532008-09-17 Alexey Proskuryakov <ap@webkit.org>
20054
20055 Reviewed by Adam Roben.
20056
20057 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
20058
20059 * platform/text/TextCodecICU.cpp:
20060 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
20061
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000200622008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
20063
20064 Fix the QtWebKit/Mac build
20065
20066 * platform/qt/ScrollViewQt.cpp: add include
20067
ap@webkit.org18da1a32008-09-17 16:50:22 +0000200682008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000020069
20070 Add a #define to control whether or not to use an NSScroller on Mac.
20071 This ifdef will allow the new NSView-less NSScroller on Mac to be
20072 developed side by side with the current one.
20073
20074 The new scroller paints a debug red if turned on (although due to
20075 Widget issues you won't see anything paint yet).
20076
20077 Reviewed by olliej
20078
20079 * platform/Scrollbar.cpp:
20080 * platform/Scrollbar.h:
20081 * platform/mac/ScrollbarMac.h:
20082 * platform/mac/ScrollbarMac.mm:
20083 * platform/mac/ScrollbarThemeMac.cpp:
20084 (WebCore::ScrollbarThemeMac::paint):
20085 * platform/mac/ScrollbarThemeMac.h:
20086
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000200872008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
20088
20089 Reviewed by Alp Toker.
20090
20091 http://bugs.webkit.org/show_bug.cgi?id=20854
20092 [GTK] Windows can be not realized in ScrollView::update
20093
20094 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
20095
20096 * platform/gtk/ScrollViewGtk.cpp:
20097 (WebCore::ScrollView::update):
20098
alp@webkit.org226f72a2008-09-17 04:22:02 +0000200992008-09-16 Alp Toker <alp@nuanti.com>
20100
20101 Suggested by Dave Hyatt.
20102
20103 Build fix and cleanup. Rename ScrollBar to Scrollbar.
20104
20105 * GNUmakefile.am:
20106 * WebCore.pro:
20107 * WebCore.vcproj/WebCore.vcproj:
20108 * WebCore.xcodeproj/project.pbxproj:
20109 * WebCoreSources.bkl:
20110 * editing/EditorCommand.cpp:
20111 * page/EventHandler.cpp:
20112 * page/gtk/EventHandlerGtk.cpp:
20113 * page/mac/EventHandlerMac.mm:
20114 * page/mac/FrameMac.mm:
20115 * page/qt/EventHandlerQt.cpp:
20116 * page/wx/EventHandlerWx.cpp:
20117 * platform/PopupMenu.h:
20118 * platform/ScrollBar.cpp: Removed.
20119 * platform/ScrollBar.h: Removed.
20120 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
20121 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
20122 * platform/gtk/ScrollbarGtk.cpp:
20123 (ScrollbarGtk::ScrollbarGtk):
20124 * platform/gtk/ScrollbarGtk.h:
20125 * platform/mac/ScrollbarMac.h:
20126 * platform/qt/ScrollViewQt.cpp:
20127 * platform/qt/ScrollbarQt.cpp:
20128 * platform/qt/ScrollbarThemeQt.cpp:
20129 * platform/win/PlatformScrollBar.h:
20130 * platform/win/PopupMenuWin.cpp:
20131 * platform/win/ScrollViewWin.cpp:
20132 * platform/win/ScrollbarThemeWin.cpp:
20133 * platform/wx/ScrollViewWx.cpp:
20134 * platform/wx/TemporaryLinkStubs.cpp:
20135 * rendering/HitTestResult.cpp:
20136 * rendering/RenderLayer.cpp:
20137 * rendering/RenderTextControl.cpp:
20138
hyatt@apple.com7597c172008-09-17 02:15:08 +0000201392008-09-16 David Hyatt <hyatt@apple.com>
20140
hyatt@apple.comfde412d2008-09-17 03:49:48 +000020141 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
20142 it can be called from ScrollbarQt.
20143
20144 * platform/ScrollBar.cpp:
20145 (WebCore::Scrollbar::moveThumb):
20146 (WebCore::Scrollbar::handleMouseMoveEvent):
20147 (WebCore::Scrollbar::handleMousePressEvent):
20148 * platform/ScrollBar.h:
20149 * platform/qt/ScrollViewQt.cpp:
20150 * platform/qt/ScrollbarQt.cpp:
20151 (WebCore::Scrollbar::handleContextMenuEvent):
20152
201532008-09-16 David Hyatt <hyatt@apple.com>
20154
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000020155 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
20156 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
20157 now just use Scrollbar.
20158
20159 Reviewed by Sam Weinig
20160
20161 * GNUmakefile.am:
20162 * WebCore.pro:
20163 * WebCore.vcproj/WebCore.vcproj:
20164 * WebCore.xcodeproj/project.pbxproj:
20165 * page/mac/FrameMac.mm:
20166 * platform/PopupMenu.h:
20167 (WebCore::PopupMenu::scrollbar):
20168 * platform/ScrollBar.cpp:
20169 (WebCore::createNativeScrollbar):
20170 * platform/ScrollBar.h:
20171 * platform/gtk/PlatformScrollBar.h: Removed.
20172 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
20173 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
20174 (gtkScrollEventCallback):
20175 (ScrollbarGtk::ScrollbarGtk):
20176 (ScrollbarGtk::~ScrollbarGtk):
20177 (ScrollbarGtk::updateThumbPosition):
20178 (ScrollbarGtk::updateThumbProportion):
20179 (ScrollbarGtk::setFrameGeometry):
20180 (ScrollbarGtk::geometryChanged):
20181 (ScrollbarGtk::gtkValueChanged):
20182 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
20183 * platform/mac/PlatformScrollBar.h: Removed.
20184 * platform/mac/PlatformScrollBarMac.mm: Removed.
20185 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
20186 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
20187 (-[WebCoreScrollBar initWithScrollbarMac:]):
20188 (-[WebCoreScrollBar detachScrollbarMac]):
20189 (WebCore::Scrollbar::createNativeScrollbar):
20190 (WebCore::ScrollbarMac::ScrollbarMac):
20191 (WebCore::ScrollbarMac::~ScrollbarMac):
20192 (WebCore::ScrollbarMac::updateThumbPosition):
20193 (WebCore::ScrollbarMac::updateThumbProportion):
20194 (WebCore::ScrollbarMac::scrollbarHit):
20195 * platform/qt/PlatformScrollBar.h: Removed.
20196 * platform/qt/PlatformScrollBarQt.cpp: Removed.
20197 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
20198 (WebCore::Scrollbar::handleContextMenuEvent):
20199 * rendering/HitTestResult.cpp:
20200 * rendering/RenderLayer.cpp:
20201 (WebCore::RenderLayer::createScrollbar):
20202 (WebCore::RenderLayer::destroyScrollbar):
20203 * rendering/RenderLayer.h:
20204 * rendering/RenderListBox.cpp:
20205 (WebCore::RenderListBox::~RenderListBox):
20206 (WebCore::RenderListBox::updateFromElement):
20207 (WebCore::RenderListBox::isPointInOverflowControl):
20208 * rendering/RenderObject.h:
20209 * rendering/RenderTextControl.cpp:
20210
202112008-09-16 David Hyatt <hyatt@apple.com>
20212
hyatt@apple.com7597c172008-09-17 02:15:08 +000020213 Make the scrollbar resizer-dodging logic cross-platform in the
20214 Scrollbar class.
20215
20216 Reviewed by Sam Weinig
20217
20218 * platform/ScrollBar.cpp:
20219 (WebCore::Scrollbar::setFrameGeometry):
20220 (WebCore::Scrollbar::setParent):
20221 (WebCore::Scrollbar::windowClipRect):
20222 * platform/ScrollBar.h:
20223 * platform/ScrollView.h:
20224 (WebCore::ScrollView::windowResizerRect):
20225 (WebCore::ScrollView::resizerOverlapsContent):
20226 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
20227 * platform/Widget.h:
20228 (WebCore::Widget::setParent):
20229 * platform/mac/WidgetMac.mm:
20230 (WebCore::Widget::convertToContainingWindow):
20231 * platform/win/PlatformScrollBar.h:
20232 * platform/win/PlatformScrollBarWin.cpp:
20233
mitz@apple.com6d925202008-09-16 17:34:10 +0000202342008-09-16 Dan Bernstein <mitz@apple.com>
20235
mitz@apple.comd9462a52008-09-16 17:40:20 +000020236 Reviewed by Darin Adler.
20237
20238 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
20239 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
20240
20241 Covered by fast/repaint/4776765.html
20242
20243 * rendering/RenderBlock.cpp:
20244 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
20245 did not have layout in the beginning.
20246 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
20247 layout in the beginning, repaint it in its new position, to compensate
20248 for the above (regardless of whether it "moved").
20249 * rendering/RenderObject.cpp:
20250 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
20251 about generalizing this fix in the future.
20252
202532008-09-16 Dan Bernstein <mitz@apple.com>
20254
mitz@apple.com6d925202008-09-16 17:34:10 +000020255 Reviewed by Dave Hyatt.
20256
20257 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
20258 Div does not notice when grandparent changes height
20259
20260 Test: fast/block/basic/quirk-percent-height-grandchild.html
20261
20262 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
20263 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
20264
20265 Test: fast/replaced/percent-height-in-anonymous-block.html
20266
20267 Added a two-way mapping between boxes with percentage heights and
20268 their non-parent ancestors up to the one the height is computed relative
20269 to. In quirks mode (the first bug), this can be any number of containing
20270 block with auto height. In strict mode (the second bug) this can be
20271 the containing block of an anonymous block containing a replaced
20272 element.
20273
20274 * rendering/RenderBlock.cpp:
20275 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
20276 mapping to/from this block to percentage-height descendants.
20277 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
20278 percentage-height descendants (and their containing block ancestry chain
20279 up to this block) for layout. This ensures that those descendants whose
20280 height depends on the height of this block (or an ancestor) are updated.
20281 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
20282 a two-way mapping between this block and the given box.
20283 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
20284 all the mapping to/from this box.
20285 * rendering/RenderBlock.h:
20286 * rendering/RenderBox.cpp:
20287 (WebCore::RenderBox::setStyle): Added calls to
20288 removePercentHeightDescendant() when style changes and the box
20289 previously had a percentage height. An exception is when the style
20290 change does not require layout, in which case the box still has
20291 a percentage height and the mappings are valid. In all other cases,
20292 any required mappings will be (re-)established during layout.
20293 (WebCore::RenderBox::destroy): Added a call to
20294 removePercentHeightDescendant.
20295 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
20296 mode, if a higher-than-parent containing block is affecting the box's
20297 height, creates a mapping between the box and that block.
20298 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
20299 anonymous containing blocks, if any, and when that happens, use
20300 addPercentHeightDescendant() to ensure that the non-anonymous block
20301 is aware of the dependent percent-height box.
20302
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000203032008-09-16 Dirk Schulze <vbs85@gmx.de>
20304
20305 Reviewed by Oliver Hunt and Alp Toker.
20306
20307 Implemented toDataURL in Cairo. Only PNG support
20308 at the moment.
20309
20310 Qt, Cairo and wx require toDataURL implementations
20311 https://bugs.webkit.org/show_bug.cgi?id=17719
20312
20313 * platform/MIMETypeRegistry.cpp:
20314 (WebCore::initializeSupportedImageMIMETypesForEncoding):
20315 * platform/graphics/cairo/ImageBufferCairo.cpp:
20316 (WebCore::ImageBuffer::ImageBuffer):
20317 (WebCore::writeFunction):
20318 (WebCore::ImageBuffer::toDataURL):
20319
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000203202008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
20321
20322 Reviewed by Simon.
20323
20324 Hide unused media element controls in the QtWebKit port
20325
20326 * platform/qt/html4-adjustments-qt.css
20327
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000203282008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
20329
20330 Reviewed by Simon.
20331
20332 Fix compilation of the Qt scrollbar code.
20333
20334 * platform/qt/PlatformScrollBarQt.cpp:
20335 (WebCore::scPart):
20336 (WebCore::styleOptionSlider):
20337 (WebCore::thumbLength):
20338 (WebCore::pixelPosToRangeValue):
20339 (WebCore::PlatformScrollbar::handleContextMenuEvent):
20340
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000203412008-09-16 Adam Treat <treat@kde.org>
20342
20343 Reviewed by Anders Carlsson.
20344
20345 Prevent accesses off of the end of the buffer introduced in r36450
20346 and when checking for descriptions of mime. Also, coding style fix.
20347
20348 * plugins/qt/PluginPackageQt.cpp:
20349 (WebCore::PluginPackage::fetchInfo):
20350
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000203512008-09-15 Rob Buis <buis@kde.org>
20352
20353 Reviewed by Eric.
20354
20355 https://bugs.webkit.org/show_bug.cgi?id=20634
20356 SVG transform attribute is ignored by <use> in <clipPath>
20357
20358 Transform the paths with the local transform when part
20359 of a clip path.
20360
20361 Test: svg/custom/use-clipped-transform.svg
20362
20363 * svg/SVGClipPathElement.cpp:
20364 (WebCore::SVGClipPathElement::canvasResource):
20365 * svg/SVGStyledTransformableElement.cpp:
20366 (WebCore::SVGStyledTransformableElement::toClipPath):
20367 * svg/SVGStyledTransformableElement.h:
20368
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000203692008-09-15 Dave Hyatt <hyatt@apple.com>
20370
20371 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
20372 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
20373
20374 Reviewed by Sam Weinig
20375
20376 * platform/ScrollBar.cpp:
20377 (WebCore::thumbUnderMouse):
20378 (WebCore::Scrollbar::autoscrollPressedPart):
20379 (WebCore::Scrollbar::startTimerIfNeeded):
20380 (WebCore::moveThumb):
20381 (WebCore::Scrollbar::handleMouseMoveEvent):
20382 (WebCore::Scrollbar::handleMousePressEvent):
20383 * platform/ScrollBar.h:
20384 (WebCore::Scrollbar::pressedPos):
20385 (WebCore::Scrollbar::pixelStep):
20386 (WebCore::Scrollbar::setPressedPos):
20387 * platform/ScrollbarTheme.h:
20388 (WebCore::ScrollbarTheme::thumbPosition):
20389 (WebCore::ScrollbarTheme::thumbLength):
20390 (WebCore::ScrollbarTheme::trackPosition):
20391 (WebCore::ScrollbarTheme::trackLength):
20392 * platform/ScrollbarThemeComposite.cpp:
20393 (WebCore::ScrollbarThemeComposite::trackPosition):
20394 * platform/ScrollbarThemeComposite.h:
20395 * platform/qt/PlatformScrollBarQt.cpp:
20396 (WebCore::PlatformScrollbar::PlatformScrollbar):
20397 (WebCore::):
20398 * platform/qt/ScrollbarThemeQt.cpp:
20399 (WebCore::styleOptionSlider):
20400 (WebCore::ScrollbarThemeQt::hitTest):
20401 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
20402 (WebCore::ScrollbarThemeQt::invalidatePart):
20403 (WebCore::ScrollbarThemeQt::thumbPosition):
20404 (WebCore::):
20405 * platform/qt/ScrollbarThemeQt.h:
20406 * platform/win/ScrollbarThemeSafari.cpp:
20407 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
20408 * platform/win/ScrollbarThemeSafari.h:
20409 * platform/win/ScrollbarThemeWin.cpp:
20410 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
20411 * platform/win/ScrollbarThemeWin.h:
20412
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000204132008-09-15 David Smith <catfish.man@gmail.com>
20414
20415 Reviewed by Sam Weinig.
20416
20417 https://bugs.webkit.org/show_bug.cgi?id=20180
20418
20419 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
20420
20421 * GNUmakefile.am: Add CSSNthSelector
20422 * WebCore.pro: Add CSSNthSelector
20423 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
20424 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
20425 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
20426 * css/CSSNthSelector.cpp: Added.
20427 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
20428 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
20429 * css/CSSNthSelector.h: Added.
20430 (WebCore::CSSNthSelector::CSSNthSelector):
20431 (WebCore::CSSNthSelector::~CSSNthSelector):
20432 * css/CSSParser.cpp:
20433 (WebCore::CSSParser::createFloatingNthSelector):
20434 * css/CSSParser.h:
20435 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
20436 (WebCore::CSSSelector::CSSSelector):
20437 * css/CSSStyleSelector.cpp:
20438 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
20439
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000204402008-09-15 Matt Lilek <webkit@mattlilek.com>
20441
20442 Reviewed by Tim Hatcher.
20443
20444 Clean up some inspector JS callbacks to remove an extra return.
20445
20446 * page/InspectorController.cpp:
20447 (WebCore::hideDOMNodeHighlight):
20448 (WebCore::loaded):
20449 (WebCore::unloading):
20450 (WebCore::attach):
20451 (WebCore::detach):
20452 (WebCore::startDebuggingAndReloadInspectedPage):
20453 (WebCore::stopDebugging):
20454 (WebCore::debuggerAttached):
20455 (WebCore::pauseOnExceptions):
20456 (WebCore::pauseInDebugger):
20457 (WebCore::resumeDebugger):
20458 (WebCore::stepOverStatementInDebugger):
20459 (WebCore::stepIntoStatementInDebugger):
20460 (WebCore::stepOutOfFunctionInDebugger):
20461 (WebCore::isWindowVisible):
20462 (WebCore::closeWindow):
20463
hyatt@apple.com8e809932008-09-16 02:29:09 +0000204642008-09-15 Dave Hyatt <hyatt@apple.com>
20465
20466 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
20467 now share most of their code.
20468
20469 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
20470 also is never used in our code anyway.
20471
20472 Reviewed by Sam Weinig
20473
20474 * WebCore.vcproj/WebCore.vcproj:
20475 * platform/ScrollTypes.h:
20476 (WebCore::):
20477 * platform/ScrollbarThemeComposite.cpp:
20478 (WebCore::ScrollbarThemeComposite::splitTrack):
20479 (WebCore::ScrollbarThemeComposite::thumbLength):
20480 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
20481 * platform/ScrollbarThemeComposite.h:
20482 * platform/mac/PlatformScrollBarMac.mm:
20483 (NSControlSizeForScrollBarControlSize):
20484 * platform/win/PlatformScrollBar.h:
20485 * platform/win/PlatformScrollBarSafari.cpp: Removed.
20486 * platform/win/PlatformScrollBarWin.cpp:
20487 (WebCore::PlatformScrollbar::PlatformScrollbar):
20488 * platform/win/ScrollbarThemeSafari.cpp:
20489 (WebCore::ScrollbarTheme::nativeTheme):
20490 (WebCore::):
20491 (WebCore::scrollbarControlStateFromThemeState):
20492 (WebCore::ScrollbarThemeSafari::hasButtons):
20493 (WebCore::ScrollbarThemeSafari::hasThumb):
20494 (WebCore::buttonRepaintRect):
20495 (WebCore::ScrollbarThemeSafari::backButtonRect):
20496 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
20497 (WebCore::trackRepaintRect):
20498 (WebCore::ScrollbarThemeSafari::trackRect):
20499 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
20500 (WebCore::ScrollbarThemeSafari::paintTrack):
20501 (WebCore::ScrollbarThemeSafari::paintButton):
20502 (WebCore::ScrollbarThemeSafari::paintThumb):
20503 * platform/win/ScrollbarThemeSafari.h:
20504 * platform/win/ScrollbarThemeWin.cpp:
20505 * platform/win/ScrollbarThemeWin.h:
20506
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000205072008-09-15 Chris Fleizach <cfleizach@apple.com>
20508
20509 Reviewed by Darin Adler, Beth Dakin
20510
20511 <rdar://problem/4003789> Expose lists as AXList
20512 <rdar://problem/5707399> VO: Definition lists not announced in Safari
20513
20514 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
20515 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
20516 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
20517 as does each <dd> tag ("definition")
20518
20519 Test: accessibility/lists.html
20520
20521 * GNUmakefile.am:
20522 * WebCore.pro:
20523 * WebCore.vcproj/WebCore.vcproj:
20524 * WebCore.xcodeproj/project.pbxproj:
20525 * WebCoreSources.bkl:
20526 * page/AXObjectCache.cpp:
20527 * page/AccessibilityList.cpp: Added.
20528 * page/AccessibilityList.h: Added.
20529 * page/AccessibilityObject.h:
20530 * page/AccessibilityRenderObject.cpp:
20531 * page/AccessibilityTable.cpp:
20532 * page/mac/AccessibilityObjectWrapper.mm:
20533 * page/mac/WebCoreViewFactory.h:
20534 * platform/LocalizedStrings.h:
20535 * platform/mac/LocalizedStringsMac.mm:
20536 * platform/qt/Localizations.cpp:
20537
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000205382008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
20539
20540 Reviewed by Eric.
20541
20542 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
20543 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
20544
20545 Several renames:
20546 dispatchHTMLEvent -> dispatchEventForType
20547 setHTMLEventListener -> setEventListenerForType
20548 getHTMLEventListener -> eventListenerForType
20549 removeHTMLEventListener -> removeEventListenerForType
20550 isHTMLEventListener -> isAttachedToEventTargetNode
20551 ...
20552
20553 Similar renames for the dispatch/get/set/*Window*Event functions.
20554 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
20555
20556 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
20557 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
20558
20559 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
20560 SVG is able to use the code as well now. This affects most files in html/.
20561
20562 No functional changes.
20563
20564 * GNUmakefile.am:
20565 * WebCore.pro:
20566 * WebCore.vcproj/WebCore.vcproj:
20567 * WebCore.xcodeproj/project.pbxproj:
20568 * bindings/js/JSDOMWindowBase.cpp:
20569 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
20570 (WebCore::JSDOMWindowBase::setListener):
20571 (WebCore::JSDOMWindowBase::getListener):
20572 (WebCore::JSDOMWindowBase::findJSEventListener):
20573 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
20574 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
20575 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
20576 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
20577 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
20578 * bindings/js/JSDOMWindowBase.h:
20579 * bindings/js/JSEventListener.cpp:
20580 (WebCore::JSAbstractEventListener::handleEvent):
20581 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
20582 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
20583 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
20584 (WebCore::JSEventListener::JSEventListener):
20585 (WebCore::JSEventListener::~JSEventListener):
20586 (WebCore::JSLazyEventListener::JSLazyEventListener):
20587 (WebCore::eventParameterName):
20588 (WebCore::JSLazyEventListener::parseCode):
20589 (WebCore::getNodeEventListener):
20590 * bindings/js/JSEventListener.h:
20591 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
20592 (WebCore::JSUnprotectedEventListener::create):
20593 (WebCore::JSEventListener::create):
20594 (WebCore::JSLazyEventListener::):
20595 (WebCore::JSLazyEventListener::create):
20596 * bindings/js/JSEventTargetNode.cpp:
20597 (WebCore::JSEventTargetNode::setListener):
20598 (WebCore::JSEventTargetNode::getListener):
20599 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
20600 * bindings/js/JSSVGLazyEventListener.h: Removed.
20601 * bindings/js/ScriptController.cpp:
20602 (WebCore::ScriptController::createHTMLEventHandler):
20603 (WebCore::ScriptController::createSVGEventHandler):
20604 * dom/Document.cpp:
20605 (WebCore::Document::setFocusedNode):
20606 (WebCore::Document::handleWindowEvent):
20607 (WebCore::Document::setWindowEventListenerForType):
20608 (WebCore::Document::windowEventListenerForType):
20609 (WebCore::Document::removeWindowEventListenerForType):
20610 (WebCore::Document::addWindowEventListener):
20611 (WebCore::Document::hasWindowEventListener):
20612 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
20613 (WebCore::Document::createEventListener):
20614 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
20615 * dom/Document.h:
20616 * dom/EventListener.h:
20617 (WebCore::EventListener::isAttachedToEventTargetNode):
20618 * dom/EventTargetNode.cpp:
20619 (WebCore::EventTargetNode::dispatchFocusEvent):
20620 (WebCore::EventTargetNode::dispatchBlurEvent):
20621 (WebCore::EventTargetNode::dispatchEventForType):
20622 (WebCore::EventTargetNode::removeEventListenerForType):
20623 (WebCore::EventTargetNode::setEventListenerForType):
20624 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
20625 (WebCore::EventTargetNode::eventListenerForType):
20626 * dom/EventTargetNode.h:
20627 * dom/XMLTokenizer.cpp:
20628 (WebCore::XMLTokenizer::notifyFinished):
20629 * editing/ReplaceSelectionCommand.cpp:
20630 (WebCore::ReplacementFragment::ReplacementFragment):
20631 * html/HTMLBodyElement.cpp:
20632 (WebCore::HTMLBodyElement::parseMappedAttribute):
20633 * html/HTMLButtonElement.cpp:
20634 (WebCore::HTMLButtonElement::parseMappedAttribute):
20635 * html/HTMLElement.cpp:
20636 (WebCore::HTMLElement::parseMappedAttribute):
20637 (WebCore::HTMLElement::checkDTD):
20638 * html/HTMLElement.h:
20639 * html/HTMLFormControlElement.cpp:
20640 (WebCore::HTMLFormControlElement::onChange):
20641 * html/HTMLFormElement.cpp:
20642 (WebCore::HTMLFormElement::prepareSubmit):
20643 (WebCore::HTMLFormElement::reset):
20644 (WebCore::HTMLFormElement::parseMappedAttribute):
20645 * html/HTMLFrameElementBase.cpp:
20646 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
20647 * html/HTMLFrameSetElement.cpp:
20648 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
20649 * html/HTMLImageElement.cpp:
20650 (WebCore::HTMLImageElement::parseMappedAttribute):
20651 * html/HTMLImageLoader.cpp:
20652 (WebCore::HTMLImageLoader::dispatchLoadEvent):
20653 * html/HTMLInputElement.cpp:
20654 (WebCore::HTMLInputElement::parseMappedAttribute):
20655 (WebCore::HTMLInputElement::setValueFromRenderer):
20656 (WebCore::HTMLInputElement::onSearch):
20657 * html/HTMLMediaElement.cpp:
20658 (WebCore::HTMLMediaElement::asyncEventTimerFired):
20659 (WebCore::HTMLMediaElement::load):
20660 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
20661 (WebCore::HTMLMediaElement::setReadyState):
20662 (WebCore::HTMLMediaElement::seek):
20663 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
20664 (WebCore::HTMLMediaElement::willSaveToCache):
20665 * html/HTMLObjectElement.cpp:
20666 (WebCore::HTMLObjectElement::parseMappedAttribute):
20667 * html/HTMLScriptElement.cpp:
20668 (WebCore::HTMLScriptElement::parseMappedAttribute):
20669 (WebCore::HTMLScriptElement::dispatchLoadEvent):
20670 (WebCore::HTMLScriptElement::dispatchErrorEvent):
20671 * html/HTMLSelectElement.cpp:
20672 (WebCore::HTMLSelectElement::parseMappedAttribute):
20673 * html/HTMLTextAreaElement.cpp:
20674 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
20675 * html/HTMLTokenizer.cpp:
20676 (WebCore::HTMLTokenizer::notifyFinished):
20677 * page/AccessibilityRenderObject.cpp:
20678 (WebCore::AccessibilityRenderObject::mouseButtonListener):
20679 * page/EventHandler.cpp:
20680 (WebCore::EventHandler::canMouseDownStartSelect):
20681 (WebCore::EventHandler::canMouseDragExtendSelect):
20682 * page/Frame.cpp:
20683 (WebCore::Frame::sendScrollEvent):
20684 * page/Page.cpp:
20685 (WebCore::networkStateChanged):
20686 * rendering/RenderListBox.cpp:
20687 (WebCore::RenderListBox::valueChanged):
20688 * rendering/RenderTextControl.cpp:
20689 (WebCore::RenderTextControl::selectionChanged):
20690 * svg/SVGDocumentExtensions.cpp:
20691 * svg/SVGDocumentExtensions.h:
20692 * svg/SVGElement.cpp:
20693 (WebCore::SVGElement::parseMappedAttribute):
20694 (WebCore::SVGElement::finishParsingChildren):
20695 * svg/SVGElement.h:
20696 * svg/SVGSVGElement.cpp:
20697 (WebCore::SVGSVGElement::parseMappedAttribute):
20698 * svg/SVGSVGElement.h:
20699
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000207002008-09-15 Dave Hyatt <hyatt@apple.com>
20701
20702 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
20703 need to be converted.
20704
20705 Reviewed by Sam Weinig
20706
20707 * platform/ScrollBar.cpp:
20708 (WebCore::Scrollbar::Scrollbar):
20709 (WebCore::Scrollbar::updateThumbPosition):
20710 (WebCore::Scrollbar::updateThumbProportion):
20711 (WebCore::Scrollbar::autoscrollPressedPart):
20712 (WebCore::Scrollbar::startTimerIfNeeded):
20713 * platform/ScrollBar.h:
20714 * platform/ScrollbarTheme.h:
20715 (WebCore::ScrollbarTheme::invalidateParts):
20716 * platform/ScrollbarThemeComposite.cpp:
20717 (WebCore::ScrollbarThemeComposite::hitTest):
20718 (WebCore::ScrollbarThemeComposite::invalidatePart):
20719 (WebCore::ScrollbarThemeComposite::thumbPosition):
20720 (WebCore::ScrollbarThemeComposite::thumbLength):
20721 (WebCore::ScrollbarThemeComposite::trackLength):
20722 * platform/ScrollbarThemeComposite.h:
20723 * platform/win/PlatformScrollBarSafari.cpp:
20724 (WebCore::PlatformScrollbar::PlatformScrollbar):
20725 * platform/win/PlatformScrollBarWin.cpp:
20726 (WebCore::PlatformScrollbar::PlatformScrollbar):
20727
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000207282008-09-15 David Smith <catfish.man@gmail.com>
20729
20730 "Just do it"'d by Mark Rowe
20731
20732 https://bugs.webkit.org/show_bug.cgi?id=20856
20733 Add missing license header
20734
20735 * dom/NodeRenderStyle.h:
20736
dino@apple.combf52b682008-09-15 21:31:43 +0000207372008-09-15 Dean Jackson <dino@apple.com>
20738
20739 Reviewed by Tim Hatcher.
20740
dino@apple.com3db0b8f2008-09-15 21:52:23 +000020741 Add default constructor for ShadowData
20742 https://bugs.webkit.org/show_bug.cgi?id=20757
20743
20744 Test: transitions/shadow.html
20745
20746 * rendering/style/RenderStyle.h:
20747
207482008-09-15 Dean Jackson <dino@apple.com>
20749
20750 Reviewed by Tim Hatcher.
20751
dino@apple.com03abdce2008-09-15 21:40:52 +000020752 RenderStyle should update keyframes.
20753 http://bugs.webkit.org/show_bug.cgi?id=20756
20754
20755 * rendering/style/RenderStyle.cpp:
20756 (WebCore::StyleRareNonInheritedData::updateKeyframes):
20757
207582008-09-15 Dean Jackson <dino@apple.com>
20759
20760 Reviewed by Tim Hatcher.
20761
dino@apple.combf52b682008-09-15 21:31:43 +000020762 Unnecessary ASSERT in ImplicitAnimation destructor.
20763 https://bugs.webkit.org/show_bug.cgi?id=20817
20764
20765 * page/animation/ImplicitAnimation.cpp:
20766 (WebCore::ImplicitAnimation::~ImplicitAnimation):
20767
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000207682008-09-15 Adam Treat <treat@kde.org>
20769
20770 Reviewed by Simon.
20771
20772 Fix plugin extension info. It was returning the mimetype where the
20773 extension was given.
20774
20775 * plugins/qt/PluginPackageQt.cpp:
20776 (WebCore::PluginPackage::fetchInfo):
20777
dino@apple.comecc18dc2008-09-15 20:40:28 +0000207782008-09-15 Dean Jackson <dino@apple.com>
20779
20780 Reviewed by Tim Hatcher
20781
20782 Coding style violation!!!! Cleanup AnimationBase.cpp
20783
20784 * page/animation/AnimationBase.cpp:
20785 (WebCore::blendFunc):
20786
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000207872008-09-15 David Hyatt <hyatt@apple.com>
20788
20789 Move all hit testing code for scrollbars into the base class. Refactor
20790 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
20791 functions.
20792
20793 No platform is using this code yet. Although it has been moved and compiles
20794 (even on Mac), it is not being used on any platform.
20795
20796 Reviewed by Sam Weinig
20797
20798 * platform/ScrollBar.cpp:
20799 (WebCore::Scrollbar::autoscrollPressedPart):
20800 (WebCore::Scrollbar::startTimerIfNeeded):
20801 (WebCore::Scrollbar::handleMouseMoveEvent):
20802 (WebCore::Scrollbar::handleMouseOutEvent):
20803 (WebCore::Scrollbar::handleMouseReleaseEvent):
20804 (WebCore::Scrollbar::handleMousePressEvent):
20805 * platform/ScrollBar.h:
20806 (WebCore::Scrollbar::handleContextMenuEvent):
20807 * platform/ScrollbarTheme.h:
20808 (WebCore::ScrollbarTheme::hitTest):
20809 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
20810 (WebCore::ScrollbarTheme::invalidatePart):
20811 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
20812 (WebCore::ScrollbarTheme::centerOnThumb):
20813 (WebCore::ScrollbarTheme::thumbPosition):
20814 (WebCore::ScrollbarTheme::thumbLength):
20815 (WebCore::ScrollbarTheme::trackLength):
20816 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
20817 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
20818 * platform/Widget.h:
20819 (WebCore::Widget::parent):
20820 * platform/mac/PlatformScrollBar.h:
20821 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
20822 (WebCore::PlatformScrollbar::handleMouseOutEvent):
20823 (WebCore::PlatformScrollbar::handleMousePressEvent):
20824 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
20825 * platform/mac/WidgetMac.mm:
20826 (WebCore::Widget::convertFromContainingWindow):
20827 * platform/win/ScrollbarThemeWin.cpp:
20828 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
20829 * platform/win/ScrollbarThemeWin.h:
20830
mitz@apple.comd17dc392008-09-15 18:48:20 +0000208312008-09-15 Dan Bernstein <mitz@apple.com>
20832
20833 Reviewed by Sam Weinig.
20834
20835 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
20836
20837 Cache the next breakable position for text nodes in InlineIterator.
20838
20839 * rendering/bidi.cpp:
20840 (WebCore::InlineIterator::InlineIterator):
20841 (WebCore::InlineIterator::increment):
20842 (WebCore::RenderBlock::findNextLineBreak):
20843
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000208442008-09-15 Simon Fraser <simon.fraser@apple.com>
20845
20846 Reviewed by Dan Bernstein
20847
20848 Fix assertion and integral pixel issue when creating subimages.
20849 https://bugs.webkit.org/show_bug.cgi?id=20786
20850
20851 * platform/graphics/cg/ImageCG.cpp:
20852 (WebCore::BitmapImage::draw):
20853
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000208542008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
20855
20856 Reviewed by Simon.
20857
20858 Implment seek() and clean up and improve debugging output
20859
20860 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
20861 (debugMediaObject):
20862 (WebCore::MediaPlayerPrivate::seek):
20863 (WebCore::MediaPlayerPrivate::setVolume):
20864 (WebCore::MediaPlayerPrivate::setMuted):
20865 (WebCore::MediaPlayerPrivate::updateStates):
20866 (WebCore::MediaPlayerPrivate::naturalSize):
20867 (WebCore::MediaPlayerPrivate::paint):
20868 (WebCore::MediaPlayerPrivate::stateChanged):
20869 (WebCore::MediaPlayerPrivate::tick):
20870
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000208712008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
20872
20873 Reviewed by Simon.
20874
20875 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
20876
20877 m_mediaObject, m_audioOutput, m_videoWidget get created in the
20878 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
20879 only check if we use the MediaPlayerPrivate after it has been deleted.
20880
20881 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
20882
20883 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
20884 (WebCore::MediaPlayerPrivate::play):
20885 (WebCore::MediaPlayerPrivate::setVolume):
20886 (WebCore::MediaPlayerPrivate::updateStates):
20887
andersca@apple.com18d62682008-09-15 11:35:22 +0000208882008-09-15 Anders Carlsson <andersca@apple.com>
20889
20890 Reviewed by Maciej.
20891
20892 <rdar://problem/6163988>
20893 https://bugs.webkit.org/show_bug.cgi?id=20457
20894 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
20895
20896 Check the width and height and throw an exception if any of them are 0.
20897
20898 * html/CanvasRenderingContext2D.cpp:
20899 (WebCore::CanvasRenderingContext2D::createPattern):
20900
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000209012008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
20902
20903 Reviewed by Simon.
20904
20905 Render media element controls with antialiasing enabled
20906
20907 * platform/qt/RenderThemeQt.cpp:
20908 (WebCore::RenderThemeQt::paintMediaMuteButton):
20909 (WebCore::RenderThemeQt::paintMediaPlayButton):
20910 (WebCore::RenderThemeQt::paintMediaSliderTrack):
20911 (WebCore::RenderThemeQt::paintMediaSliderThumb):
20912
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000209132008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
20914
20915 Reviewed by Simon.
20916
20917 Upon non fatal error, switch to the pause state (so that playback can continue)
20918
20919 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
20920 (WebCore::MediaPlayerPrivate::updateStates):
20921
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000209222008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
20923
20924 Reviewed by Simon.
20925
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000020926 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
20927
20928 * WebCore.pro:
20929
209302008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
20931
20932 Reviewed by Simon.
20933
vestbo@webkit.org12a59572008-09-15 11:16:13 +000020934 Make QtInstance::create() private and fix caching
20935
20936 * bindings/js/ScriptControllerQt.cpp:
20937 (WebCore::ScriptController::createScriptInstanceForWidget):
20938 * bridge/qt/qt_instance.cpp:
20939 (JSC::Bindings::QtInstance::getQtInstance):
20940 (JSC::Bindings::QtInstance::getRuntimeObject):
20941 * bridge/qt/qt_instance.h:
20942 (JSC::Bindings::QtInstance::create):
20943 * bridge/qt/qt_runtime.cpp:
20944 (JSC::Bindings::convertQVariantToValue):
20945 (JSC::Bindings::QtConnectionObject::execute):
20946
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000209472008-09-15 David Smith <catfish.man@gmail.com>
20948
20949 Reviewed by Dave Hyatt.
20950
20951 https://bugs.webkit.org/show_bug.cgi?id=20180
20952
20953 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
20954 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
20955 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
20956
20957 * css/CSSStyleSelector.cpp:
20958 (WebCore::CSSStyleSelector::CSSStyleSelector):
20959 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
20960 * css/CSSStyleSelector.h:
20961
hyatt@apple.com065494e2008-09-15 06:33:40 +0000209622008-09-14 Dave Hyatt <hyatt@apple.com>
20963
20964 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
20965 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
20966
20967 Reviewed by Sam Weinig
20968
20969 * platform/ScrollBar.h:
20970 (WebCore::Scrollbar::client):
20971 (WebCore::Scrollbar::currentPos):
20972 (WebCore::Scrollbar::totalSize):
20973 * platform/ScrollbarTheme.h:
20974 * platform/ScrollbarThemeComposite.cpp:
20975 (WebCore::pageForScrollView):
20976 (WebCore::ScrollbarThemeComposite::paint):
20977 * platform/ScrollbarThemeComposite.h:
20978 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
20979 * platform/win/PlatformScrollBar.h:
20980 * platform/win/PlatformScrollBarSafari.cpp:
20981 * platform/win/PlatformScrollBarWin.cpp:
20982 * platform/win/ScrollbarThemeSafari.h:
20983 (WebCore::ScrollbarThemeSafari::hasButtons):
20984 (WebCore::ScrollbarThemeSafari::hasThumb):
20985 (WebCore::ScrollbarThemeSafari::backButtonRect):
20986 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
20987 (WebCore::ScrollbarThemeSafari::trackRect):
20988 (WebCore::ScrollbarThemeSafari::splitTrack):
20989 (WebCore::ScrollbarThemeSafari::paintTrack):
20990 (WebCore::ScrollbarThemeSafari::paintButton):
20991 (WebCore::ScrollbarThemeSafari::paintThumb):
20992 * platform/win/ScrollbarThemeWin.cpp:
20993 (WebCore::isRunningOnVistaOrLater):
20994 (WebCore::checkAndInitScrollbarTheme):
20995 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
20996 (WebCore::ScrollbarThemeWin::themeChanged):
20997 (WebCore::ScrollbarThemeWin::hasThumb):
20998 (WebCore::ScrollbarThemeWin::backButtonRect):
20999 (WebCore::ScrollbarThemeWin::forwardButtonRect):
21000 (WebCore::ScrollbarThemeWin::trackRect):
21001 (WebCore::ScrollbarThemeWin::splitTrack):
21002 (WebCore::ScrollbarThemeWin::paintTrack):
21003 (WebCore::ScrollbarThemeWin::paintButton):
21004 (WebCore::gripperRect):
21005 (WebCore::paintGripper):
21006 (WebCore::ScrollbarThemeWin::paintThumb):
21007 (WebCore::ScrollbarThemeWin::thumbPosition):
21008 (WebCore::ScrollbarThemeWin::thumbLength):
21009 (WebCore::ScrollbarThemeWin::trackLength):
21010 * platform/win/ScrollbarThemeWin.h:
21011 (WebCore::ScrollbarThemeWin::hasButtons):
21012 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
21013
timothy@apple.comd91172c2008-09-15 05:38:00 +0000210142008-09-14 Anthony Ricaud <rik24d@gmail.com>
21015
21016 Moving all resource graphs under the same container for future scalable feature.
21017 This is a speedup on resize but maybe a loss on changing the sorting function.
21018
21019 https://bugs.webkit.org/show_bug.cgi?id=20555
21020
21021 Reviewed by Timothy Hatcher.
21022
21023 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
21024 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
21025 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
21026
ap@webkit.orga14074b2008-09-15 04:52:44 +0000210272008-09-14 Alexey Proskuryakov <ap@webkit.org>
21028
21029 Reviewed by Maciej Stachowiak.
21030
21031 https://bugs.webkit.org/show_bug.cgi?id=20738
21032 compareBoundaryPoints gives incorrect results
21033
21034 Test: fast/dom/Range/compareBoundaryPoints-2.html
21035
21036 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
21037 and END_TO_START.
21038 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
21039
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000210402008-09-14 Maciej Stachowiak <mjs@apple.com>
21041
21042 Unreviewed build fix.
21043
mjs@apple.comcbb31e52008-09-15 03:10:35 +000021044 Trying again.
21045
21046 * bindings/js/JSQuarantinedObjectWrapper.cpp:
21047 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
21048
210492008-09-14 Maciej Stachowiak <mjs@apple.com>
21050
21051 Unreviewed build fix.
21052
mjs@apple.com285bdcf2008-09-15 02:55:16 +000021053 Blind attempt to fix build. Correct parameters for hasInstance.
21054
21055 * bindings/js/JSQuarantinedObjectWrapper.cpp:
21056 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
21057 * bindings/js/JSQuarantinedObjectWrapper.h:
21058
mitz@apple.come85f7362008-09-15 02:23:24 +0000210592008-09-14 Dan Bernstein <mitz@apple.com>
21060
21061 Rubber-stamped by Sam Weinig.
21062
21063 - revert <http://trac.webkit.org/changeset/36382> because it exposed
21064 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
21065 on Tiger.
21066
21067 * platform/graphics/mac/FontCacheMac.mm:
21068 (WebCore::FontCache::getFontDataForCharacters):
21069 (WebCore::FontCache::getLastResortFallbackFont):
21070
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000210712008-09-14 Dave Hyatt <hyatt@apple.com>
21072
21073 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
21074 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
21075 theme.
21076
21077 Reviewed by Sam Weinig
21078
21079 * WebCore.vcproj/WebCore.vcproj:
21080 * platform/win/ScrollbarThemeSafari.h:
21081 * platform/win/ScrollbarThemeWin.h:
21082
alp@webkit.orgd694e942008-09-15 00:20:15 +0000210832008-09-14 Alp Toker <alp@nuanti.com>
21084
21085 https://bugs.webkit.org/show_bug.cgi?id=20320
21086 [GTK] A white rectangle is visible behind widgets with rounded corners
21087
21088 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
21089 style exempt).
21090
21091 Requested by Michael Monreal.
21092
21093 * platform/gtk/RenderThemeGtk.cpp:
21094 (WebCore::RenderThemeGtk::RenderThemeGtk):
21095 * platform/gtk/gtk2drawing.c:
21096 (moz_gtk_set_widget_name):
21097 (ensure_window_widget):
21098 (setup_widget_prototype):
21099 (ensure_button_arrow_widget):
21100 (moz_gtk_get_combo_box_inner_button):
21101 (moz_gtk_get_combo_box_button_inner_widgets):
21102 (ensure_combo_box_widgets):
21103 (moz_gtk_get_combo_box_entry_inner_widgets):
21104 (moz_gtk_get_combo_box_entry_arrow):
21105 (ensure_combo_box_entry_widgets):
21106 (ensure_toolbar_widget):
21107 (ensure_tooltip_widget):
21108 (ensure_menu_bar_widget):
21109 (ensure_menu_bar_item_widget):
21110 (ensure_menu_popup_widget):
21111 (ensure_menu_item_widget):
21112 (ensure_image_menu_item_widget):
21113 (ensure_menu_separator_widget):
21114 (ensure_check_menu_item_widget):
21115 (ensure_tree_header_cell_widget):
21116 (ensure_scrolled_window_widget):
21117 (moz_gtk_button_paint):
21118 (moz_gtk_init):
21119 (moz_gtk_button_get_inner_border):
21120 (moz_gtk_toggle_paint):
21121 (calculate_button_inner_rect):
21122 (calculate_arrow_rect):
21123 (moz_gtk_scrollbar_button_paint):
21124 (moz_gtk_scrollbar_thumb_paint):
21125 (moz_gtk_caret_paint):
21126 (moz_gtk_entry_paint):
21127 (moz_gtk_treeview_paint):
21128 (moz_gtk_tree_header_cell_paint):
21129 (moz_gtk_combo_box_paint):
21130 (moz_gtk_downarrow_paint):
21131 (moz_gtk_combo_box_entry_button_paint):
21132 (moz_gtk_toolbar_paint):
21133 (moz_gtk_tab_scroll_arrow_paint):
21134 (moz_gtk_menu_bar_paint):
21135 (moz_gtk_menu_item_paint):
21136 (moz_gtk_get_widget_border):
21137 (moz_gtk_get_combo_box_entry_button_size):
21138 (moz_gtk_get_tab_scroll_arrow_size):
21139 (moz_gtk_get_downarrow_size):
21140 (moz_gtk_images_in_menus):
21141 (moz_gtk_widget_paint):
21142 (moz_gtk_shutdown):
21143 * platform/gtk/gtkdrawing.h:
21144
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000211452008-09-14 David Hyatt <hyatt@apple.com>
21146
21147 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
21148 painting. Mac and Gtk themes don't do anything and just let the
21149 underlying widget paint. Qt now uses the theme to paint. wx doesn't
21150 do anything yet.
21151
21152 Reviewed by Sam Weinig
21153
21154 * platform/ScrollBar.cpp:
21155 (WebCore::Scrollbar::paint):
21156 * platform/ScrollBar.h:
21157 (WebCore::Scrollbar::value):
21158 (WebCore::Scrollbar::visibleSize):
21159 (WebCore::Scrollbar::maximum):
21160 (WebCore::Scrollbar::lineStep):
21161 (WebCore::Scrollbar::pageStep):
21162 (WebCore::Scrollbar::pixelStep):
21163 (WebCore::Scrollbar::pressedPart):
21164 (WebCore::Scrollbar::hoveredPart):
21165 (WebCore::Scrollbar::theme):
21166 * platform/ScrollbarTheme.h:
21167 (WebCore::ScrollbarTheme::paint):
21168 (WebCore::ScrollbarTheme::scrollbarThickness):
21169 (WebCore::ScrollbarTheme::supportsControlTints):
21170 (WebCore::ScrollbarTheme::themeChanged):
21171 * platform/gtk/PlatformScrollBar.h:
21172 * platform/gtk/PlatformScrollBarGtk.cpp:
21173 * platform/mac/PlatformScrollBar.h:
21174 * platform/mac/PlatformScrollBarMac.mm:
21175 * platform/qt/PlatformScrollBar.h:
21176 * platform/qt/PlatformScrollBarQt.cpp:
21177 * platform/qt/ScrollbarThemeQt.cpp:
21178 (WebCore::styleOptionSlider):
21179 * platform/qt/ScrollbarThemeQt.h:
21180 (WebCore::ScrollbarThemeQt::paint):
21181 * platform/win/PlatformScrollBarSafari.cpp:
21182 (WebCore::PlatformScrollbar::paint):
21183 * platform/win/ScrollbarThemeSafari.h:
21184 (WebCore::ScrollbarThemeSafari::supportsControlTints):
21185 * platform/wx/PlatformScrollBar.h:
21186 * platform/wx/TemporaryLinkStubs.cpp:
21187 (PlatformScrollbar::~PlatformScrollbar):
21188
weinig@apple.comcb93e262008-09-14 21:36:11 +0000211892008-09-14 Sam Weinig <sam@webkit.org>
21190
weinig@apple.com6ef2b872008-09-14 22:15:28 +000021191 Qt build fix.
21192
21193 * platform/qt/PlatformScrollBarQt.cpp:
21194
211952008-09-14 Sam Weinig <sam@webkit.org>
21196
weinig@apple.com064861a2008-09-14 22:12:49 +000021197 Reviewed by Mark Rowe.
21198
21199 Remove extraneous semicolons.
21200
21201 * bindings/scripts/CodeGeneratorObjC.pm:
21202 * html/HTMLLinkElement.cpp:
21203 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
21204 * html/HTMLScriptElement.cpp:
21205 (WebCore::HTMLScriptElement::charsetAttributeValue):
21206 (WebCore::HTMLScriptElement::typeAttributeValue):
21207 * platform/graphics/qt/GradientQt.cpp:
21208 (WebCore::Gradient::platformGradient):
21209 * platform/qt/ScrollViewQt.cpp:
21210 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
21211 * platform/win/ScrollViewWin.cpp:
21212 (WebCore::ScrollView::updateScrollbars):
21213 * rendering/RenderBlock.cpp:
21214 (WebCore::RenderBlock::paintEllipsisBoxes):
21215 * svg/SVGPathSegList.cpp:
21216 (WebCore::SVGPathSegList::toPathData):
21217
212182008-09-14 Sam Weinig <sam@webkit.org>
21219
weinig@apple.comcb93e262008-09-14 21:36:11 +000021220 Qt build fix.
21221
weinig@apple.com31311a62008-09-14 22:00:15 +000021222 * platform/qt/ScrollViewQt.cpp:
21223 (WebCore::ScrollView::updateScrollbars):
21224
212252008-09-14 Sam Weinig <sam@webkit.org>
21226
21227 Qt build fix.
21228
weinig@apple.comcb93e262008-09-14 21:36:11 +000021229 * platform/qt/PlatformScrollBarQt.cpp:
21230 (WebCore::PlatformScrollbar::PlatformScrollbar):
21231 (WebCore::PlatformScrollbar::paint):
21232
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000212332008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
21234
21235 Gtk build fix, not reviewed.
21236
21237 * platform/gtk/PlatformScrollBarGtk.cpp:
21238 (PlatformScrollbar::PlatformScrollbar):
21239 * platform/gtk/ScrollViewGtk.cpp:
21240 (WebCore::ScrollView::updateScrollbars):
21241
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000212422008-09-13 Dave Hyatt <hyatt@apple.com>
21243
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000021244 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
21245 to set the dimensions of a scrollbar.
21246
21247 Reviewed by Sam Weinig
21248
21249 * platform/ScrollBar.h:
21250 * platform/gtk/PlatformScrollBar.h:
21251 * platform/gtk/PlatformScrollBarGtk.cpp:
21252 (PlatformScrollbar::setFrameGeometry):
21253 * platform/gtk/ScrollViewGtk.cpp:
21254 (WebCore::ScrollView::updateScrollbars):
21255 * platform/mac/PlatformScrollBarMac.mm:
21256 * platform/qt/PlatformScrollBarQt.cpp:
21257 * platform/qt/ScrollViewQt.cpp:
21258 (WebCore::ScrollView::updateScrollbars):
21259 * platform/win/PlatformScrollBar.h:
21260 * platform/win/PlatformScrollBarSafari.cpp:
21261 (WebCore::PlatformScrollbar::PlatformScrollbar):
21262 (WebCore::PlatformScrollbar::setFrameGeometry):
21263 * platform/win/PlatformScrollBarWin.cpp:
21264 (WebCore::PlatformScrollbar::PlatformScrollbar):
21265 (WebCore::PlatformScrollbar::setFrameGeometry):
21266 * platform/win/PopupMenuWin.cpp:
21267 (WebCore::PopupWndProc):
21268 * platform/win/ScrollViewWin.cpp:
21269 (WebCore::ScrollView::updateScrollbars):
21270 * platform/wx/PlatformScrollBar.h:
21271 * platform/wx/TemporaryLinkStubs.cpp:
21272 (PlatformScrollbar::updateThumbProportion):
21273 * rendering/RenderLayer.cpp:
21274 (WebCore::RenderLayer::positionOverflowControls):
21275 * rendering/RenderListBox.cpp:
21276 (WebCore::RenderListBox::paintScrollbar):
21277
212782008-09-13 Dave Hyatt <hyatt@apple.com>
21279
hyatt@apple.comed9485a2008-09-14 01:06:57 +000021280 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
21281
21282 Reviewed by Sam Weinig
21283
21284 * platform/ScrollBar.h:
21285 * platform/gtk/PlatformScrollBar.h:
21286 * platform/gtk/PlatformScrollBarGtk.cpp:
21287 * platform/mac/PlatformScrollBar.h:
21288 * platform/mac/PlatformScrollBarMac.mm:
21289 * platform/win/PlatformScrollBar.h:
21290 * platform/win/PlatformScrollBarSafari.cpp:
21291 * platform/win/PlatformScrollBarWin.cpp:
21292 * platform/wx/PlatformScrollBar.h:
21293 * platform/wx/TemporaryLinkStubs.cpp:
21294 (PlatformScrollbar::~PlatformScrollbar):
21295
212962008-09-13 Dave Hyatt <hyatt@apple.com>
21297
hyatt@apple.com64d98032008-09-14 00:58:29 +000021298 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
21299 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
21300
21301 Reviewed by Sam Weinig
21302
21303 * platform/ScrollBar.h:
21304 * platform/gtk/PlatformScrollBar.h:
21305 * platform/gtk/PlatformScrollBarGtk.cpp:
21306 * platform/mac/PlatformScrollBar.h:
21307 * platform/mac/PlatformScrollBarMac.mm:
21308 * platform/win/PlatformScrollBarSafari.cpp:
21309 * platform/win/PlatformScrollBarWin.cpp:
21310 * platform/wx/PlatformScrollBar.h:
21311 * platform/wx/TemporaryLinkStubs.cpp:
21312 (PlatformScrollbar::~PlatformScrollbar):
21313
213142008-09-13 Dave Hyatt <hyatt@apple.com>
21315
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000021316 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
21317
21318 Reviewed by Sam Weinig
21319
21320 * platform/ScrollBar.cpp:
21321 (WebCore::Scrollbar::~Scrollbar):
21322 * platform/ScrollBar.h:
21323 * platform/qt/PlatformScrollBarQt.cpp:
21324 (WebCore::PlatformScrollbar::~PlatformScrollbar):
21325 * platform/win/PlatformScrollBarSafari.cpp:
21326 (WebCore::PlatformScrollbar::~PlatformScrollbar):
21327 * platform/win/PlatformScrollBarWin.cpp:
21328 (WebCore::PlatformScrollbar::~PlatformScrollbar):
21329
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000213302008-09-13 David Hyatt <hyatt@apple.com>
21331
21332 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
21333 function on Scrollbar. Fixes Qt build bustage.
21334
21335 Reviewed by Sam Weinig
21336
21337 * platform/ScrollBar.h:
21338 (WebCore::Scrollbar::orientation):
21339 (WebCore::Scrollbar::value):
21340 (WebCore::Scrollbar::maximum):
21341 * platform/qt/PlatformScrollBar.h:
21342
mitz@apple.comb3d22882008-09-13 23:06:59 +0000213432008-09-13 Dan Bernstein <mitz@apple.com>
21344
21345 Reviewed by Sam Weinig.
21346
21347 - use the LastResort font for missing glyphs instead of showing the
21348 primary font's missing glyph
21349
21350 Test: platform/mac/fast/text/last-resort-font.html
21351
21352 * platform/graphics/mac/FontCacheMac.mm:
21353 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
21354 last resort font if a substitute font cannot be found.
21355 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
21356 comment (the user's preferred standard font is included in the search
21357 thanks to code in FontCache::getFontData()) and changed to return the
21358 LastResort font.
21359
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000213602008-09-13 Dave Hyatt <hyatt@apple.com>
21361
21362 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
21363 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
21364 patches will move rendering and hit testing functionality into this class.
21365
21366 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
21367 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
21368
21369 Reviewed by Sam Weinig
21370
21371 * GNUmakefile.am:
21372 * WebCore.pro:
21373 * WebCore.vcproj/WebCore.vcproj:
21374 * platform/ScrollBar.cpp:
21375 (WebCore::Scrollbar::Scrollbar):
21376 * platform/ScrollBar.h:
21377 * platform/ScrollbarTheme.h: Added.
21378 (WebCore::ScrollbarTheme::~ScrollbarTheme):
21379 (WebCore::ScrollbarTheme::scrollbarThickness):
21380 (WebCore::ScrollbarTheme::themeChanged):
21381 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
21382 (WebCore::ScrollbarTheme::nativeTheme):
21383 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
21384 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
21385 * platform/gtk/ScrollbarThemeGtk.h: Added.
21386 * platform/mac/PlatformScrollBar.h:
21387 * platform/mac/ScrollbarThemeMac.cpp: Added.
21388 (WebCore::ScrollbarTheme::nativeTheme):
21389 (WebCore::):
21390 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
21391 (WebCore::ScrollbarThemeMac::scrollbarThickness):
21392 * platform/mac/ScrollbarThemeMac.h: Added.
21393 * platform/qt/PlatformScrollBarQt.cpp:
21394 * platform/qt/ScrollbarThemeQt.cpp: Added.
21395 (WebCore::ScrollbarTheme::nativeTheme):
21396 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
21397 (WebCore::ScrollbarThemeQt::scrollbarThickness):
21398 * platform/qt/ScrollbarThemeQt.h: Added.
21399 * platform/win/PlatformScrollBar.h:
21400 * platform/win/PlatformScrollBarSafari.cpp:
21401 * platform/win/PlatformScrollBarWin.cpp:
21402 * platform/win/PopupMenuWin.cpp:
21403 (WebCore::PopupMenu::calculatePositionAndSize):
21404 * platform/win/ScrollViewWin.cpp:
21405 (WebCore::ScrollView::updateScrollbars):
21406 (WebCore::ScrollView::themeChanged):
21407 * platform/win/ScrollbarThemeSafari.cpp: Added.
21408 (WebCore::ScrollbarTheme::nativeTheme):
21409 (WebCore::):
21410 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
21411 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
21412 * platform/win/ScrollbarThemeSafari.h: Added.
21413 * platform/win/ScrollbarThemeWin.cpp: Added.
21414 (WebCore::ScrollbarTheme::nativeTheme):
21415 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
21416 (WebCore::ScrollbarThemeWin::scrollbarThickness):
21417 (WebCore::ScrollbarThemeWin::themeChanged):
21418 * platform/win/ScrollbarThemeWin.h: Added.
21419 * platform/wx/TemporaryLinkStubs.cpp:
21420 (ScrollbarTheme::nativeTheme):
21421 * rendering/RenderLayer.cpp:
21422 (WebCore::scrollCornerRect):
21423 * rendering/RenderTextControl.cpp:
21424 (WebCore::RenderTextControl::calcHeight):
21425 (WebCore::RenderTextControl::calcPrefWidths):
21426
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000214272008-09-13 Chris Fleizach <cfleizach@apple.com>
21428
21429 Reviewed by Timothy Hatcher.
21430
21431 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
21432
21433 * page/mac/AccessibilityObjectWrapper.mm:
21434 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21435
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000214362008-09-13 Dan Bernstein <mitz@apple.com>
21437
21438 Reviewed by Timothy Hatcher.
21439
21440 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
21441
21442 No regression test because the back/forward cache is disabled in DumpRenderTree
21443
21444 * rendering/RenderContainer.cpp:
21445 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
21446 is being destroyed.
21447
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000214482008-09-13 Kevin Ollivier <kevino@theolliviers.com>
21449
21450 wx build fixes for new methods recently introduced.
21451
21452 * platform/graphics/wx/AffineTransformWx.cpp:
21453 (WebCore::AffineTransform::AffineTransform):
21454 (WebCore::AffineTransform::setMatrix):
21455 (WebCore::AffineTransform::setA):
21456 (WebCore::AffineTransform::setB):
21457 (WebCore::AffineTransform::setC):
21458 (WebCore::AffineTransform::setD):
21459 (WebCore::AffineTransform::setE):
21460 (WebCore::AffineTransform::setF):
21461 * platform/wx/LocalizedStringsWx.cpp:
21462 (WebCore::AXDefinitionListTermText):
21463 (WebCore::AXDefinitionListDefinitionText):
21464
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000214652008-09-12 Dave Hyatt <hyatt@apple.com>
21466
21467 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
21468 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
21469 "PlatformScrollbar."
21470
21471 Reviewed by Sam Weinig
21472
21473 * WebCore.vcproj/WebCore.vcproj:
21474 * editing/EditorCommand.cpp:
21475 * page/EventHandler.cpp:
21476 (WebCore::EventHandler::selectCursor):
21477 (WebCore::EventHandler::handleMousePressEvent):
21478 (WebCore::EventHandler::handleMouseMoveEvent):
21479 * page/EventHandler.h:
21480 * page/MouseEventWithHitTestResults.cpp:
21481 (WebCore::MouseEventWithHitTestResults::scrollbar):
21482 * page/MouseEventWithHitTestResults.h:
21483 * page/gtk/EventHandlerGtk.cpp:
21484 (WebCore::EventHandler::passMousePressEventToScrollbar):
21485 * page/mac/EventHandlerMac.mm:
21486 (WebCore::EventHandler::passMousePressEventToScrollbar):
21487 * page/qt/EventHandlerQt.cpp:
21488 (WebCore::EventHandler::passMousePressEventToScrollbar):
21489 * page/win/EventHandlerWin.cpp:
21490 (WebCore::EventHandler::passMousePressEventToScrollbar):
21491 * page/wx/EventHandlerWx.cpp:
21492 (WebCore::EventHandler::passMousePressEventToScrollbar):
21493 * platform/PopupMenu.h:
21494 * platform/ScrollBar.cpp:
21495 (WebCore::Scrollbar::Scrollbar):
21496 (WebCore::Scrollbar::autoscrollTimerFired):
21497 (WebCore::Scrollbar::autoscrollPressedPart):
21498 (WebCore::Scrollbar::startTimerIfNeeded):
21499 (WebCore::Scrollbar::stopTimerIfNeeded):
21500 (WebCore::Scrollbar::pressedPartScrollDirection):
21501 (WebCore::Scrollbar::pressedPartScrollGranularity):
21502 * platform/ScrollBar.h:
21503 (WebCore::Scrollbar::handleMousePressEvent):
21504 (WebCore::Scrollbar::invalidatePart):
21505 (WebCore::Scrollbar::thumbUnderMouse):
21506 * platform/ScrollView.h:
21507 * platform/ScrollbarClient.h: Added.
21508 (WebCore::ScrollbarClient::~ScrollbarClient):
21509 * platform/gtk/ScrollViewGtk.cpp:
21510 (WebCore::ScrollView::scrollbarUnderMouse):
21511 * platform/qt/PlatformScrollBar.h:
21512 * platform/qt/PlatformScrollBarQt.cpp:
21513 (WebCore::PlatformScrollbar::PlatformScrollbar):
21514 (WebCore::scrollbarPart):
21515 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
21516 (WebCore::PlatformScrollbar::handleMouseOutEvent):
21517 (WebCore::PlatformScrollbar::handleMousePressEvent):
21518 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
21519 * platform/qt/ScrollViewQt.cpp:
21520 (WebCore::ScrollView::scrollbarUnderMouse):
21521 (WebCore::ScrollView::wheelEvent):
21522 * platform/win/PlatformScrollBar.h:
21523 * platform/win/PlatformScrollBarSafari.cpp:
21524 (WebCore::PlatformScrollbar::PlatformScrollbar):
21525 * platform/win/PlatformScrollBarWin.cpp:
21526 (WebCore::PlatformScrollbar::PlatformScrollbar):
21527 * platform/win/ScrollViewWin.cpp:
21528 (WebCore::ScrollView::scrollbarUnderMouse):
21529 * rendering/HitTestResult.cpp:
21530 (WebCore::HitTestResult::setScrollbar):
21531 * rendering/HitTestResult.h:
21532 (WebCore::HitTestResult::scrollbar):
21533 * rendering/RenderLayer.cpp:
21534 (WebCore::RenderLayer::hitTestOverflowControls):
21535 * rendering/RenderLayer.h:
21536 * rendering/RenderListBox.h:
21537
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000215382008-09-12 Steve Falkenburg <sfalken@apple.com>
21539
21540 Fix Mac build.
21541
21542 * css/CSSStyleSelector.cpp:
21543 (WebCore::getTransformOperationType):
21544
dino@apple.comf937dc62008-09-13 00:45:39 +0000215452008-09-12 Chris Marrin <cmarrin@apple.com>
21546
21547 Reviewed by Dave Hyatt.
21548
21549 Make transform animation behavior match spec
21550 https://bugs.webkit.org/show_bug.cgi?id=20770
21551
21552 Tests: transitions/transform-op-list-match.html
21553 transitions/transform-op-list-no-match.html
21554
21555 * css/CSSStyleSelector.cpp:
21556 * css/CSSStyleSelector.h:
21557 * page/animation/AnimationBase.cpp:
21558 * page/animation/AnimationBase.h:
21559 * page/animation/ImplicitAnimation.cpp:
21560 * page/animation/ImplicitAnimation.h:
21561 * page/animation/KeyframeAnimation.cpp:
21562 * page/animation/KeyframeAnimation.h:
21563 * rendering/RenderLayer.cpp:
21564 * rendering/style/RenderStyle.cpp:
21565 * rendering/style/RenderStyle.h:
21566
timothy@apple.comab374dd2008-09-12 22:43:38 +0000215672008-09-12 Ojan Vafai <ojan@chromium.org>
21568
21569 Properly escape contents of links added to the inspector.
21570 For now, just build the link with the DOM and get the
21571 outerHTML. Eventually, we probably just want to do
21572 this entirely with the DOM.
21573
21574 Reviewed by Timothy Hatcher.
21575
21576 https://bugs.webkit.org/show_bug.cgi?id=20684
21577
21578 * manual-tests/inspector/escape-links.html: Added.
21579 * page/inspector/StylesSidebarPane.js:
21580 * page/inspector/inspector.js:
21581 * page/inspector/utilities.js:
21582
adele@apple.com87fb3c72008-09-12 22:14:13 +0000215832008-09-12 Adele Peterson <adele@apple.com>
21584
21585 Reviewed by John Sullivan and Kevin McCullough.
21586
21587 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
21588
21589 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
21590 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
21591 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
21592
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000215932008-09-12 Kevin McCullough <kmccullough@apple.com>
21594
21595 RS by Tim .
21596
21597 Re-introducing the code since it was not the cause of the crash.
21598 See r36343.
21599
21600 * rendering/RenderObject.cpp:
21601 (WebCore::RenderObject::canBeProgramaticallyScrolled):
21602 * rendering/RenderObject.h:
21603
dino@apple.comf712ed02008-09-12 21:54:57 +0000216042008-09-12 Chris Marrin <cmarrin@apple.com>
21605
21606 Reviewed by Dave Hyatt.
21607
21608 When changing one animation in a list, don't reset other animations
21609 https://bugs.webkit.org/show_bug.cgi?id=20675
21610
21611 Test: animations/change-one-anim.html
21612
21613 * page/animation/AnimationBase.cpp:
21614 (WebCore::AnimationBase::getNumProperties):
21615 * page/animation/AnimationBase.h:
21616 * page/animation/AnimationController.cpp:
21617 * page/animation/CompositeAnimation.cpp:
21618 (WebCore::CompositeAnimation::updateKeyframeAnimations):
21619 * page/animation/CompositeAnimation.h:
21620 * page/animation/ImplicitAnimation.cpp:
21621 * page/animation/KeyframeAnimation.cpp:
21622 * page/animation/KeyframeAnimation.h:
21623 (WebCore::KeyframeAnimation::setIndex):
21624
beidson@apple.com521e2b52008-09-12 18:40:03 +0000216252008-09-12 Brady Eidson <beidson@apple.com>
21626
21627 Reviewed by Mitz Pettel
21628
21629 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
21630
21631 * loader/DocumentLoader.cpp:
21632 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
21633 Subresources can never be created from nil data, but there is always a MainResource, whether
21634 or not there's any data. So in the case where the main resource has no data, fake it for the
21635 sake of creating the ArchiveResource.
21636
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000216372008-09-12 Dave Hyatt <hyatt@apple.com>
21638
21639 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
21640 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
21641 Remove all the isWidget and hasPlatformScrollbars guards.
21642
21643 Reviewed by Tim Hatcher
21644
21645 * platform/ScrollBar.h:
21646 * platform/gtk/PlatformScrollBar.h:
21647 * platform/mac/PlatformScrollBar.h:
21648 * platform/qt/PlatformScrollBar.h:
21649 * platform/win/PlatformScrollBar.h:
21650 * platform/win/ScrollViewWin.cpp:
21651 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
21652 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
21653 * platform/wx/PlatformScrollBar.h:
21654 * rendering/RenderLayer.cpp:
21655 (WebCore::RenderLayer::horizontalScrollbarWidget):
21656 (WebCore::RenderLayer::verticalScrollbarWidget):
21657 (WebCore::RenderLayer::createScrollbar):
21658 (WebCore::RenderLayer::destroyScrollbar):
21659 * rendering/RenderListBox.cpp:
21660 (WebCore::RenderListBox::~RenderListBox):
21661 (WebCore::RenderListBox::updateFromElement):
21662 (WebCore::RenderListBox::isPointInOverflowControl):
21663
mitz@apple.com0bef1302008-09-12 18:22:07 +0000216642008-09-12 Dan Bernstein <mitz@apple.com>
21665
21666 Reviewed by Sam Weinig.
21667
21668 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
21669
21670 * page/animation/AnimationController.cpp:
21671 * page/animation/AnimationController.h:
21672 * page/animation/CompositeAnimation.cpp:
21673 * page/animation/CompositeAnimation.h:
21674 * page/animation/ImplicitAnimation.cpp:
21675 * page/animation/ImplicitAnimation.h:
21676 * page/animation/KeyframeAnimation.cpp:
21677 * page/animation/KeyframeAnimation.h:
21678
timothy@apple.com43203432008-09-12 04:44:40 +0000216792008-09-11 Timothy Hatcher <timothy@apple.com>
21680
21681 Add a renderedImage method to DOMNode to get an image
21682 of the rendering for the node and it's descendants.
21683
21684 <rdar://problem/5849349> Would like API to create
21685 an image for a DOM node
21686
21687 Reviewed by Oliver Hunt.
21688
21689 * bindings/objc/DOM.mm:
21690 (-[DOMNode renderedImage]): Call Frame::nodeImage.
21691 * bindings/objc/DOMPrivate.h:
21692 * page/Frame.h:
21693 * page/mac/FrameMac.mm:
21694 (WebCore::Frame::nodeImage):
21695
dino@apple.com9300a0b2008-09-12 00:36:31 +0000216962008-09-08 Chris Marrin <cmarrin@apple.com>
21697
21698 Reviewed by Dave Hyatt
21699
21700 Need to support comma separated list of key times in keyframes selectors
21701 https://bugs.webkit.org/show_bug.cgi?id=20680
21702
21703 Test: animations/keyframes-comma-separated.html
21704
21705 * css/CSSGrammar.y:
21706 * css/CSSParser.cpp:
21707 (WebCore::CSSParser::createKeyframeRule):
21708 * css/CSSParser.h:
21709 * css/CSSStyleSelector.cpp:
21710 (WebCore::CSSStyleSelector::addKeyframeStyle):
21711 * css/WebKitCSSKeyframeRule.cpp:
21712 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
21713 (WebCore::WebKitCSSKeyframeRule::cssText):
21714 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
21715 * css/WebKitCSSKeyframeRule.h:
21716 (WebCore::WebKitCSSKeyframeRule::keyText):
21717 (WebCore::WebKitCSSKeyframeRule::setKeyText):
21718 (WebCore::WebKitCSSKeyframeRule::getKeys):
21719 * css/WebKitCSSKeyframesRule.cpp:
21720 (WebCore::WebKitCSSKeyframesRule::append):
21721 (WebCore::WebKitCSSKeyframesRule::insertRule):
21722 (WebCore::WebKitCSSKeyframesRule::deleteRule):
21723 (WebCore::WebKitCSSKeyframesRule::findRule):
21724 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
21725 * css/WebKitCSSKeyframesRule.h:
21726 * page/animation/AnimationBase.cpp:
21727 (WebCore::AnimationBase::blendProperties):
21728
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000217292008-09-11 Kevin McCullough <kmccullough@apple.com>
21730
21731 RS by Tim.
21732
21733 Reverting because this caused a crash.
21734
21735 * rendering/RenderObject.cpp:
21736 (WebCore::RenderObject::canBeProgramaticallyScrolled):
21737 (WebCore::RenderObject::hasScrollableView):
21738 * rendering/RenderObject.h:
21739
dino@apple.com19853b32008-09-11 21:59:08 +0000217402008-09-11 Dean Jackson <dino@apple.com>
21741
21742 Reviewed by Dan Bernstein.
21743
21744 Fix assertion on transition property "none"
21745 https://bugs.webkit.org/show_bug.cgi?id=20751
21746
21747 Test: transitions/transition-end-event-set-none.html
21748
21749 * page/animation/CompositeAnimation.cpp:
21750 (WebCore::CompositeAnimation::updateTransitions):
21751
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000217522008-09-11 David Smith <catfish.man@gmail.com>
21753
dsmith@webkit.org08103d92008-09-11 21:54:30 +000021754 Rubber-stamped by mitzpettel.
21755
21756 Remove an accidentally added extra file.
21757
21758 * WebCore: Removed.
21759
217602008-09-11 David Smith <catfish.man@gmail.com>
21761
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000021762 Reviewed by Darin
21763
21764 https://bugs.webkit.org/show_bug.cgi?id=20180
21765
21766 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.
21767
21768 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
21769 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
21770 * dom/Element.cpp: include NodeRenderStyle.h
21771 * dom/Node.cpp: Remove the definition of renderStyle()
21772 (WebCore::Node::nonRendererRenderStyle):
21773 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
21774 * dom/NodeRenderStyle.h: Added.
21775 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
21776 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
21777 * html/HTMLOptGroupElement.h:
21778 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
21779 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
21780 * html/HTMLOptionElement.h:
21781 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
21782 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
21783 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
21784 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
21785
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000217862008-09-11 Kevin McCullough <kmccullough@apple.com>
21787
21788 Reviewed by Adele and Tim.
21789
21790 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
21791 Inspector does not scroll to the line of the results (20167)
21792 - This was put in by Max to fix auto scrolling but is not correct for
21793 the whole web: rdar://problem/6213098
21794
21795 * rendering/RenderObject.cpp:
21796 (WebCore::RenderObject::canBeProgramaticallyScrolled):
21797 * rendering/RenderObject.h:
21798
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000217992008-09-11 Chris Fleizach <cfleizach@apple.com>
21800
21801 Reviewed by Beth Dakin
21802
21803 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
21804
21805 Test: accessibility/frame-with-title.html
21806
21807 * page/AccessibilityRenderObject.cpp:
21808 (WebCore::AccessibilityRenderObject::accessibilityDescription):
21809
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000218102008-09-11 Dirk Schulze <vbs85@gmx.de>
21811
21812 Reviewed by Simon.
21813
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000021814 Fixed stroke() and strokeRect() to support gradients
21815 and patterns on Qt.
21816
21817 [Qt] Canvas stroke don't work for gradients and patterns
21818 [https://bugs.webkit.org/show_bug.cgi?id=20749]
21819
21820 * platform/graphics/qt/GraphicsContextQt.cpp:
21821 (WebCore::GraphicsContext::strokePath):
21822 (WebCore::GraphicsContext::strokeRect):
21823
218242008-09-11 Dirk Schulze <vbs85@gmx.de>
21825
21826 Reviewed by Simon.
21827
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000021828 https://bugs.webkit.org/show_bug.cgi?id=20729
21829
21830 Fixed canvas gradients for Qt
21831
21832 [Qt] Canvas gradients don't work as expected
21833 [https://bugs.webkit.org/show_bug.cgi?id=20729]
21834
21835 * platform/graphics/qt/GradientQt.cpp:
21836 (WebCore::Gradient::platformGradient):
21837
218382008-09-11 Dirk Schulze <vbs85@gmx.de>
21839
21840 Reviewed by Simon.
21841
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000021842 https://bugs.webkit.org/show_bug.cgi?id=20568
21843
21844 Add support for patterns to Qt.
21845
21846 * platform/graphics/qt/PatternQt.cpp:
21847 (WebCore::Pattern::createPlatformPattern):
21848
mitz@apple.com442c5892008-09-10 18:21:14 +0000218492008-09-10 Dan Bernstein <mitz@apple.com>
21850
21851 Reviewed by Sam Weinig.
21852
21853 - clean up AnimationBase
21854
21855 * page/animation/AnimationBase.cpp:
21856 * page/animation/AnimationBase.h:
21857 * page/animation/CompositeAnimation.cpp:
21858 * page/animation/ImplicitAnimation.cpp:
21859 * page/animation/ImplicitAnimation.h:
21860 * page/animation/KeyframeAnimation.cpp:
21861 * page/animation/KeyframeAnimation.h:
21862
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000218632008-09-10 Alexey Proskuryakov <ap@webkit.org>
21864
21865 Reviewed by Darin Adler.
21866
21867 https://bugs.webkit.org/show_bug.cgi?id=20741
21868 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
21869
21870 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
21871 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
21872 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
21873
21874 I also found and fixed a potential crasher for non-Mac ports.
21875
21876 Tests: fast/encoding/hebrew/8859-8-e.html
21877 fast/encoding/hebrew/8859-8-i.html
21878 fast/encoding/hebrew/8859-8.html
21879 fast/encoding/hebrew/csISO88598I.html
21880 fast/encoding/hebrew/hebrew.html
21881 fast/encoding/hebrew/iso-ir-138.html
21882 fast/encoding/hebrew/logical.html
21883
21884 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
21885 (case-insensitively, because different versions of ICU report this MIME name in different
21886 case).
21887
21888 * platform/text/TextCodecICU.cpp:
21889 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
21890 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
21891 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
21892 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
21893 we also support these via TEC (which we should stop doing), but on Windows, this would
21894 likely crash.
21895
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000218962008-09-09 Dave Hyatt <hyatt@apple.com
21897
21898 Resurrect PlatformScrollbarWin.
21899
21900 Reviewed by Adam Roben
21901
21902 * WebCore.vcproj/WebCore.vcproj:
21903 * platform/win/PlatformScrollBarWin.cpp:
21904 (WebCore::isRunningOnVistaOrLater):
21905 (WebCore::checkAndInitScrollbarTheme):
21906 (WebCore::PlatformScrollbar::PlatformScrollbar):
21907 (WebCore::PlatformScrollbar::invalidateTrack):
21908 (WebCore::PlatformScrollbar::invalidatePart):
21909 (WebCore::PlatformScrollbar::paint):
21910 (WebCore::PlatformScrollbar::hasButtons):
21911 (WebCore::PlatformScrollbar::hasThumb):
21912 (WebCore::PlatformScrollbar::backButtonRect):
21913 (WebCore::PlatformScrollbar::forwardButtonRect):
21914 (WebCore::PlatformScrollbar::trackRect):
21915 (WebCore::PlatformScrollbar::gripperRect):
21916 (WebCore::PlatformScrollbar::thumbLength):
21917 (WebCore::PlatformScrollbar::paintButton):
21918 (WebCore::PlatformScrollbar::paintTrack):
21919 (WebCore::PlatformScrollbar::paintThumb):
21920 (WebCore::PlatformScrollbar::paintGripper):
21921 (WebCore::PlatformScrollbar::hitTest):
21922 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
21923 (WebCore::PlatformScrollbar::handleMouseOutEvent):
21924 (WebCore::PlatformScrollbar::themeChanged):
21925
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000219262008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
21927
21928 Reviewed by Maciej Stachowiak.
21929
21930 Bug 20759: Remove MacroAssembler
21931 <https://bugs.webkit.org/show_bug.cgi?id=20759>
21932
21933 Make the necessary changes to ForwardingHeaders to remove
21934 MacroAssembler.
21935
21936 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
21937 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
21938 * ForwardingHeaders/masm/X86Assembler.h: Added.
21939
alp@webkit.org509e3d42008-09-10 01:26:20 +0000219402008-09-09 Alp Toker <alp@nuanti.com>
21941
21942 Reviewed by Dave Hyatt.
21943
21944 https://bugs.webkit.org/show_bug.cgi?id=16792
21945 [GTK] Fails to render Japanese/Chinese text with simple path
21946
21947 https://bugs.webkit.org/show_bug.cgi?id=16942
21948 [GTK] Oddities in font selection and fall back
21949
21950 https://bugs.webkit.org/show_bug.cgi?id=16862
21951 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
21952
21953 GTK+ font fixes and enhancements.
21954
21955 Implement font fallback for the simple FontConfig-based text path and
21956 improve the Pango-based complex text path to make use of requested
21957 font properties and available font selection.
21958
21959 Add text shadow support to the complex path.
21960
21961 * platform/graphics/gtk/FontCacheGtk.cpp:
21962 (WebCore::FontCache::getFontDataForCharacters):
21963 (WebCore::FontCache::getSimilarFontPlatformData):
21964 * platform/graphics/gtk/FontGtk.cpp:
21965 (WebCore::setPangoAttributes):
21966 (WebCore::Font::drawComplexText):
21967 (WebCore::getDefaultPangoLayout):
21968 (WebCore::Font::floatWidthForComplexText):
21969 (WebCore::Font::offsetForPositionForComplexText):
21970 (WebCore::Font::selectionRectForComplexText):
21971 * platform/graphics/gtk/FontPlatformData.h:
21972 (WebCore::FontPlatformData::FontPlatformData):
21973 (WebCore::FontPlatformData::hash):
21974 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
21975 (WebCore::FontPlatformData::FontPlatformData):
21976 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
21977 (WebCore::SimpleFontData::platformDestroy):
21978
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000219792008-09-09 Dave Hyatt <hyatt@apple.com>
21980
21981 Make the Windows classic case work again. Overlap in slider constants and other constants broke
21982 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
21983 value to make sure it's really a slider thumb to resolve this conflict.
21984
21985 Reviewed by Adam Roben
21986
21987 * rendering/RenderThemeWin.cpp:
21988 (WebCore::drawControl):
21989
dino@apple.com442d0652008-09-09 23:36:56 +0000219902008-09-05 Chris Marrin <cmarrin@apple.com>
21991
21992 Reviewed by Sam Weinig.
21993
21994 Need to handle the case when 0% or 100% keyframe is omitted
21995 https://bugs.webkit.org/show_bug.cgi?id=20679
21996
21997 Tests: animations/keyframes-from-missing.html
21998 animations/keyframes-to-missing.html
21999
22000 * css/CSSStyleSelector.cpp:
22001 (WebCore::CSSStyleSelector::addKeyframeStyle):
22002
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000220032008-09-09 Dave Hyatt <hyatt@apple.com>
22004
22005 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
22006 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
22007 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
22008 what changes have been made as compared with the old RenderThemeWin).
22009
22010 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
22011 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
22012 vs. printer advancement rounding).
22013
22014 Reviewed by Adam/Sam
22015
22016 * css/CSSStyleSelector.cpp:
22017 (WebCore::CSSStyleSelector::applyProperty):
22018 * platform/graphics/Icon.h:
22019 (WebCore::Icon::create):
22020 * rendering/RenderThemeWin.cpp:
22021 (WebCore::RenderThemeWin::RenderThemeWin):
22022 (WebCore::RenderThemeWin::~RenderThemeWin):
22023 (WebCore::RenderThemeWin::buttonTheme):
22024 (WebCore::RenderThemeWin::textFieldTheme):
22025 (WebCore::RenderThemeWin::menuListTheme):
22026 (WebCore::RenderThemeWin::sliderTheme):
22027 (WebCore::RenderThemeWin::close):
22028 (WebCore::RenderThemeWin::themeChanged):
22029 (WebCore::RenderThemeWin::supportsHover):
22030 (WebCore::fillFontDescription):
22031 (WebCore::RenderThemeWin::systemFont):
22032 (WebCore::RenderThemeWin::supportsFocus):
22033 (WebCore::RenderThemeWin::determineClassicState):
22034 (WebCore::RenderThemeWin::determineState):
22035 (WebCore::RenderThemeWin::determineSliderThumbState):
22036 (WebCore::RenderThemeWin::getClassicThemeData):
22037 (WebCore::RenderThemeWin::getThemeData):
22038 (WebCore::drawControl):
22039 (WebCore::RenderThemeWin::paintButton):
22040 (WebCore::RenderThemeWin::paintTextField):
22041 (WebCore::RenderThemeWin::paintMenuList):
22042 (WebCore::RenderThemeWin::adjustMenuListStyle):
22043 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
22044 (WebCore::RenderThemeWin::paintMenuListButton):
22045 (WebCore::RenderThemeWin::paintSliderTrack):
22046 (WebCore::RenderThemeWin::paintSliderThumb):
22047 (WebCore::RenderThemeWin::adjustSliderThumbSize):
22048 (WebCore::RenderThemeWin::paintSearchField):
22049 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
22050 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
22051 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
22052 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
22053 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
22054 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
22055 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
22056 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
22057 * rendering/RenderThemeWin.h:
22058 (WebCore::ThemeData::ThemeData):
22059 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
22060 (WebCore::RenderThemeWin::adjustButtonStyle):
22061 (WebCore::RenderThemeWin::adjustTextFieldStyle):
22062 (WebCore::RenderThemeWin::adjustTextAreaStyle):
22063
dino@apple.comd511ce52008-09-09 19:50:25 +0000220642008-09-09 Dean Jackson <dino@apple.com>
22065
22066 Reviewed by Sam Weinig.
22067
22068 Document::createEvent missing cases for animation and
22069 transition events.
22070 https://bugs.webkit.org/show_bug.cgi?id=20734
22071
22072 Test: transitions/transition-end-event-create.html
22073 Test: animations/animation-events-create.html
22074
22075 * dom/Document.cpp:
22076 (WebCore::Document::createEvent):
22077 - add the two cases
22078
mitz@apple.com1da7b882008-09-09 18:12:06 +0000220792008-09-09 Dan Bernstein <mitz@apple.com>
22080
mitz@apple.com54921562008-09-09 18:48:34 +000022081 - Tiger build fix
22082
22083 * WebCore.Tiger.exp:
22084 * WebCore.base.exp:
22085 * platform/mac/WebCoreSystemInterface.h:
22086 * platform/mac/WebCoreSystemInterface.mm:
22087
220882008-09-09 Dan Bernstein <mitz@apple.com>
22089
mitz@apple.com1da7b882008-09-09 18:12:06 +000022090 Reviewed by Darin Adler.
22091
22092 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
22093
22094 * WebCore.Tiger.exp:
22095 * WebCore.base.exp:
22096 * platform/graphics/SimpleFontData.h:
22097 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
22098 (WebCore::GlyphPage::fill):
22099 * platform/graphics/mac/SimpleFontDataMac.mm:
22100 (WebCore::initFontData):
22101 (WebCore::SimpleFontData::platformInit):
22102 (WebCore::SimpleFontData::platformDestroy):
22103 * platform/mac/WebCoreSystemInterface.h:
22104 * platform/mac/WebCoreSystemInterface.mm:
22105
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000221062008-09-09 Kevin McCullough <kmccullough@apple.com>
22107
22108 Reviewed by Tim.
22109
22110 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
22111 breakpoints inside eval.
22112
22113 * page/inspector/inspector.js:
22114
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000221152008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
22116
22117 Reviewed by Simon.
22118
22119 Fix compilation of the Qt port with disabled plugins on Windows
22120
22121 * WebCore.pro:
22122 * plugins/PluginView.cpp:
22123 (WebCore::PluginView::PluginView):
22124 * plugins/PluginView.h:
22125
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000221262008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
22127
22128 Reviewed by Alexey Proskuryakov.
22129
22130 Try MIME charset names before trying IANA names
22131 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
22132
22133 With this change, shorter and more widely used names (preferred MIME
22134 names) are returned by document.charset, document.characterSet,
22135 document.inputEncoding rather than IANA names. This helps
22136 fixing bug 18085 in addition to web developers who are more familiar
22137 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
22138 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
22139 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
22140 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
22141 used, the former is still recognized as aliases to the latter so that
22142 there's very little, if any, to worry about.
22143
22144 * platform/text/TextCodecICU.cpp:
22145 (WebCore::TextCodecICU::registerExtendedEncodingNames):
22146
weinig@apple.com22294302008-09-09 06:55:39 +0000221472008-09-08 Sam Weinig <sam@webkit.org>
22148
22149 Reviewed by Maciej Stachowiak and Oliver Hunt.
22150
22151 Add forwarding headers.
22152
22153 * ForwardingHeaders/wtf/HashFunctions.h: Added.
22154
dino@apple.comd9962af2008-09-09 01:02:00 +0000221552008-09-05 Dean Jackson <dino@apple.com>
22156
22157 Reviewed by Dan Bernstein.
22158
22159 Update grammar so that we can add a keyframe rule via the DOM.
22160 https://bugs.webkit.org/show_bug.cgi?id=20613
22161
22162 * css/CSSGrammar.y:
22163 * css/tokenizer.flex:
22164
antti@apple.com4b17a932008-09-09 00:40:45 +0000221652008-09-08 Antti Koivisto <antti@apple.com>
22166
22167 Reviewed by Dan Bernstein.
22168
22169 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
22170 actually show up in any of the default stylesheets.
22171
22172 * css/CSSStyleSelector.cpp:
22173 (WebCore::elementCanUseSimpleDefaultStyle):
22174
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000221752008-09-08 Dimitri Glazkov <dglazkov@google.com>
22176
22177 Reviewed by Dan Bernstein.
22178
22179 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
22180 Zero width and space characters are displayed incorrectly if not contained in a fallback font
22181
22182 Adds an extra check for Object Replacement Character (U+FFFC) to address
22183 the issue with fast/text/zero-width-characters.html test when run
22184 with Windows system default fonts.
22185
22186 * platform/graphics/Font.h:
22187 (WebCore::Font::treatAsZeroWidthSpace):
22188
dino@apple.comf0a4b212008-09-08 22:51:49 +0000221892008-09-08 Dean Jackson <dino@apple.com>
22190
22191 Reviewed by Sam Weinig.
22192
22193 Code style issue I forgot to fix from previous commit.
22194
22195 * platform/graphics/AffineTransform.cpp:
22196 (WebCore::AffineTransform::blend):
22197
dino@apple.com26625122008-09-08 22:46:41 +0000221982008-09-08 Chris Marrin <cmarrin@apple.com>
22199
22200 Reviewed by Sam Weinig
22201
22202 - Animation of -webkit-transform matrix() function should not do linear interpolation
22203 https://bugs.webkit.org/show_bug.cgi?id=20667
22204
22205 Test: animations/matrix-anim.html
22206
22207 * ChangeLog:
22208 * platform/graphics/AffineTransform.cpp:
22209 (WebCore::affineTransformDecompose):
22210 (WebCore::affineTransformCompose):
22211 (WebCore::AffineTransform::blend):
22212 * platform/graphics/AffineTransform.h:
22213 * rendering/style/RenderStyle.cpp:
22214 (WebCore::MatrixTransformOperation::blend):
22215
ap@webkit.org243a9752008-09-08 16:21:16 +0000222162008-09-08 Alexey Proskuryakov <ap@webkit.org>
22217
22218 Reviewed by Darin Adler.
22219
22220 https://bugs.webkit.org/show_bug.cgi?id=20668
22221 multipart/form-data does not always include Content-type for submitted files
22222
22223 Cannot be tested with DRT or manual tests.
22224
22225 * platform/MIMETypeRegistry.cpp:
22226 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
22227 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
22228 unknown extensions, not just missing ones.
22229
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000222302008-09-08 Simon Hausmann <hausmann@webkit.org>
22231
22232 Build fix for the Qt/Windows build, define USE_JSC to
22233 enable the WebCore::String -> JSC::UString operator that
22234 MSVC insists on seeing
22235
22236 * WebCore.pro:
22237
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000222382008-09-08 Anders Carlsson <andersca@apple.com>
22239
22240 Reviewed by Maciej.
22241
22242 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
22243
22244 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
22245 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
22246
22247 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
22248
22249 * bindings/js/JSDOMWindowBase.h:
22250 * loader/FrameLoader.cpp:
22251 (WebCore::FrameLoader::commitProvisionalLoad):
22252
antti@apple.com57b3a102008-09-08 07:01:36 +0000222532008-09-07 Antti Koivisto <antti@apple.com>
22254
22255 Reviewed by Dave Hyatt.
22256
22257 Don't leak the simple stylesheet.
22258 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
22259
22260 * css/CSSStyleSelector.cpp:
22261 (WebCore::loadFullDefaultStyle):
22262 (WebCore::loadSimpleDefaultStyle):
22263 (WebCore::CSSStyleSelector::styleForElement):
22264
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000222652008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22266
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000022267 Reviewed by Oliver Hunt.
22268
22269 Bug 20711: Change KJS prefix on preprocessor macros to JSC
22270 <https://bugs.webkit.org/show_bug.cgi?id=20711>
22271
22272 * bindings/js/JSEventTargetBase.h:
22273 * bindings/js/JSHTMLInputElementBase.cpp:
22274 * bindings/js/JSHTMLInputElementBase.h:
22275 * bindings/scripts/CodeGeneratorJS.pm:
22276
222772008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22278
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000022279 Reviewed by Maciej Stachowiak.
22280
22281 Bug 20704: Replace the KJS namespace
22282 <https://bugs.webkit.org/show_bug.cgi?id=20704>
22283
22284 Rename the KJS namespace to JSC. There are still some uses of KJS in the
22285 names of JNI functions, and I will check if these are safe to change
22286 as well.
22287
22288 * WebCore.base.exp:
22289 * bindings/js/GCController.cpp:
22290 * bindings/js/JSAttrCustom.cpp:
22291 * bindings/js/JSAudioConstructor.cpp:
22292 * bindings/js/JSAudioConstructor.h:
22293 (WebCore::JSAudioConstructor::classInfo):
22294 * bindings/js/JSCSSRuleCustom.cpp:
22295 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
22296 * bindings/js/JSCSSValueCustom.cpp:
22297 * bindings/js/JSCanvasPixelArrayCustom.cpp:
22298 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
22299 * bindings/js/JSClipboardCustom.cpp:
22300 * bindings/js/JSConsoleCustom.cpp:
22301 * bindings/js/JSCustomSQLStatementCallback.cpp:
22302 (WebCore::JSCustomSQLStatementCallback::handleEvent):
22303 * bindings/js/JSCustomSQLStatementCallback.h:
22304 (WebCore::JSCustomSQLStatementCallback::create):
22305 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22306 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22307 * bindings/js/JSCustomSQLStatementErrorCallback.h:
22308 (WebCore::JSCustomSQLStatementErrorCallback::create):
22309 * bindings/js/JSCustomSQLTransactionCallback.cpp:
22310 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22311 * bindings/js/JSCustomSQLTransactionCallback.h:
22312 (WebCore::JSCustomSQLTransactionCallback::create):
22313 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22314 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22315 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
22316 (WebCore::JSCustomSQLTransactionErrorCallback::create):
22317 * bindings/js/JSCustomVoidCallback.cpp:
22318 (WebCore::JSCustomVoidCallback::handleEvent):
22319 * bindings/js/JSCustomVoidCallback.h:
22320 (WebCore::JSCustomVoidCallback::create):
22321 * bindings/js/JSCustomXPathNSResolver.cpp:
22322 (WebCore::JSCustomXPathNSResolver::create):
22323 * bindings/js/JSCustomXPathNSResolver.h:
22324 * bindings/js/JSDOMApplicationCacheCustom.cpp:
22325 (WebCore::JSDOMApplicationCache::dispatchEvent):
22326 * bindings/js/JSDOMBinding.cpp:
22327 (WebCore::jsOwnedStringOrNull):
22328 * bindings/js/JSDOMBinding.h:
22329 (WebCore::DOMObject::DOMObject):
22330 (WebCore::cacheDOMObject):
22331 (WebCore::cacheSVGDOMObject):
22332 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
22333 (WebCore::toJS):
22334 * bindings/js/JSDOMWindowBase.cpp:
22335 * bindings/js/JSDOMWindowBase.h:
22336 (WebCore::JSDOMWindowBase::classInfo):
22337 (WebCore::JSDOMWindowBase::d):
22338 * bindings/js/JSDOMWindowCustom.cpp:
22339 (WebCore::JSDOMWindow::getPropertyAttributes):
22340 * bindings/js/JSDOMWindowCustom.h:
22341 (WebCore::asJSDOMWindow):
22342 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
22343 (WebCore::JSDOMWindow::customPut):
22344 (WebCore::JSDOMWindowBase::allowsAccessFrom):
22345 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
22346 * bindings/js/JSDOMWindowShell.cpp:
22347 (WebCore::JSDOMWindowShell::getPropertyAttributes):
22348 * bindings/js/JSDOMWindowShell.h:
22349 (WebCore::JSDOMWindowShell::classInfo):
22350 * bindings/js/JSDatabaseCustom.cpp:
22351 * bindings/js/JSDocumentCustom.cpp:
22352 * bindings/js/JSDocumentFragmentCustom.cpp:
22353 * bindings/js/JSElementCustom.cpp:
22354 * bindings/js/JSEventCustom.cpp:
22355 * bindings/js/JSEventListener.cpp:
22356 * bindings/js/JSEventListener.h:
22357 (WebCore::JSUnprotectedEventListener::create):
22358 (WebCore::JSEventListener::create):
22359 * bindings/js/JSEventTargetBase.cpp:
22360 * bindings/js/JSEventTargetBase.h:
22361 (WebCore::JSEventTargetBase::getValueProperty):
22362 (WebCore::JSEventTargetBase::putValueProperty):
22363 (WebCore::JSEventTargetBase::getOwnPropertySlot):
22364 (WebCore::JSEventTargetBase::put):
22365 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
22366 (WebCore::JSEventTargetPrototype::self):
22367 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
22368 (WebCore::JSEventTargetPrototype::classInfo):
22369 * bindings/js/JSEventTargetNode.cpp:
22370 * bindings/js/JSEventTargetNode.h:
22371 (WebCore::JSEventTargetNode::getOwnPropertySlot):
22372 (WebCore::JSEventTargetNode::getValueProperty):
22373 (WebCore::JSEventTargetNode::put):
22374 (WebCore::JSEventTargetNode::putValueProperty):
22375 * bindings/js/JSHTMLAllCollection.h:
22376 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
22377 (WebCore::JSHTMLAllCollection::toBoolean):
22378 * bindings/js/JSHTMLAppletElementCustom.cpp:
22379 * bindings/js/JSHTMLCollectionCustom.cpp:
22380 * bindings/js/JSHTMLDocumentCustom.cpp:
22381 * bindings/js/JSHTMLElementCustom.cpp:
22382 * bindings/js/JSHTMLEmbedElementCustom.cpp:
22383 * bindings/js/JSHTMLFormElementCustom.cpp:
22384 * bindings/js/JSHTMLFrameElementCustom.cpp:
22385 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
22386 * bindings/js/JSHTMLIFrameElementCustom.cpp:
22387 * bindings/js/JSHTMLInputElementBase.cpp:
22388 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
22389 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
22390 * bindings/js/JSHTMLInputElementBase.h:
22391 (WebCore::JSHTMLInputElementBase::classInfo):
22392 * bindings/js/JSHTMLObjectElementCustom.cpp:
22393 * bindings/js/JSHTMLOptionElementConstructor.cpp:
22394 * bindings/js/JSHTMLOptionElementConstructor.h:
22395 (WebCore::JSHTMLOptionElementConstructor::classInfo):
22396 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
22397 * bindings/js/JSHTMLSelectElementCustom.cpp:
22398 (WebCore::selectIndexSetter):
22399 (WebCore::JSHTMLSelectElement::indexSetter):
22400 * bindings/js/JSHTMLSelectElementCustom.h:
22401 * bindings/js/JSHistoryCustom.cpp:
22402 * bindings/js/JSImageConstructor.cpp:
22403 * bindings/js/JSImageConstructor.h:
22404 (WebCore::JSImageConstructor::classInfo):
22405 * bindings/js/JSInspectedObjectWrapper.cpp:
22406 * bindings/js/JSInspectedObjectWrapper.h:
22407 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
22408 (WebCore::JSInspectedObjectWrapper::classInfo):
22409 * bindings/js/JSInspectorCallbackWrapper.cpp:
22410 * bindings/js/JSInspectorCallbackWrapper.h:
22411 (WebCore::JSInspectorCallbackWrapper::classInfo):
22412 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
22413 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
22414 * bindings/js/JSLocationCustom.cpp:
22415 * bindings/js/JSMimeTypeArrayCustom.cpp:
22416 * bindings/js/JSNSResolver.cpp:
22417 * bindings/js/JSNSResolver.h:
22418 (WebCore::JSNSResolver::create):
22419 * bindings/js/JSNamedNodeMapCustom.cpp:
22420 * bindings/js/JSNamedNodesCollection.cpp:
22421 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
22422 * bindings/js/JSNamedNodesCollection.h:
22423 (WebCore::JSNamedNodesCollection::classInfo):
22424 * bindings/js/JSNavigatorCustom.cpp:
22425 * bindings/js/JSNodeCustom.cpp:
22426 * bindings/js/JSNodeFilterCondition.cpp:
22427 (WebCore::JSNodeFilterCondition::acceptNode):
22428 * bindings/js/JSNodeFilterCondition.h:
22429 (WebCore::JSNodeFilterCondition::create):
22430 * bindings/js/JSNodeFilterCustom.cpp:
22431 * bindings/js/JSNodeIteratorCustom.cpp:
22432 * bindings/js/JSNodeListCustom.cpp:
22433 * bindings/js/JSPluginArrayCustom.cpp:
22434 * bindings/js/JSPluginCustom.cpp:
22435 * bindings/js/JSPluginElementFunctions.cpp:
22436 (WebCore::getRuntimeObject):
22437 * bindings/js/JSPluginElementFunctions.h:
22438 * bindings/js/JSQuarantinedObjectWrapper.cpp:
22439 (WebCore::JSQuarantinedObjectWrapper::construct):
22440 (WebCore::JSQuarantinedObjectWrapper::call):
22441 * bindings/js/JSQuarantinedObjectWrapper.h:
22442 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
22443 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
22444 (WebCore::JSQuarantinedObjectWrapper::className):
22445 * bindings/js/JSRGBColor.cpp:
22446 * bindings/js/JSRGBColor.h:
22447 (WebCore::JSRGBColor::classInfo):
22448 * bindings/js/JSSQLResultSetRowListCustom.cpp:
22449 * bindings/js/JSSQLTransactionCustom.cpp:
22450 * bindings/js/JSSVGLazyEventListener.cpp:
22451 * bindings/js/JSSVGLazyEventListener.h:
22452 * bindings/js/JSSVGLengthCustom.cpp:
22453 * bindings/js/JSSVGMatrixCustom.cpp:
22454 (WebCore::JSSVGMatrix::inverse):
22455 (WebCore::JSSVGMatrix::rotateFromVector):
22456 * bindings/js/JSSVGPathSegCustom.cpp:
22457 * bindings/js/JSSVGPathSegListCustom.cpp:
22458 (WebCore::JSSVGPathSegList::initialize):
22459 (WebCore::JSSVGPathSegList::getItem):
22460 (WebCore::JSSVGPathSegList::insertItemBefore):
22461 (WebCore::JSSVGPathSegList::replaceItem):
22462 (WebCore::JSSVGPathSegList::removeItem):
22463 (WebCore::JSSVGPathSegList::appendItem):
22464 * bindings/js/JSSVGPointListCustom.cpp:
22465 * bindings/js/JSSVGTransformListCustom.cpp:
22466 * bindings/js/JSStorageCustom.cpp:
22467 * bindings/js/JSStyleSheetCustom.cpp:
22468 * bindings/js/JSStyleSheetListCustom.cpp:
22469 * bindings/js/JSTextCustom.cpp:
22470 * bindings/js/JSTreeWalkerCustom.cpp:
22471 * bindings/js/JSXMLHttpRequestConstructor.cpp:
22472 * bindings/js/JSXMLHttpRequestConstructor.h:
22473 (WebCore::JSXMLHttpRequestConstructor::classInfo):
22474 * bindings/js/JSXMLHttpRequestCustom.cpp:
22475 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
22476 * bindings/js/JSXSLTProcessorConstructor.cpp:
22477 * bindings/js/JSXSLTProcessorConstructor.h:
22478 (WebCore::JSXSLTProcessorConstructor::classInfo):
22479 * bindings/js/JSXSLTProcessorCustom.cpp:
22480 * bindings/js/ScheduledAction.cpp:
22481 * bindings/js/ScheduledAction.h:
22482 * bindings/js/ScriptController.cpp:
22483 (WebCore::ScriptController::attachDebugger):
22484 (WebCore::ScriptController::windowScriptNPObject):
22485 * bindings/js/ScriptController.h:
22486 * bindings/js/ScriptControllerGtk.cpp:
22487 (WebCore::ScriptController::createScriptInstanceForWidget):
22488 * bindings/js/ScriptControllerMac.mm:
22489 (WebCore::ScriptController::createScriptInstanceForWidget):
22490 (WebCore::ScriptController::windowScriptObject):
22491 (WebCore::ScriptController::clearPlatformScriptObjects):
22492 (WebCore::updateRenderingForBindings):
22493 (WebCore::ScriptController::initJavaJSBindings):
22494 * bindings/js/ScriptControllerQt.cpp:
22495 (WebCore::ScriptController::createScriptInstanceForWidget):
22496 * bindings/js/ScriptControllerWin.cpp:
22497 (WebCore::ScriptController::createScriptInstanceForWidget):
22498 * bindings/js/ScriptControllerWx.cpp:
22499 (WebCore::ScriptController::createScriptInstanceForWidget):
22500 * bindings/js/StringSourceProvider.h:
22501 (WebCore::StringSourceProvider::getRange):
22502 * bindings/objc/DOM.mm:
22503 (-[DOMNode JSC::Bindings::]):
22504 * bindings/objc/DOMInternal.h:
22505 * bindings/objc/DOMInternal.mm:
22506 (-[WebScriptObject _initializeScriptDOMNodeImp]):
22507 * bindings/objc/DOMUtility.mm:
22508 (JSC::createDOMWrapper):
22509 (WebCore::createDOMWrapper):
22510 * bindings/objc/WebScriptObject.mm:
22511 (WebCore::createJSWrapper):
22512 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
22513 * bindings/objc/WebScriptObjectPrivate.h:
22514 * bindings/scripts/CodeGeneratorJS.pm:
22515 * bridge/NP_jsobject.cpp:
22516 * bridge/NP_jsobject.h:
22517 * bridge/c/c_class.cpp:
22518 * bridge/c/c_class.h:
22519 * bridge/c/c_instance.cpp:
22520 * bridge/c/c_instance.h:
22521 * bridge/c/c_runtime.cpp:
22522 * bridge/c/c_runtime.h:
22523 * bridge/c/c_utility.cpp:
22524 * bridge/c/c_utility.h:
22525 * bridge/jni/jni_class.cpp:
22526 * bridge/jni/jni_class.h:
22527 * bridge/jni/jni_instance.cpp:
22528 * bridge/jni/jni_instance.h:
22529 * bridge/jni/jni_jsobject.h:
22530 * bridge/jni/jni_jsobject.mm:
22531 (JavaJSObject::call):
22532 (JavaJSObject::convertJObjectToValue):
22533 * bridge/jni/jni_objc.mm:
22534 (JSC::Bindings::dispatchJNICall):
22535 * bridge/jni/jni_runtime.cpp:
22536 * bridge/jni/jni_runtime.h:
22537 * bridge/jni/jni_utility.cpp:
22538 * bridge/jni/jni_utility.h:
22539 * bridge/npruntime.cpp:
22540 (_NPN_GetStringIdentifier):
22541 * bridge/objc/WebScriptObject.h:
22542 * bridge/objc/objc_class.h:
22543 * bridge/objc/objc_class.mm:
22544 * bridge/objc/objc_instance.h:
22545 * bridge/objc/objc_instance.mm:
22546 * bridge/objc/objc_runtime.h:
22547 * bridge/objc/objc_runtime.mm:
22548 * bridge/objc/objc_utility.h:
22549 * bridge/objc/objc_utility.mm:
22550 * bridge/qt/qt_class.cpp:
22551 * bridge/qt/qt_class.h:
22552 * bridge/qt/qt_instance.cpp:
22553 * bridge/qt/qt_instance.h:
22554 * bridge/qt/qt_runtime.cpp:
22555 (JSC::Bindings::convertQVariantToValue):
22556 (JSC::Bindings::):
22557 * bridge/qt/qt_runtime.h:
22558 * bridge/runtime.cpp:
22559 * bridge/runtime.h:
22560 * bridge/runtime_array.cpp:
22561 * bridge/runtime_array.h:
22562 * bridge/runtime_method.cpp:
22563 * bridge/runtime_method.h:
22564 * bridge/runtime_object.cpp:
22565 * bridge/runtime_object.h:
22566 * bridge/runtime_root.cpp:
22567 (JSC::Bindings::RootObject::invalidate):
22568 (JSC::Bindings::RootObject::gcProtect):
22569 (JSC::Bindings::RootObject::gcUnprotect):
22570 * bridge/runtime_root.h:
22571 * bridge/testbindings.cpp:
22572 * bridge/testbindings.mm:
22573 * bridge/testqtbindings.cpp:
22574 * dom/Document.cpp:
22575 (WebCore::Document::~Document):
22576 * dom/NSResolver.h:
22577 * dom/Node.cpp:
22578 (WebCore::Node::setDocument):
22579 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
22580 (WebCore::resolveNamespacesForSelector):
22581 (WebCore::Node::querySelector):
22582 (WebCore::Node::querySelectorAll):
22583 * dom/Node.h:
22584 * dom/NodeFilter.cpp:
22585 * dom/NodeFilter.h:
22586 * dom/NodeFilterCondition.cpp:
22587 * dom/NodeFilterCondition.h:
22588 * dom/NodeIterator.cpp:
22589 * dom/NodeIterator.h:
22590 * dom/Traversal.cpp:
22591 * dom/Traversal.h:
22592 * dom/TreeWalker.cpp:
22593 * dom/TreeWalker.h:
22594 * dom/make_names.pl:
22595 * history/CachedPage.cpp:
22596 * history/CachedPage.h:
22597 * html/HTMLPlugInElement.cpp:
22598 (WebCore::HTMLPlugInElement::getInstance):
22599 * html/HTMLPlugInElement.h:
22600 * loader/FrameLoader.cpp:
22601 * loader/FrameLoader.h:
22602 * loader/icon/IconDatabase.cpp:
22603 (WebCore::iconDatabase):
22604 * page/Console.cpp:
22605 * page/Console.h:
22606 * page/InspectorController.cpp:
22607 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
22608 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
22609 (WebCore::InspectorResource::setXMLHttpRequestProperties):
22610 (WebCore::InspectorResource::sourceString):
22611 (WebCore::getResourceDocumentNode):
22612 (WebCore::search):
22613 (WebCore::InspectorController::focusNode):
22614 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
22615 (WebCore::InspectorController::addDatabaseScriptResource):
22616 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
22617 * page/InspectorController.h:
22618 (WebCore::InspectorController::profiles):
22619 * page/JavaScriptCallFrame.cpp:
22620 (WebCore::JavaScriptCallFrame::scopeChain):
22621 * page/JavaScriptCallFrame.h:
22622 (WebCore::JavaScriptCallFrame::create):
22623 (WebCore::JavaScriptCallFrame::update):
22624 * page/JavaScriptDebugListener.h:
22625 * page/JavaScriptDebugServer.cpp:
22626 (WebCore::dispatchDidParseSource):
22627 * page/JavaScriptDebugServer.h:
22628 * page/JavaScriptProfile.cpp:
22629 * page/JavaScriptProfile.h:
22630 * page/JavaScriptProfileNode.cpp:
22631 (WebCore::getTotalTime):
22632 (WebCore::getSelfTime):
22633 (WebCore::getTotalPercent):
22634 (WebCore::getSelfPercent):
22635 (WebCore::getNumberOfCalls):
22636 (WebCore::getChildren):
22637 (WebCore::getVisible):
22638 * page/JavaScriptProfileNode.h:
22639 * page/Page.cpp:
22640 (WebCore::Page::setDebuggerForAllPages):
22641 (WebCore::Page::setDebugger):
22642 * page/Page.h:
22643 (WebCore::Page::debugger):
22644 * page/mac/FrameMac.mm:
22645 * platform/KURL.h:
22646 (WebCore::KURL::operator JSC::UString):
22647 * platform/text/AtomicString.cpp:
22648 (WebCore::AtomicString::add):
22649 (WebCore::AtomicString::find):
22650 * platform/text/AtomicString.h:
22651 (WebCore::AtomicString::AtomicString):
22652 * platform/text/PlatformString.h:
22653 * platform/text/String.cpp:
22654 (WebCore::charactersToDouble):
22655 * platform/win/BString.cpp:
22656 * platform/win/BString.h:
22657 * plugins/MimeTypeArray.h:
22658 * plugins/Plugin.h:
22659 * plugins/PluginArray.h:
22660 * plugins/PluginView.cpp:
22661 (WebCore::PluginView::start):
22662 (WebCore::PluginView::performRequest):
22663 (WebCore::PluginView::bindingInstance):
22664 * plugins/PluginView.h:
22665 * plugins/gtk/PluginViewGtk.cpp:
22666 (WebCore::PluginView::paint):
22667 (WebCore::PluginView::handleKeyboardEvent):
22668 (WebCore::PluginView::handleMouseEvent):
22669 (WebCore::PluginView::setNPWindowRect):
22670 (WebCore::PluginView::stop):
22671 (WebCore::PluginView::init):
22672 * plugins/qt/PluginViewQt.cpp:
22673 (WebCore::PluginView::setNPWindowRect):
22674 (WebCore::PluginView::stop):
22675 (WebCore::PluginView::init):
22676 * plugins/win/PluginViewWin.cpp:
22677 (WebCore::PluginView::dispatchNPEvent):
22678 (WebCore::PluginView::handleKeyboardEvent):
22679 (WebCore::PluginView::handleMouseEvent):
22680 (WebCore::PluginView::setNPWindowRect):
22681 (WebCore::PluginView::stop):
22682 * storage/Database.cpp:
22683 (WebCore::Database::Database):
22684 * xml/XMLHttpRequest.cpp:
22685 (WebCore::XMLHttpRequest::responseText):
22686 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
22687 (WebCore::XMLHttpRequest::clearResponse):
22688 (WebCore::XMLHttpRequest::dropProtection):
22689 (WebCore::XMLHttpRequest::didFinishLoading):
22690 (WebCore::XMLHttpRequest::didReceiveData):
22691 * xml/XMLHttpRequest.h:
22692
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000226932008-09-07 Adam Barth <abarth@webkit.org>
22694
22695 Reviewed by Sam Weinig.
22696
22697 Adopt opener restriction on frame navigation.
22698 https://bugs.webkit.org/show_bug.cgi?id=20642
22699
22700 This restriction helps prevent an attacker from navigating top-level
22701 windows that were created by another web site.
22702
22703 Tests: http/tests/security/frameNavigation/not-opener.html
22704 http/tests/security/frameNavigation/opener.html
22705
22706 * loader/FrameLoader.cpp:
22707 (WebCore::canAccessAncestor):
22708 (WebCore::FrameLoader::shouldAllowNavigation):
22709
mitz@apple.com83469af2008-09-07 22:29:56 +0000227102008-09-07 Dan Bernstein <mitz@apple.com>
22711
mitz@apple.com08ff58c2008-09-07 23:19:11 +000022712 Reviewed by Maciej Stachowiak.
22713
22714 - use the correct sign for vertical offsets of combining marks
22715
22716 * platform/graphics/win/UniscribeController.cpp:
22717 (WebCore::UniscribeController::shapeAndPlaceItem):
22718
227192008-09-07 Dan Bernstein <mitz@apple.com>
22720
mitz@apple.com83469af2008-09-07 22:29:56 +000022721 Reviewed by Dave Hyatt.
22722
mitz@apple.com78685b22008-09-07 22:30:29 +000022723 - add the combining mark offsets in two places where I forgot them
22724
22725 * platform/graphics/win/FontCGWin.cpp:
22726 (WebCore::Font::drawGlyphs):
22727
227282008-09-07 Dan Bernstein <mitz@apple.com>
22729
22730 Reviewed by Dave Hyatt.
22731
mitz@apple.com83469af2008-09-07 22:29:56 +000022732 - correct glyph advances in complex text using web fonts rendered with
22733 Core Graphics
22734
22735 * platform/graphics/win/FontCustomPlatformData.cpp:
22736 (WebCore::FontCustomPlatformData::fontPlatformData):
22737
timothy@apple.com968ebc92008-09-07 16:48:41 +0000227382008-09-07 Keishi Hattori <casey.hattori@gmail.com>
22739
22740 Adds console.dirxml support to the Web Inspector.
22741
22742 https://bugs.webkit.org/show_bug.cgi?id=19156
22743
22744 Reviewed by Timothy Hatcher.
22745
22746 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
22747 * bindings/js/JSConsoleCustom.cpp:
22748 (WebCore::JSConsole::dirxml):
22749 * page/Console.cpp:
22750 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
22751 * page/Console.h:
22752 (WebCore::): Added NodeMessageLevel.
22753 * page/Console.idl: Added console.dirxml.
22754 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
22755 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
22756 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
22757 * page/inspector/ElementsTreeOutline.js: Added.
22758 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
22759 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
22760 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
22761 * page/inspector/inspector.css:
22762 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
22763 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
22764 (WebInspector.altKeyDown):
22765 (WebInspector.forceHoverHighlight):
22766 (WebInspector.hoveredDOMNode):
22767 (WebInspector._updateHoverHighlightSoon):
22768 (WebInspector._updateHoverHighlight):
22769 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
22770 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
22771 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
22772 isAncestorIncludingParentFrames.
22773
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000227742008-09-06 Mark Rowe <mrowe@apple.com>
22775
22776 Qt build fix.
22777
22778 * bridge/qt/qt_runtime.cpp:
22779 (KJS::Bindings::convertQVariantToValue):
22780
mrowe@apple.comf88a4632008-09-07 05:44:58 +000022781=== End merge of squirrelfish-extreme ===
22782
227832008-09-05 Oliver Hunt <oliver@apple.com>
22784
22785 Start bringing up SFX on windows.
22786
22787 Reviewed by Mark Rowe and Sam Weinig
22788
22789 Start doing the work to bring up SFX on windows. Initially
22790 just working on WREC, as it does not make any calls so reduces
22791 the amount of code that needs to be corrected.
22792
22793 Add forwarding headers
22794
22795 * ChangeLog:
22796 * ForwardingHeaders/masm/MacroAssembler.h: Added.
22797 * WebCore.vcproj/WebCore.vcproj:
22798
227992008-08-27 Mark Rowe <mrowe@apple.com>
22800
22801 Reviewed by Oliver Hunt.
22802
22803 Fix the build of the full WebKit stack.
22804
22805 Add forwarding headers.
22806
22807 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
22808 * ForwardingHeaders/wrec/WREC.h: Added.
22809
22810=== Start merge of squirrelfish-extreme ===
22811
antti@apple.com13c24932008-09-07 03:54:21 +0000228122008-09-06 Antti Koivisto <antti@apple.com>
22813
22814 Reviewed by Dave Hyatt.
22815
22816 <rdar://problem/6187043>
22817 Don't parse full HTML user agent style sheet unless it is actually needed
22818 <rdar://problem/6131889>
22819 WebView is significantly more expensive to create recently
22820
22821 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
22822 startup. Some clients may never use most of the rules.
22823
22824 With this patch we use simplified UA stylesheet until we hit something it can't handle.
22825 This avoids full stylesheet parsing on application startup (due to empty document construction)
22826 and also makes it possible for clients with very simple demands (divs and spans only) never to load
22827 the full style.
22828
22829 It also delays view source style parsing until it is used.
22830
22831 * css/CSSStyleSelector.cpp:
22832 (WebCore::elementCanUseSimpleDefaultStyle):
22833 (WebCore::CSSStyleSelector::CSSStyleSelector):
22834 (WebCore::loadFullDefaultStyle):
22835 (WebCore::loadSimpleDefaultStyle):
22836 (WebCore::loadViewSourceStyle):
22837 (WebCore::CSSStyleSelector::matchUARules):
22838 (WebCore::CSSStyleSelector::styleForElement):
22839
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000228402008-09-06 Kevin Ollivier <kevino@theolliviers.com>
22841
22842 wx build fix.
22843
22844 * WebCoreSources.bkl:
22845
antti@apple.come953f862008-09-06 23:27:09 +0000228462008-09-06 Antti Koivisto <antti@apple.com>
22847
antti@apple.com00dfa532008-09-06 23:32:26 +000022848 Reverting r35953 which was causing problems on Windows which relies on
22849 WebCore timers in nested event loops. r36132 did alternative fix.
22850
22851 * page/Chrome.cpp:
22852 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
22853 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
22854
228552008-09-06 Antti Koivisto <antti@apple.com>
22856
antti@apple.come953f862008-09-06 23:27:09 +000022857 Reviewed by Dan Bernstein.
22858
22859 Fix <rdar://problem/6201644>
22860 https://bugs.webkit.org/show_bug.cgi?id=20493
22861 Crash after OK in dialog box and reloading page in secure mode
22862
22863 Limited loader only fix since the general timer fix is causing problems on Windows.
22864
22865 * loader/loader.cpp:
22866 (WebCore::Loader::servePendingRequests):
22867 (WebCore::Loader::Host::Host):
22868 (WebCore::Loader::Host::didFinishLoading):
22869 (WebCore::Loader::Host::didFail):
22870 (WebCore::Loader::Host::didReceiveData):
22871 * loader/loader.h:
22872 (WebCore::Loader::Host::processingResource):
22873
mitz@apple.com046bf642008-09-06 08:31:02 +0000228742008-09-06 Dan Bernstein <mitz@apple.com>
22875
22876 Reviewed by Dave Hyatt.
22877
mitz@apple.comc0b050b2008-09-06 22:39:34 +000022878 The initial Core Text adoption prototype was made by Daniel Fenwick.
22879
22880 - <rdar://problem/5158514> Add a Core Text-based complex text code path
22881
22882 Currently the Core Text code path is not used in any configuration.
22883
22884 * WebCore.xcodeproj/project.pbxproj: Added files.
22885 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
22886 * platform/graphics/Font.cpp:
22887 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
22888 of the loop.
22889 * platform/graphics/GlyphBuffer.h:
22890 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
22891 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
22892 Added getCTFont() and getCFStringAttributes() and corresponding data
22893 members for Core Text.
22894 * platform/graphics/mac/CoreTextController.cpp: Added.
22895 (WebCore::roundCGFloat): Helper function.
22896 (WebCore::ceilCGFloat): Helper function.
22897 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
22898 (WebCore::CoreTextController::CoreTextController):
22899 (WebCore::CoreTextController::offsetForPosition):
22900 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
22901 run into subruns as necessary such that each subrun can be rendered with
22902 a single font. Also separates out soft hyphens and replaces them with
22903 real hyphens, because Core Text does not emit a glyph for soft hyphens.
22904 Then calls collectCoreTextRunsForCharacters() on each subrun.
22905 (WebCore::CoreTextController::advance):
22906 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
22907 a CTLine from the given subrun and collects its CoreTextRuns.
22908 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
22909 rounding hacks, letter- and word-spacing and glyph substitutions and
22910 stores the resulting adjusted glyphs and advances.
22911 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
22912 (WebCore::CoreTextController::totalWidth):
22913 (WebCore::CoreTextController::finalRoundingWidth):
22914 (WebCore::CoreTextController::CoreTextRun::ctRun):
22915 (WebCore::CoreTextController::CoreTextRun::glyphCount):
22916 (WebCore::CoreTextController::CoreTextRun::fontData):
22917 (WebCore::CoreTextController::CoreTextRun::characters):
22918 (WebCore::CoreTextController::CoreTextRun::stringLocation):
22919 (WebCore::CoreTextController::CoreTextRun::stringLength):
22920 (WebCore::CoreTextController::CoreTextRun::indexAt):
22921 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
22922 FontMacATSUI.mm.
22923 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
22924 (WebCore::disableLigatures): Changed to call
22925 FontPlatformData::allowsLigatures().
22926 (WebCore::overrideLayoutOperation): Changed to call
22927 FontPlatformData::roundsGlyphAdvances().
22928 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
22929 (WebCore::Font::selectionRectForComplexText): Changed to use
22930 totalWidth() instead of advancing to the end and using runWidthSoFar().
22931 (WebCore::Font::drawComplexText):
22932 (WebCore::Font::floatWidthForComplexText): Ditto.
22933 (WebCore::Font::offsetForPositionForComplexText):
22934 * platform/graphics/mac/FontPlatformData.h:
22935 * platform/graphics/mac/FontPlatformDataMac.mm:
22936 (WebCore::FontPlatformData::setFont):
22937 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
22938 AppKit rendering mode.
22939 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
22940 heuristic that allows ligatures in fonts that do not have a glyph for
22941 'a', based on the assumption that such fonts are only used in complex
22942 text.
22943 * platform/graphics/mac/SimpleFontDataMac.mm:
22944 (WebCore::SimpleFontData::platformInit):
22945 (WebCore::SimpleFontData::platformDestroy):
22946 (WebCore::SimpleFontData::getCTFont): Added.
22947 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
22948 returns an attributes dictionary.
22949 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
22950 * platform/text/mac/ShapeArabic.h: Ditto.
22951
229522008-09-06 Dan Bernstein <mitz@apple.com>
22953
22954 Reviewed by Dave Hyatt.
22955
mitz@apple.com046bf642008-09-06 08:31:02 +000022956 - make combining mark offsets work in CG text on Windows
22957
22958 * platform/graphics/win/FontCGWin.cpp:
22959 (WebCore::Font::drawGlyphs): The old code tried to translate the text
22960 matrix, but failed for two reasons: it did not actually change the
22961 matrix, and even if it did, CGContextSetTextPosition overwrites the
22962 translation values in the text matrix. Instead, just added the
22963 translation to the anchor point.
22964
alp@webkit.org369cdca2008-09-06 04:08:30 +0000229652008-09-05 Gustavo Noronha Silva <gns@gnome.org>
22966
22967 Reviewed by Alp Toker.
22968
22969 https://bugs.webkit.org/show_bug.cgi?id=18346
22970 [GTK] Remove build warnings
22971
22972 Applied some casts, and removed an unused typedef to make the
22973 compiler happy, printing less warnings when building.
22974
22975 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
22976 * platform/graphics/gtk/SimpleFontDataPango.cpp:
22977 (WebCore::SimpleFontData::containsCharacters):
22978 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
22979 (webkit_video_sink_set_caps):
22980 * platform/network/soup/ResourceHandleSoup.cpp:
22981
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000229822008-09-05 Eric Seidel <eric@webkit.org>
22983
eric@webkit.org5ac37902008-09-06 00:21:58 +000022984 Reviewed by Adam Roben.
22985
22986 Build fix for WebKitWin and Chromium
22987
22988 * platform/FileSystem.h:
22989
229902008-09-05 Eric Seidel <eric@webkit.org>
22991
eric@webkit.org3cb292c2008-09-05 22:17:56 +000022992 Reviewed by Darin Adler.
22993
22994 Try to make Chromium compile with ToT:
22995 - Wrap a few places which depend on KJS:: in #if USE(JSC)
22996 - Include some windows forward declarations
22997
22998 * dom/Node.h:
22999 * page/Console.h:
23000 * page/animation/CompositeAnimation.h:
23001 * platform/FileSystem.h:
23002 * platform/graphics/Image.h:
23003 * platform/text/AtomicString.h:
23004 * platform/text/String.cpp:
23005 * rendering/style/RenderStyle.h:
23006
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000230072008-09-05 Dave Hyatt <hyatt@apple.com>
23008
23009 Add support for runtime switchability of the Aqua look and the native look on Windows.
23010 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
23011
23012 Reviewed by Adam Roben
23013
23014 * WebCore.vcproj/WebCore.vcproj:
23015 * page/Settings.cpp:
23016 (WebCore::Settings::setShouldPaintNativeControls):
23017 * page/Settings.h:
23018 (WebCore::Settings::shouldPaintNativeControls):
23019 * rendering/RenderThemeSafari.cpp:
23020 (WebCore::theme):
23021 * rendering/RenderThemeWin.cpp:
23022
antti@apple.combced97f2008-09-05 18:52:05 +0000230232008-09-05 Antti Koivisto <antti@apple.com>
23024
23025 Qt build fix.
23026
23027 * svg/SVGFEImageElement.cpp:
23028 (WebCore::SVGFEImageElement::build):
23029
aroben@apple.comca0c3362008-09-05 15:33:28 +0000230302008-09-05 Dirk Schulze <vbs85@gmx.de>
23031
23032 Gtk build fix
23033
23034 * GNUmakefile.am:
23035
antti@apple.com72e4a842008-09-05 09:28:11 +0000230362008-09-05 Antti Koivisto <antti@apple.com>
23037
antti@apple.com49e46662008-09-05 10:36:59 +000023038 Another build fix.
23039
23040 * svg/SVGFEImageElement.cpp:
23041 (WebCore::SVGFEImageElement::notifyFinished):
23042
230432008-09-05 Antti Koivisto <antti@apple.com>
23044
antti@apple.comfeec2582008-09-05 10:03:39 +000023045 Build fixes.
23046
23047 * WebCore.xcodeproj/project.pbxproj:
23048 * svg/graphics/filters/SVGFEImage.cpp:
23049 (WebCore::FEImage::cachedImage):
23050
230512008-09-05 Antti Koivisto <antti@apple.com>
23052
darin@apple.com07c80c62008-09-05 18:15:43 +000023053 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000023054
23055 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
23056 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
23057
23058 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
23059 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
23060 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
23061 we avoid re-decoding resources, especially images.
23062
23063 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
23064 CacheControl: max-age=0 header. That would be added in reload case.
23065
23066 The approach for revalidation is to kick the original resource out from the memory cache
23067 and create a new CachedResource that represents the revalidation request. In case
23068 we get 304 back for the request we put the original resource back to the cache, update
23069 its expiration date and switch the clients registered to revalidation resource to be
23070 clients of the original resource.
23071
23072 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
23073 This allows updating the handles to point to the original resource when the revalidation succeeds. It
23074 also acts as refcounting smart pointer.
23075
23076 * WebCore.pro:
23077 * WebCore.vcproj/WebCore.vcproj:
23078 * WebCore.xcodeproj/project.pbxproj:
23079 * css/CSSFontFaceSource.h:
23080 * css/CSSImportRule.h:
23081 * dom/Clipboard.h:
23082 (WebCore::Clipboard::dragImage):
23083 * dom/ProcessingInstruction.h:
23084 * dom/ScriptElement.h:
23085 * dom/XMLTokenizer.cpp:
23086 (WebCore::XMLTokenizer::isWaitingForScripts):
23087 * dom/XMLTokenizer.h:
23088 * html/HTMLImageLoader.cpp:
23089 (WebCore::HTMLImageLoader::setImage):
23090 (WebCore::HTMLImageLoader::updateFromElement):
23091 (WebCore::HTMLImageLoader::notifyFinished):
23092 * html/HTMLImageLoader.h:
23093 (WebCore::HTMLImageLoader::image):
23094 * html/HTMLLinkElement.h:
23095 * html/HTMLTokenizer.cpp:
23096 (WebCore::HTMLTokenizer::reset):
23097 (WebCore::HTMLTokenizer::scriptHandler):
23098 (WebCore::HTMLTokenizer::notifyFinished):
23099 * html/HTMLTokenizer.h:
23100 * loader/Cache.cpp:
23101 (WebCore::Cache::revalidateResource):
23102 (WebCore::Cache::revalidationSucceeded):
23103 (WebCore::Cache::revalidationFailed):
23104 * loader/Cache.h:
23105 * loader/CachedResource.cpp:
23106 (WebCore::CachedResource::CachedResource):
23107 (WebCore::CachedResource::~CachedResource):
23108 (WebCore::CachedResource::isExpired):
23109 (WebCore::CachedResource::setResponse):
23110 (WebCore::CachedResource::deleteIfPossible):
23111 (WebCore::CachedResource::setResourceToRevalidate):
23112 (WebCore::CachedResource::clearResourceToRevalidate):
23113 (WebCore::CachedResource::switchClientsToRevalidatedResource):
23114 (WebCore::CachedResource::canUseCacheValidator):
23115 (WebCore::CachedResource::mustRevalidate):
23116 * loader/CachedResource.h:
23117 (WebCore::CachedResource::canDelete):
23118 (WebCore::CachedResource::registerHandle):
23119 (WebCore::CachedResource::unregisterHandle):
23120 (WebCore::CachedResource::isCacheValidator):
23121 (WebCore::CachedResource::resourceToRevalidate):
23122 (WebCore::CachedResource::setExpirationDate):
23123 * loader/CachedResourceHandle.cpp: Added.
23124 (WebCore::CachedResourceHandleBase::setResource):
23125 * loader/CachedResourceHandle.h: Added.
23126 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
23127 (WebCore::CachedResourceHandleBase::get):
23128 (WebCore::CachedResourceHandleBase::operator!):
23129 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
23130 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
23131 (WebCore::CachedResourceHandleBase::operator=):
23132 (WebCore::CachedResourceHandle::CachedResourceHandle):
23133 (WebCore::CachedResourceHandle::get):
23134 (WebCore::CachedResourceHandle::operator->):
23135 (WebCore::CachedResourceHandle::operator=):
23136 (WebCore::CachedResourceHandle::operator==):
23137 (WebCore::CachedResourceHandle::operator!=):
23138 (WebCore::operator==):
23139 (WebCore::operator!=):
23140 * loader/DocLoader.cpp:
23141 (WebCore::DocLoader::checkForReload):
23142 * loader/UserStyleSheetLoader.h:
23143 * loader/loader.cpp:
23144 (WebCore::Loader::Host::servePendingRequests):
23145 (WebCore::Loader::Host::didFinishLoading):
23146 (WebCore::Loader::Host::didFail):
23147 (WebCore::Loader::Host::didReceiveResponse):
23148 (WebCore::Loader::Host::didReceiveData):
23149 * page/EventHandler.cpp:
23150 (WebCore::EventHandler::selectCursor):
23151 * rendering/RenderImage.cpp:
23152 (WebCore::RenderImage::setCachedImage):
23153 (WebCore::RenderImage::imageChanged):
23154 * rendering/RenderImage.h:
23155 (WebCore::RenderImage::cachedImage):
23156 (WebCore::RenderImage::imagePtr):
23157 * rendering/style/RenderStyle.h:
23158 * rendering/style/StyleCachedImage.h:
23159 (WebCore::StyleCachedImage::data):
23160 (WebCore::StyleCachedImage::cachedImage):
23161 * svg/SVGFEImageElement.h:
23162 * svg/graphics/filters/SVGFEImage.h:
23163 * xml/XSLImportRule.h:
23164
beidson@apple.comab60d982008-09-05 04:58:12 +0000231652008-09-04 Brady Eidson <beidson@apple.com>
23166
23167 Reviewed by Mitz
23168
23169 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
23170
23171 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
23172 to model default NSURLRequest behavior in a cross-platform manner.
23173
23174 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
23175 client that wished to enforce a much larger default timeout using NSURLRequest API.
23176
23177 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
23178 behavior on the web and this restores previous Safari/WebKit behavior.
23179
23180 It would be easy to write a layout test for this, but to be effective it would have
23181 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
23182
23183 * manual-tests/timeout-test.html: Added.
23184 * manual-tests/timeout-test.php: Added.
23185
23186 * platform/network/ResourceRequestBase.h:
23187 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
23188 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
23189 * platform/network/mac/ResourceRequestMac.mm:
23190 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
23191 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
23192 WebKit applications to enforce their own default timeout.
23193
mitz@apple.com20268542008-09-05 04:26:32 +0000231942008-09-04 Dan Bernstein <mitz@apple.com>
23195
23196 Reviewed by Beth Dakin.
23197
23198 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
23199
23200 Test: fast/repaint/button-spurious-layout-hint.html
23201
23202 * rendering/RenderButton.cpp:
23203 (WebCore::RenderButton::setStyle): Reset the inner block's style box
23204 flex to 0 to avoid getting a spurious layout hint.
23205
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000232062008-09-04 Kevin Ollivier <kevino@theolliviers.com>
23207
23208 wx build fixes.
23209
23210 * WebCoreSources.bkl:
23211 * bindings/js/ScriptControllerWx.cpp: Added.
23212 (WebCore::ScriptController::createScriptInstanceForWidget):
23213 * page/wx/AccessibilityObjectWx.cpp: Added.
23214 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
23215 * platform/graphics/wx/GraphicsContextWx.cpp:
23216 * webcore-base.bkl:
23217 * webcore-wx.bkl:
23218
mitz@apple.com95a87502008-09-04 23:27:19 +0000232192008-09-04 Dan Bernstein <mitz@apple.com>
23220
23221 Reviewed by Mark Rowe.
23222
23223 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
23224 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
23225 require a different approach
23226
23227 * css/CSSGrammar.y:
23228
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000232292008-09-04 Mark Rowe <mrowe@apple.com>
23230
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000023231 Reviewed by Eric Seidel.
23232
23233 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
23234 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
23235
23236 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
23237 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
23238 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
23239
232402008-09-04 Mark Rowe <mrowe@apple.com>
23241
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000023242 Mac build fix.
23243
23244 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
23245
eric@webkit.org0716a542008-09-04 20:44:12 +0000232462008-09-04 Eric Seidel <eric@webkit.org>
23247
23248 Build fix only, no review.
23249
23250 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
23251
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000232522008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
23253
23254 Reviewed by Eric Seidel.
23255
23256 http://bugs.webkit.org/show_bug.cgi?id=20380
23257 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
23258
23259 * config.h: Include the configuration header generated by autotools if
23260 available.
23261
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000232622008-09-04 Dan Bernstein <mitz@apple.com>
23263
23264 Rubber-stamped by Dave Hyatt.
23265
23266 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
23267
23268 * loader/CachedFont.cpp:
23269 (WebCore::CachedFont::allClientsRemoved):
23270 * loader/CachedFont.h:
23271 * loader/CachedImage.cpp:
23272 (WebCore::CachedImage::allClientsRemoved):
23273 * loader/CachedImage.h:
23274 * loader/CachedResource.cpp:
23275 (WebCore::CachedResource::removeClient):
23276 * loader/CachedResource.h:
23277 (WebCore::CachedResource::allClientsRemoved):
23278
aroben@apple.com0da404d2008-09-04 16:09:33 +0000232792008-09-04 Adam Roben <aroben@apple.com>
23280
aroben@apple.comdd3861a2008-09-04 16:09:53 +000023281 Windows build fix after r36071
23282
23283 We were getting these errors:
23284
23285 error C2356: initialization segment must not change during translation
23286 unit
23287
23288 This was happening because multiple files #included by
23289 DerivedSources.cpp were themselves #including StaticConstructors.h. I
23290 fixed the error by adding header guards to StaticConstructors.h so its
23291 contents will only be included once.
23292
23293 But it's also not a good idea for StaticConstructors.h to end up in
23294 DerivedSources.cpp, since it ends up "polluting" all the source files
23295 we have in there. So I removed all the files that include
23296 StaticConstructors.h and added some preprocessor directives to
23297 DerivedSources.cpp to catch this error in the future.
23298
23299 * DerivedSources.cpp: Removed the *Names.cpp files, which include
23300 StaticConstructors.h, and added some preprocessor directives to make
23301 sure we don't end up accidentally including StaticConstructors.h in
23302 the future.
23303 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
23304 * platform/StaticConstructors.h: Added header guards.
23305
233062008-09-04 Adam Roben <aroben@apple.com>
23307
aroben@apple.com0da404d2008-09-04 16:09:33 +000023308 Windows build fix
23309
23310 * platform/graphics/win/FontPlatformData.h: Added a missing #include
23311 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
23312 * platform/text/PlatformString.h: Added a missing #include of
23313 PassRefPtr.h.
23314
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000233152008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
23316
23317 Reviewed by Simon.
23318
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000023319 Fix the QtWebKit build to match changes in r36016
23320
23321 * WebCore.pro:
23322 * bridge/qt/qt_instance.cpp:
23323 (KJS::Bindings::QtInstance::getRuntimeObject):
23324 * bridge/qt/qt_runtime.cpp:
23325 (KJS::Bindings::convertQVariantToValue):
23326 (KJS::Bindings::QtConnectionObject::execute):
23327
233282008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
23329
23330 Reviewed by Simon.
23331
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000023332 Re-enable support for user stylesheets in QtWebKit
23333
23334 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
23335 code path, which allows us to keep API support for
23336 loading user style sheets from remote URLs.
23337
23338 As part of the change UserStyleSheetLoader.cpp/h was
23339 moved from WebCore/loader/mac to WebCore/loader.
23340
23341 * WebCore.pro:
23342 * WebCore.xcodeproj/project.pbxproj:
23343 * dom/Document.h:
23344 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
23345 (UserStyleSheetLoader::UserStyleSheetLoader):
23346 (UserStyleSheetLoader::~UserStyleSheetLoader):
23347 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
23348 * page/qt/FrameQt.cpp:
23349 (WebCore::Frame::setUserStyleSheetLocation):
23350 (WebCore::Frame::setUserStyleSheet):
23351
alp@webkit.org539ff852008-09-04 09:14:42 +0000233522008-09-04 Alp Toker <alp@nuanti.com>
23353
23354 Reviewed by Eric.
23355
23356 Remove left-over QT and CAIRO platform checks.
23357
23358 * html/CanvasRenderingContext2D.cpp:
23359
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000233602008-09-04 Eric Seidel <eric@webkit.org>
23361
23362 Reviewed by Mark Rowe.
23363
mitz@apple.com9388d252008-09-04 08:58:58 +000023364 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000023365
23366 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
23367
mitz@apple.com89557c52008-09-04 07:26:53 +0000233682008-09-04 Dan Bernstein <mitz@apple.com>
23369
23370 Reviewed by Dave Hyatt.
23371
23372 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
23373 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
23374
23375 * rendering/RenderBlock.cpp:
23376 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
23377 positioned movement only case, call
23378 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
23379 layout if that fails.
23380 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
23381 * rendering/RenderBox.h:
23382 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
23383 layoutDoingPositionedMovementOnly to this, and made this function
23384 check if the width changed. If it did, return, leaving the object
23385 dirty. The caller can then call layout(). The width can change even
23386 in the "positioned movement only" case if the object is shrink-to-fit
23387 and the available width constraint is met. (This was the case in the
23388 bug).
23389 * rendering/RenderObject.h:
23390 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
23391 Renamed layoutDoingPositionedMovementOnly() to this.
23392
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000233932008-09-03 Eric Seidel <eric@webkit.org>
23394
23395 No review, build fix only.
23396
23397 Attempt to fix the Qt build.
23398
23399 * WebCore.pro: add page/animation to include path
23400
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000234012008-09-03 Mark Rowe <mrowe@apple.com>
23402
23403 Mac build fix. Correctly detect whether dashboard support is enabled.
23404
23405 * DerivedSources.make:
23406
eric@webkit.org3eefe672008-09-04 01:32:26 +0000234072008-09-03 Eric Seidel <eric@webkit.org>
23408
23409 Reviewed by Sam.
23410
eric@webkit.org5e069092008-09-04 01:32:51 +000023411 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
23412
23413 * Configurations/WebCore.xcconfig: add missing ENABLE_*
23414 * config.h: add rules for V8_BINDINGS
23415
234162008-09-03 Eric Seidel <eric@webkit.org>
23417
23418 Reviewed by Sam.
23419
eric@webkit.org3eefe672008-09-04 01:32:26 +000023420 https://bugs.webkit.org/show_bug.cgi?id=20620
23421
23422 Add #if USE(JSC) around KJS dependencies
23423 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
23424 1. Most platforms have it on anyway
23425 2. V8 is going to want to share some of that code
23426 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
23427
23428 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
23429 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
23430 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23431 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23432 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23433 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23434 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23435 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
23436 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
23437 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
23438 * platform/text/AtomicString.cpp: add USE(JSC)
23439 * platform/text/AtomicString.h: add USE(JSC)
23440 * platform/text/PlatformString.h: add USE(JSC)
23441 * platform/text/String.cpp: add USE(JSC)
23442 * platform/text/StringImpl.cpp: add USE(JSC)
23443 * platform/text/StringImpl.h: add USE(JSC)
23444
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000234452008-09-03 Dean McNamee <deanm@chromium.org>
23446
23447 Reviewed by Darin Adler.
23448
23449 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
23450 Bug 20511: Remove static initializers on Windows
23451
23452 Avoid static initializers on Windows by forcing Visual C++ to put
23453 all static initializers in a code segment that is never executed.
23454
23455 * config.h:
23456 * css/MediaFeatureNames.cpp:
23457 * dom/EventNames.cpp:
23458 * dom/QualifiedName.cpp:
23459 * dom/make_names.pl:
23460 * platform/StaticConstructors.h:
23461 * platform/text/AtomicString.cpp:
23462
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000234632008-09-03 Dirk Schulze <vbs85@gmx.de>
23464
23465 Reviewed by Dave Hyatt.
23466
23467 Make FontCairo draw TextStroke and TextFill separately.
23468
23469 [CAIRO] draw TextFill and TextStroke separately.
23470 [https://bugs.webkit.org/show_bug.cgi?id=20631]
23471
23472 * platform/graphics/cairo/FontCairo.cpp:
23473 (WebCore::Font::drawGlyphs):
23474
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000234752008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000023476
23477 Reviewed by Dave Hyatt.
23478
23479 https://bugs.webkit.org/show_bug.cgi?id=19663
23480 Account for paint and timer lag when animating images. Also pretend
23481 that images whose animations were paused (by becoming invisible)
23482 continued to animate, by "catching up" to the correct frame when they're
23483 shown again.
23484
23485 * platform/graphics/BitmapImage.cpp:
23486 (WebCore::BitmapImage::BitmapImage):
23487 (WebCore::BitmapImage::startAnimation):
23488 (WebCore::BitmapImage::advanceAnimation):
23489 (WebCore::BitmapImage::internalAdvanceAnimation):
23490 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
23491 * platform/graphics/BitmapImage.h:
23492 * platform/graphics/cairo/ImageCairo.cpp:
23493 (WebCore::BitmapImage::draw):
23494 * platform/graphics/cg/ImageCG.cpp:
23495 (WebCore::BitmapImage::draw):
23496 * platform/graphics/qt/ImageQt.cpp:
23497 (WebCore::BitmapImage::draw):
23498 * platform/graphics/wx/ImageWx.cpp:
23499 (WebCore::BitmapImage::draw):
23500
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000235012008-09-03 Kevin McCullough <kmccullough@apple.com>
23502
23503 Reviewed by Tim.
23504
23505 Remove the rest of the "zombie" code from the profiler.
23506 - There is no longer a need for the ProfilerClient callback mechanism.
23507
23508 * page/Console.cpp:
23509 (WebCore::Console::Console):
23510 (WebCore::Console::profile):
23511 (WebCore::Console::profileEnd): Move the variables from the header to
23512 here since we don't have to wait for a callback to use them.
23513 * page/Console.h:
23514 * page/InspectorController.cpp:
23515 (WebCore::InspectorController::startUserInitiatedProfiling):
23516 (WebCore::InspectorController::stopUserInitiatedProfiling):
23517 * page/InspectorController.h:
23518
adachan@apple.com38c66182008-09-03 21:43:44 +0000235192008-09-03 Ada Chan <adachan@apple.com>
23520
23521 Windows build fix.
23522
23523 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
23524
dino@apple.com5c917622008-09-03 21:15:53 +0000235252008-09-01 Dean Jackson <dino@apple.com>
23526
23527 Reviewed by Dave Hyatt.
23528
23529 https://bugs.webkit.org/show_bug.cgi?id=20594
23530 Add DOM interfaces for WebKitCSSKeyframeRule
23531 and WebKitCSSKeyframesRule.
23532
23533 TEST: LayoutTests/css3/keyframes-rule.html
23534
23535 * css/WebKitCSSKeyframeRule.idl: Added
23536 * css/WebKitCSSKeyframesRule.idl: Added
23537
23538 * bindings/js/JSCSSRuleCustom.cpp:
23539 (WebCore::toJS):
23540 Add return of new JS Keyframe rules
23541 * bindings/objc/DOMInternal.h:
23542 Include new internal header
23543
23544 * DerivedSources.make:
23545 * GNUmakefile.am:
23546 * WebCore.pro:
23547 * WebCore.vcproj/WebCore.vcproj:
23548 * WebCore.xcodeproj/project.pbxproj:
23549 * WebCoreSources.bkl:
23550 Build configs for new files
23551
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000235522008-09-03 Adam Roben <aroben@apple.com>
23553
23554 Windows build fix
23555
23556 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
23557 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
23558 convenience/consistency.
23559
adele@apple.com27713582008-09-03 20:13:41 +0000235602008-09-03 Adele Peterson <adele@apple.com>
23561
23562 Build fix.
23563
23564 * WebCore.vcproj/WebCore.vcproj:
23565
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000235662008-09-03 David Hyatt <hyatt@apple.com>
23567
23568 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
23569
23570 Reviewed by Darin (ages ago)
23571
23572 Added fast/block/float/clamped-right-float.html
23573
23574 * rendering/RenderBlock.cpp:
23575 (WebCore::RenderBlock::positionNewFloats):
23576
hyatt@apple.comafe62052008-09-03 18:13:39 +0000235772008-09-02 David Hyatt <hyatt@apple.com>
23578
23579 Add support for canvas text drawing APIs.
23580
23581 Reviewed by olliej
23582
23583 Tests added as fast/canvas/canvas-text-*.html
23584
23585 * DerivedSources.make:
23586 * WebCore.xcodeproj/project.pbxproj:
23587 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
23588 (WebCore::JSCanvasRenderingContext2D::fillText):
23589 (WebCore::JSCanvasRenderingContext2D::strokeText):
23590 * css/CSSStyleSelector.cpp:
23591 (WebCore::CSSStyleSelector::initForStyleResolve):
23592 (WebCore::CSSStyleSelector::applyPropertyToStyle):
23593 * css/CSSStyleSelector.h:
23594 * html/CanvasRenderingContext2D.cpp:
23595 (WebCore::CanvasRenderingContext2D::State::State):
23596 (WebCore::CanvasRenderingContext2D::font):
23597 (WebCore::CanvasRenderingContext2D::setFont):
23598 (WebCore::CanvasRenderingContext2D::textAlign):
23599 (WebCore::CanvasRenderingContext2D::setTextAlign):
23600 (WebCore::CanvasRenderingContext2D::textBaseline):
23601 (WebCore::CanvasRenderingContext2D::setTextBaseline):
23602 (WebCore::CanvasRenderingContext2D::fillText):
23603 (WebCore::CanvasRenderingContext2D::strokeText):
23604 (WebCore::CanvasRenderingContext2D::measureText):
23605 (WebCore::CanvasRenderingContext2D::drawTextInternal):
23606 (WebCore::CanvasRenderingContext2D::accessFont):
23607 * html/CanvasRenderingContext2D.h:
23608 * html/CanvasRenderingContext2D.idl:
23609 * html/TextMetrics.h: Added.
23610 (WebCore::TextMetrics::create):
23611 (WebCore::TextMetrics::width):
23612 (WebCore::TextMetrics::setWidth):
23613 (WebCore::TextMetrics::TextMetrics):
23614 * html/TextMetrics.idl: Added.
23615 * platform/graphics/Font.cpp:
23616 (WebCore::Font::lineGap):
23617 * platform/graphics/Font.h:
23618 * platform/graphics/GraphicsContext.cpp:
23619 (WebCore::GraphicsContext::drawBidiText):
23620 * platform/graphics/GraphicsContext.h:
23621 * platform/graphics/GraphicsTypes.cpp:
23622 (WebCore::textAlignName):
23623 (WebCore::parseTextAlign):
23624 (WebCore::textBaselineName):
23625 (WebCore::parseTextBaseline):
23626 * platform/graphics/GraphicsTypes.h:
23627 (WebCore::):
23628
sullivan@apple.combc066af2008-09-03 17:37:24 +0000236292008-09-03 John Sullivan <sullivan@apple.com>
23630
23631 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
23632
23633 Fixed by Darin, reviewed by me
23634
23635 * page/animation/AnimationBase.cpp:
23636 (WebCore::AnimationBase::propertiesEqual):
23637 added ensurePropertyMap() to this static function
23638 (WebCore::AnimationBase::getPropertyAtIndex):
23639 ditto
23640 (WebCore::AnimationBase::getNumProperties):
23641 ditto
23642
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000236432008-09-03 Kevin McCullough <kmccullough@apple.com>
23644
23645 Reviewed by Darin and Tim.
23646
23647 Remove most of the "zombie" mode from the profiler. Next we will need
23648 to remove the client callback mechanism in profiles.
23649 - These changes are a result of changes to JSCore.
23650
23651 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
23652 * page/Console.cpp:
23653 (WebCore::retrieveLastCaller):
23654 (WebCore::Console::profileEnd):
23655 * page/InspectorController.cpp:
23656 (WebCore::InspectorController::stopUserInitiatedProfiling):
23657
adele@apple.com643616b2008-09-03 16:57:58 +0000236582008-09-03 Adele Peterson <adele@apple.com>
23659
23660 Reviewed by Darin Adler.
23661
23662 Test: fast/forms/search-display-none-cancel-button.html
23663
23664 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
23665
23666 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
23667
23668 * rendering/RenderTextControl.cpp:
23669 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
23670 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
23671 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
23672 (WebCore::RenderTextControl::createSubtreeIfNeeded):
23673 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
23674 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
23675 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
23676 (WebCore::RenderTextControl::calcHeight): ditto.
23677 (WebCore::RenderTextControl::nodeAtPoint): ditto.
23678 (WebCore::RenderTextControl::layout): ditto.
23679 (WebCore::RenderTextControl::calcPrefWidths): ditto.
23680 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
23681 (WebCore::RenderTextControl::clientPaddingRight): ditto.
23682
23683 * rendering/TextControlInnerElements.cpp:
23684 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
23685 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
23686 (WebCore::TextControlInnerElement::attachInnerElement): Added.
23687 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
23688 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
23689 * rendering/TextControlInnerElements.h:
23690
ap@webkit.orgacd84142008-09-03 08:08:19 +0000236912008-08-28 Alexey Proskuryakov <ap@webkit.org>
23692
23693 Reviewed by Maciej.
23694
23695 Elminate SQLiteAuthorizer class.
23696
23697 * WebCore.xcodeproj/project.pbxproj:
23698 * WebCore.vcproj/WebCore.vcproj:
23699 * GNUmakefile.am
23700 Removed SQLiteAuthorizer.h.
23701
23702 * platform/sql/SQLiteAuthorizer.cpp:
23703 * platform/sql/SQLiteAuthorizer.h: Removed.
23704 * platform/sql/SQLiteDatabase.cpp:
23705 (WebCore::SQLiteDatabase::authorizerFunction):
23706 (WebCore::SQLiteDatabase::setAuthorizer):
23707 * platform/sql/SQLiteDatabase.h:
23708 * storage/DatabaseAuthorizer.h:
23709 (WebCore::DatabaseAuthorizer::create):
23710 (WebCore::DatabaseAuthorizer::createView):
23711 (WebCore::DatabaseAuthorizer::createTempView):
23712 (WebCore::DatabaseAuthorizer::dropView):
23713 (WebCore::DatabaseAuthorizer::dropTempView):
23714 (WebCore::DatabaseAuthorizer::allowSelect):
23715 (WebCore::DatabaseAuthorizer::allowReindex):
23716 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
23717
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000237182008-09-03 Dirk Schulze <vbs85@gmx.de>
23719
23720 Reviewed by Mark Rowe.
23721
23722 WebKitGtk build fix.
23723
23724 * GNUmakefile.am:
23725 * page/animation/AnimationController.h:
23726
mrowe@apple.come344ad02008-09-03 06:59:03 +0000237272008-09-02 Robert Blaut <webkit@blaut.biz>
23728
23729 Reviewed by Geoff Garen.
23730
23731 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
23732 Misplaced elements should not close DL lists.
23733
23734 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
23735
23736 * html/HTMLParser.cpp:
23737 (WebCore::HTMLParser::handleError):
23738
mrowe@apple.com7a909462008-09-03 06:51:31 +0000237392008-09-02 Glenn Wilson <wilsong@gmail.com>
23740
23741 Reviewed by Darin Adler.
23742
23743 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
23744 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
23745
23746 We would inappropriately interpret and apply an invalid CSS "color" property
23747 when the value is a predefined color preceded by a '#' symbol. For example,
23748 style="color:#gray;" would apply the color gray when it should not.
23749
23750 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
23751 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
23752 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
23753 an ignorable token.
23754
23755 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
23756 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
23757 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
23758
23759 Test: css1/color_and_background/invalid_color.html
23760
23761 * css/CSSGrammar.y:
23762
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000237632008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
23764
23765 Reviewed by Darin Adler.
23766
23767 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
23768 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
23769
23770 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
23771
23772 Test: css3/khtml-background-size-0x0-bmp.html
23773
23774 * rendering/RenderBox.cpp:
23775 (WebCore::RenderBox::repaintLayerRectsForImage):
23776
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000237772008-09-02 Glenn Wilson <wilsong@gmail.com>
23778
23779 Reviewed by Eric Seidel.
23780
23781 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
23782 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
23783
23784 The function checkForOrphanedUnits() would change the length of a list whose size was
23785 was already determined before the call to checkForOrphanedUnits was made. Later in
23786 the caller, the old size was being used for boundary management.
23787
23788 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
23789 calling function, before the size of the list is determined.
23790
23791 Test: fast/css/orphaned_units_crash.html
23792
23793 * css/CSSParser.cpp:
23794 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
23795
mrowe@apple.com170bd522008-09-03 05:49:51 +0000237962008-09-02 Dirk Schulze <vbs85@gmx.de>
23797
23798 Reviewed by Darin Adler.
23799
mrowe@apple.comeb877a52008-09-03 06:01:15 +000023800 Fallback on invalid fill or stroke styles in Canvas was
23801 transparent black. Changed it to last valid style.
23802
23803 Canvas fillStyle() and strokeStyle() needs fallback
23804 https://bugs.webkit.org/show_bug.cgi?id=20474
23805
23806 Tests: fast/canvas/canvas-invalid-fillstyle.html
23807 fast/canvas/canvas-invalid-strokestyle.html
23808
23809 * html/CanvasStyle.cpp:
23810 (WebCore::CanvasStyle::applyStrokeColor):
23811 (WebCore::CanvasStyle::applyFillColor):
23812
238132008-09-02 Dirk Schulze <vbs85@gmx.de>
23814
23815 Reviewed by Darin Adler.
23816
mrowe@apple.com170bd522008-09-03 05:49:51 +000023817 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
23818 Updated drawImage() in canvas to match the current specification.
23819
23820 Test: fast/canvas/drawImage-with-negative-source-destination.html
23821
23822 * html/CanvasRenderingContext2D.cpp:
23823 (WebCore::normalizeRect):
23824 (WebCore::CanvasRenderingContext2D::drawImage):
23825
mrowe@apple.com96916d12008-09-03 05:41:44 +0000238262008-08-26 Mark Rowe <mrowe@apple.com>
23827
23828 Reviewed by Darin Adler.
23829
23830 <rdar://problem/5768210> Switch back to the system version of SQLite
23831
23832 Use the system version of SQLite when it is new enough to provide the functionality
23833 that WebCore requires.
23834
23835 * Configurations/Base.xcconfig:
23836 * Configurations/DebugRelease.xcconfig:
23837 * Configurations/WebCore.xcconfig:
23838
mitz@apple.comce268c12008-09-03 02:59:00 +0000238392008-09-02 Dan Bernstein <mitz@apple.com>
23840
23841 - build fix
23842
23843 * page/animation/AnimationBase.h:
23844
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000238452008-09-02 Chris Marrin <cmarrin@apple.com>
23846
23847 Reviewed by Dave Hyatt.
23848
23849 AnimationController.cpp should be split into separate files
23850 https://bugs.webkit.org/show_bug.cgi?id=20604
23851
23852 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
23853 recommendation of Dave Hyatt.
23854
23855 * GNUmakefile.am:
23856 * WebCore.pro:
23857 * WebCore.vcproj/WebCore.vcproj:
23858 * WebCore.xcodeproj/project.pbxproj:
23859 * WebCoreSources.bkl:
23860 Build files.
23861
23862 * page/AnimationController.cpp: Removed.
23863 * page/AnimationController.h: Removed.
23864 * page/animation: Added.
23865 * page/animation/AnimationBase.cpp: Added.
23866 * page/animation/AnimationBase.h: Added.
23867 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
23868 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
23869 * page/animation/CompositeAnimation.cpp: Added.
23870 * page/animation/CompositeAnimation.h: Added.
23871 * page/animation/ImplicitAnimation.cpp: Added.
23872 * page/animation/ImplicitAnimation.h: Added.
23873 * page/animation/KeyframeAnimation.cpp: Added.
23874 * page/animation/KeyframeAnimation.h: Added.
23875
mitz@apple.comcb917a22008-09-03 00:57:37 +0000238762008-09-02 Dan Bernstein <mitz@apple.com>
23877
23878 - release build fix
23879
23880 * platform/graphics/cg/GraphicsContextCG.cpp:
23881 (WebCore::calculateDrawingMode):
23882
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000238832008-09-02 Timothy Hatcher <timothy@apple.com>
23884
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000023885 Make console functions log the correct resource URL and
23886 line number for where the call originated.
23887
23888 https://bugs.webkit.org/show_bug.cgi?id=17234
23889 <rdar://problem/5732837>
23890
23891 Reviewed by Kevin McCullough.
23892
23893 Test: manual-tests/inspector/console-call-line-numbers.html
23894
23895 * bindings/js/JSConsoleCustom.cpp:
23896 (WebCore::JSConsole::count): Call the impl.
23897 (WebCore::JSConsole::timeEnd): Ditto.
23898 * manual-tests/inspector/console-call-line-numbers.html: Added.
23899 * manual-tests/inspector/resources/script-console-calls.js: Added.
23900 * page/Console.cpp:
23901 (WebCore::retrieveLastCaller): Helper to get the URL and line.
23902 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
23903 line number to pass to addMessageToConsole.
23904 (WebCore::Console::info): Ditto.
23905 (WebCore::Console::log): Ditto.
23906 (WebCore::Console::assertCondition): Ditto.
23907 (WebCore::Console::count): Ditto.
23908 (WebCore::Console::timeEnd): Ditto.
23909 (WebCore::Console::warn): Ditto.
23910 * page/Console.h:
23911 * page/Console.idl: Make count and timeEnd custom.
23912
239132008-09-02 Timothy Hatcher <timothy@apple.com>
23914
timothy@apple.comf3aa7342008-09-02 21:30:26 +000023915 Removed IDL files from WebCore's framework resources.
23916
23917 * WebCore.xcodeproj/project.pbxproj:
23918
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000239192008-09-02 Dan Bernstein <mitz@apple.com>
23920
23921 Reviewed by Dave Hyatt.
23922
23923 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
23924
23925 * html/HTMLParser.cpp:
23926 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
23927 cap on the number of consecutive identical residual style tags to
23928 reopen.
23929 (WebCore::HTMLParser::popBlock): Ditto.
23930
ap@webkit.org879328b2008-09-02 16:16:06 +0000239312008-09-02 Alexey Proskuryakov <ap@webkit.org>
23932
23933 Reviewed by Adam Roben.
23934
23935 A little database quota management cleanup.
23936
23937 * storage/OriginQuotaManager.cpp:
23938 (WebCore::OriginQuotaManager::OriginQuotaManager):
23939 (WebCore::OriginQuotaManager::lock):
23940 (WebCore::OriginQuotaManager::unlock):
23941 (WebCore::OriginQuotaManager::trackOrigin):
23942 (WebCore::OriginQuotaManager::tracksOrigin):
23943 (WebCore::OriginQuotaManager::addDatabase):
23944 (WebCore::OriginQuotaManager::removeDatabase):
23945 (WebCore::OriginQuotaManager::removeOrigin):
23946 (WebCore::OriginQuotaManager::markDatabase):
23947 (WebCore::OriginQuotaManager::diskUsage):
23948 * storage/OriginQuotaManager.h:
23949 Changed to assert that a lock is taken more directly and reliably. Removed comments about
23950 main/background threads, as this is likely to stop being true with synchronous Database calls
23951 being made on worker threads.
23952
23953 * storage/OriginUsageRecord.cpp:
23954 (WebCore::OriginUsageRecord::OriginUsageRecord):
23955 (WebCore::OriginUsageRecord::addDatabase):
23956 (WebCore::OriginUsageRecord::removeDatabase):
23957 (WebCore::OriginUsageRecord::markDatabase):
23958 (WebCore::OriginUsageRecord::diskUsage):
23959 * storage/OriginUsageRecord.h:
23960 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
23961 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
23962 can be replaced with a single boolean for OriginUsageRecord.
23963 Added assertions for string parameters being unshared.
23964
23965
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000239662008-09-01 Adam Barth <abarth@webkit.org>
23967
23968 Reviewed by Sam Weinig.
23969
23970 https://bugs.webkit.org/show_bug.cgi?id=19760
23971
23972 Make granting LoadLocalResources conditional on a policy.
23973
23974 * WebCore.base.exp:
23975 * dom/Document.cpp:
23976 (WebCore::Document::initSecurityContext):
23977 * loader/FrameLoader.cpp:
23978 (WebCore::FrameLoader::setLocalLoadPolicy):
23979 (WebCore::FrameLoader::restrictAccessToLocal):
23980 * loader/FrameLoader.h:
23981 (WebCore::FrameLoader::):
23982 * platform/SecurityOrigin.cpp:
23983 (WebCore::SecurityOrigin::grantLoadLocalResources):
23984 * platform/SecurityOrigin.h:
23985
dino@apple.com6e2db502008-09-01 23:05:28 +0000239862008-09-01 Dean Jackson <dino@apple.com>
23987
dino@apple.com59ca9f52008-09-01 23:34:13 +000023988 Reviewed by Sam Weinig.
23989
23990 https://bugs.webkit.org/show_bug.cgi?id=20571
23991 Make sure Window object can assign Animation/Transition event
23992 listeners via attributes.
23993
23994 Also added a bunch of transition event tests, although
23995 only transition-end-event-window is directly relevant to this patch.
23996
23997 (WebCore::JSDOMWindowBase::put):
23998
23999 Tests: transitions/transition-end-event-all-properties.html
24000 transitions/transition-end-event-attributes.html
24001 transitions/transition-end-event-container.html
24002 transitions/transition-end-event-left.html
24003 transitions/transition-end-event-multiple-01.html
24004 transitions/transition-end-event-multiple-02.html
24005 transitions/transition-end-event-multiple-03.html
24006 transitions/transition-end-event-multiple-04.html
24007 transitions/transition-end-event-nested.html
24008 transitions/transition-end-event-transform.html
24009 transitions/transition-end-event-window.html
24010
240112008-09-01 Dean Jackson <dino@apple.com>
24012
dino@apple.com6e2db502008-09-01 23:05:28 +000024013 Reviewed by Sam Weinig
24014
24015 Code styling cleanup.
24016
24017 * bindings/js/JSDOMWindowBase.cpp:
24018 (WebCore::JSDOMWindowBase::getValueProperty):
24019 (WebCore::JSDOMWindowBase::put):
24020
weinig@apple.com3412bb42008-09-01 21:22:54 +0000240212008-09-01 Geoffrey Garen <ggaren@apple.com>
24022
24023 Reviewed by Darin Adler.
24024
24025 First cut at inline caching for access to vanilla JavaScript properties.
24026
24027 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
24028 to WebCore classes, and PutPropertySlot& arguments to put functions.
24029
24030 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
24031 inline caching for global properties, so global assignment can be optimized.
24032
24033 * ForwardingHeaders/kjs/StructureID.h: Added.
24034 * bindings/js/JSDOMBinding.h:
24035 (WebCore::DOMObject::DOMObject):
24036 * bindings/js/JSDOMWindowBase.cpp:
24037 (WebCore::JSDOMWindowBase::put):
24038 * bindings/js/JSDOMWindowBase.h:
24039 * bindings/js/JSDOMWindowCustom.h:
24040 (WebCore::JSDOMWindow::customPut):
24041 * bindings/js/JSDOMWindowShell.cpp:
24042 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
24043 (WebCore::JSDOMWindowShell::put):
24044 * bindings/js/JSDOMWindowShell.h:
24045 * bindings/js/JSEventTargetBase.h:
24046 (WebCore::JSEventTargetBase::put):
24047 * bindings/js/JSEventTargetNode.h:
24048 (WebCore::JSEventTargetNode::put):
24049 * bindings/js/JSHTMLAppletElementCustom.cpp:
24050 (WebCore::JSHTMLAppletElement::customPut):
24051 * bindings/js/JSHTMLEmbedElementCustom.cpp:
24052 (WebCore::JSHTMLEmbedElement::customPut):
24053 * bindings/js/JSHTMLInputElementBase.cpp:
24054 (WebCore::JSHTMLInputElementBase::put):
24055 * bindings/js/JSHTMLInputElementBase.h:
24056 * bindings/js/JSHTMLObjectElementCustom.cpp:
24057 (WebCore::JSHTMLObjectElement::customPut):
24058 * bindings/js/JSHistoryCustom.cpp:
24059 (WebCore::JSHistory::customPut):
24060 * bindings/js/JSInspectedObjectWrapper.cpp:
24061 (WebCore::JSInspectedObjectWrapper::wrap):
24062 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
24063 * bindings/js/JSInspectedObjectWrapper.h:
24064 * bindings/js/JSInspectorCallbackWrapper.cpp:
24065 (WebCore::JSInspectorCallbackWrapper::wrap):
24066 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
24067 * bindings/js/JSInspectorCallbackWrapper.h:
24068 * bindings/js/JSLocationCustom.cpp:
24069 (WebCore::JSLocation::customPut):
24070 * bindings/js/JSPluginElementFunctions.cpp:
24071 (WebCore::runtimeObjectCustomPut):
24072 * bindings/js/JSPluginElementFunctions.h:
24073 * bindings/js/JSQuarantinedObjectWrapper.cpp:
24074 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
24075 (WebCore::JSQuarantinedObjectWrapper::put):
24076 * bindings/js/JSQuarantinedObjectWrapper.h:
24077 * bindings/js/JSStorageCustom.cpp:
24078 (WebCore::JSStorage::customPut):
24079 * bindings/objc/WebScriptObject.mm:
24080 (-[WebScriptObject setValue:forKey:]):
24081 * bindings/scripts/CodeGeneratorJS.pm:
24082 * bridge/NP_jsobject.cpp:
24083 (_NPN_SetProperty):
24084 * bridge/jni/jni_jsobject.mm:
24085 (JavaJSObject::setMember):
24086 * bridge/objc/objc_class.mm:
24087 (KJS::Bindings::ObjcClass::fallbackObject):
24088 * bridge/objc/objc_runtime.h:
24089 * bridge/objc/objc_runtime.mm:
24090 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
24091 (ObjcFallbackObjectImp::put):
24092 * bridge/runtime.cpp:
24093 (KJS::Bindings::Instance::createRuntimeObject):
24094 * bridge/runtime_array.cpp:
24095 (RuntimeArray::put):
24096 * bridge/runtime_array.h:
24097 * bridge/runtime_object.cpp:
24098 (RuntimeObjectImp::RuntimeObjectImp):
24099 (RuntimeObjectImp::put):
24100 * bridge/runtime_object.h:
24101
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000241022008-09-01 Dirk Schulze <vbs85@gmx.de>
24103
24104 Reviewed by Eric Seidel.
24105
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000024106 Fixed border-radius for Cairo.
24107
24108 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24109 (WebCore::GraphicsContext::strokeArc):
24110
241112008-09-01 Dirk Schulze <vbs85@gmx.de>
24112
24113 Reviewed by Eric Seidel.
24114
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000024115 Added canvas's globalAlpha to cairo.
24116
24117 * platform/graphics/GraphicsContext.h:
24118 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24119 (WebCore::GraphicsContext::fillPath):
24120 (WebCore::GraphicsContext::strokePath):
24121 (WebCore::GraphicsContext::setAlpha):
24122 (WebCore::GraphicsContext::getAlpha):
24123 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
24124 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
24125 * platform/graphics/cairo/ImageCairo.cpp:
24126 (WebCore::BitmapImage::draw):
24127
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000241282008-08-31 Simon Hausmann <hausmann@webkit.org>
24129
24130 Unreviewed Qt build fix.
24131
24132 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
24133 the .h file
24134
darin@apple.come7945852008-08-31 06:58:07 +0000241352008-08-30 Darin Adler <darin@apple.com>
24136
24137 Reviewed by Maciej.
24138
24139 - adopt some new JavaScriptCore functions where appropriate
24140
24141 * bindings/js/JSDOMWindowBase.cpp:
24142 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
24143 (WebCore::windowProtoFuncBToA): Ditto.
24144 * bindings/js/JSEventListener.cpp:
24145 (WebCore::JSLazyEventListener::eventParameterName): Adopted
24146 jsNontrivialString.
24147 * bindings/js/JSSVGLazyEventListener.cpp:
24148 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
24149
beidson@apple.com21c821f2008-08-30 00:26:01 +0000241502008-08-29 Brady Eidson <beidson@apple.com>
24151
beidson@apple.come1bd6032008-08-30 00:30:11 +000024152 Reviewed by Anders' rubberstamp
24153
24154 Style cleanup to match MediaTokenizer::writeRawData()
24155
24156 * loader/PluginDocument.cpp:
24157 (WebCore::PluginTokenizer::writeRawData):
24158
241592008-08-29 Brady Eidson <beidson@apple.com>
24160
beidson@apple.com21c821f2008-08-30 00:26:01 +000024161 Reviewed by Anders
24162
mitz@apple.com098b1e62008-09-24 16:39:55 +000024163 https://bugs.webkit.org/show_bug.cgi?id=20556
24164 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
24165
beidson@apple.com21c821f2008-08-30 00:26:01 +000024166 Fix regression I introducted in 35946
24167 Already covered by media/video-click-dlbclick-standalone.html
24168
24169 * loader/MediaDocument.cpp:
24170 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
24171 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
24172 an ASSERT signifying that this method should only be called once, to more closely follow the
24173 PluginDocument case.
24174
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000241752008-08-29 Beth Dakin <bdakin@apple.com>
24176
24177 Reviewed by Sam Weinig.
24178
24179 Fix for <rdar://problem/6181588>
24180
24181 This patch makes hit testing take into account the new concept of a
24182 disconnected frame, in which some of the content may not be
24183 visible. The current hit testing mechanism starts at a target frame
24184 and drills down for a HitTestResult. In some cases, drilling down
24185 will find a non-visible result. When this happens, we need to try
24186 again, starting at a higher level -- namely, starting at the main
24187 frame.
24188
24189 * editing/Editor.cpp:
24190 (WebCore::Editor::insideVisibleArea): New function that tests if a
24191 point is inside the visible area for a disconnected frame.
24192 * editing/Editor.h:
24193 * page/EventHandler.cpp:
24194 (WebCore::EventHandler::hitTestResultAtPoint):
24195
adele@apple.comfb903062008-08-29 22:30:18 +0000241962008-08-29 Adele Peterson <adele@apple.com>
24197
24198 Reviewed by Adam Roben.
24199
24200 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
24201
24202 * GNUmakefile.am:
24203 * WebCore.pro:
24204 * WebCore.vcproj/WebCore.vcproj:
24205 * WebCore.xcodeproj/project.pbxproj:
24206 * WebCoreSources.bkl:
24207 * html/HTMLTextFieldInnerElement.cpp: Removed.
24208 * html/HTMLTextFieldInnerElement.h: Removed.
24209 * rendering/RenderTextControl.cpp:
24210 (WebCore::RenderTextControl::createSubtreeIfNeeded):
24211 * rendering/RenderTextControl.h:
24212 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
24213 (WebCore::TextControlInnerElement::TextControlInnerElement):
24214 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
24215 (WebCore::TextControlInnerTextElement::defaultEventHandler):
24216 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
24217 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
24218 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
24219 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
24220 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
24221
eric@webkit.org298c65b2008-08-29 21:39:32 +0000242222008-08-29 Eric Seidel <eric@webkit.org>
24223
eric@webkit.org77837ce2008-08-29 21:40:07 +000024224 Rubber-stamped by aroben.
24225
24226 Add GraphicsContext.h include to GraphcisContextPrivate.h
24227
24228 GraphicsContextPrivate uses StrokeStyle which is defined
24229 in GraphicsContext.h but it doesn't include that header.
24230 CoreGraphics build doesn't fail here due to the order
24231 it happens to include files.
24232
24233 * platform/graphics/GraphicsContextPrivate.h:
24234
242352008-08-29 Eric Seidel <eric@webkit.org>
24236
eric@webkit.org298c65b2008-08-29 21:39:32 +000024237 Reviewed by hyatt.
24238
24239 Fix GeneratedImage to respect Image's refcounting
24240 Fixing potential crashers (future if not current)
24241 https://bugs.webkit.org/show_bug.cgi?id=20567
24242
24243 I don't know if it's possible to make the current code
24244 crash, thus I've not made a test.
24245
24246 * css/CSSGradientValue.cpp:
24247 (WebCore::CSSGradientValue::image):
24248 * css/CSSImageGeneratorValue.cpp:
24249 (WebCore::CSSImageGeneratorValue::removeClient):
24250 (WebCore::CSSImageGeneratorValue::getImage):
24251 * css/CSSImageGeneratorValue.h:
24252 * platform/graphics/GeneratedImage.h:
24253 (WebCore::GeneratedImage::GeneratedImage):
24254 * rendering/style/RenderStyle.cpp:
24255 (WebCore::RenderStyle::setContent):
24256 * rendering/style/RenderStyle.h:
24257
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000242582008-08-29 Eric Carlson <eric.carlson@apple.com>
24259
24260 Reviewed by Adele.
24261
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000024262 Fix for <rdar://problem/6093767>
24263 https://bugs.webkit.org/show_bug.cgi?id=20526
24264
24265 Don't allow video to render until unsupported track types have been disabled.
24266
24267 * platform/graphics/win/QTMovieWin.cpp:
24268 (QTMovieWinPrivate::task):
24269 (QTMovieWinPrivate::drawingComplete):
24270 (QTMovieWinPrivate::clearGWorld):
24271
242722008-08-29 Eric Carlson <eric.carlson@apple.com>
24273
24274 Reviewed by Adele.
24275
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000024276 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
24277 <rdar://problem/6169301>
24278
24279 Return the size of the movie data instead of 1000.
24280
24281 Test: media/progress-event-total.html
24282
24283 * platform/graphics/win/QTMovieWin.cpp:
24284 (QTMovieWin::dataSize):
24285
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000242862008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
24287
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000024288 Reviewed by Eric Seidel.
24289
24290 [janitor/qt] Start replacing port specific getters with the generic native getter
24291 To get the native presentation of an image we currently have platform
24292 specific #ifdef's and a generic getter using NativeImagePtr. This patch
24293 extends this to the ImageBuffer and updates the Qt platform to get rid
24294 of the special #ifdefs.
24295
24296 https://bugs.webkit.org/attachment.cgi?id=22861
24297
24298 * platform/graphics/BitmapImage.h:
24299 * platform/graphics/Image.h:
24300 * platform/graphics/qt/ImageQt.cpp:
24301 * platform/graphics/qt/StillImageQt.cpp:
24302 * platform/graphics/qt/StillImageQt.h:
24303 * platform/qt/ClipboardQt.cpp:
24304 (WebCore::ClipboardQt::createDragImage):
24305 (WebCore::ClipboardQt::declareAndWriteDragImage):
24306 * platform/qt/CursorQt.cpp:
24307 * platform/qt/PasteboardQt.cpp:
24308 (WebCore::Pasteboard::writeImage):
24309
243102008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
24311
hausmann@webkit.org0367b582008-08-29 15:56:02 +000024312 Reviewed by Simon.
24313
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000024314 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
24315
24316 * svg/graphics/qt/SVGPaintServerQt.cpp:
24317 (WebCore::SVGPaintServer::renderPath):
24318 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
24319 (WebCore::SVGPaintServerSolid::setup):
24320
243212008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
24322
24323 Reviewed by Simon.
24324
hausmann@webkit.org0367b582008-08-29 15:56:02 +000024325 [network/qt] Implement defering of loading ResourceHandle's
24326 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
24327 implementation is simply not forwarding anything to the
24328 ResourceHandleClient until we are allowed to. This might lead to a deadlock
24329 in Qt as we do not empty the QNetworkReply input buffer and wait until we
24330 are allowed to read. If that happens we are forced to buffer the data
24331 within QNetworkReplyHandler, for now this is not done.
24332
24333 Manual test:
24334 - Open http://acid3.acidtests.org
24335 - Wait for the test to complete
24336 - Click on the Reference Rendering link
24337 - Be fast and see the results of acid3
24338 => assert
24339
24340 * platform/network/qt/QNetworkReplyHandler.cpp:
24341 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
24342 (WebCore::QNetworkReplyHandler::setLoadMode):
24343 (WebCore::QNetworkReplyHandler::finish):
24344 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
24345 (WebCore::QNetworkReplyHandler::forwardData):
24346 (WebCore::QNetworkReplyHandler::start):
24347 (WebCore::QNetworkReplyHandler::resetState):
24348 (WebCore::QNetworkReplyHandler::sendQueuedItems):
24349 * platform/network/qt/QNetworkReplyHandler.h:
24350 (WebCore::QNetworkReplyHandler::):
24351 * platform/network/qt/ResourceHandleQt.cpp:
24352 (WebCore::ResourceHandle::start):
24353 (WebCore::ResourceHandle::loadResourceSynchronously):
24354 (WebCore::ResourceHandle::setDefersLoading):
24355
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000243562008-08-29 Simon Hausmann <hausmann@webkit.org>
24357
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000024358 Reviewed by Holger.
24359
24360 Don't crash when drawing patterns with the HTML canvas. Patterns
24361 remain unimplemented but at least they don't crash anymore. This is
24362 done by changing the PlatformPatternPtr to be a brush for the Qt
24363 platform.
24364
24365 * platform/graphics/Pattern.h:
24366 * platform/graphics/qt/GraphicsContextQt.cpp:
24367 (WebCore::GraphicsContext::fillPath):
24368 (WebCore::GraphicsContext::strokePath):
24369 (WebCore::GraphicsContext::fillRect):
24370 * platform/graphics/qt/PatternQt.cpp:
24371 (WebCore::Pattern::createPlatformPattern):
24372
243732008-08-29 Simon Hausmann <hausmann@webkit.org>
24374
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000024375 Fix the Qt build, fontSelector() is not used by the Qt port yet
24376 and we just return 0 in Font::fontSelector().
24377
24378 * platform/graphics/Font.h:
24379
alp@webkit.org97d8c102008-08-29 05:09:39 +0000243802008-08-28 Alp Toker <alp@nuanti.com>
24381
24382 GTK+ dist/build fix. List newly added header files.
24383
24384 * GNUmakefile.am:
24385
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000243862008-08-28 Simon Fraser <simon.fraser@apple.com>
24387
24388 Reviewed by Dave Hyatt
24389
24390 Various WebKitCSSTransformValue-related fixes
24391 https://bugs.webkit.org/show_bug.cgi?id=20562
24392
24393 Test: css3/transform-value-types.html
24394
24395 * bindings/js/JSCSSValueCustom.cpp:
24396 (WebCore::toJS):
24397 * css/CSSValue.h:
24398 * css/WebKitCSSTransformValue.cpp:
24399 (WebCore::WebKitCSSTransformValue::cssText):
24400 * css/WebKitCSSTransformValue.h:
24401 (WebCore::WebKitCSSTransformValue::):
24402 * css/WebKitCSSTransformValue.idl:
24403
mitz@apple.comd7222352008-08-28 22:53:31 +0000244042008-08-28 Dan Bernstein <mitz@apple.com>
24405
24406 Reviewed by Steve Falkenburg.
24407
24408 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
24409
24410 * platform/win/SharedTimerWin.cpp:
24411 (WebCore::TimerWindowWndProc):
24412
hyatt@apple.com7d335232008-08-28 21:38:45 +0000244132008-08-28 David Hyatt <hyatt@apple.com>
24414
24415 RenderStyle cleanup.
24416
24417 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
24418
24419 Reviewed by Adam
24420
24421 * css/CSSImageGeneratorValue.cpp:
24422 * css/CSSImageValue.cpp:
24423 * css/CSSStyleSelector.cpp:
24424 * rendering/RenderImageGeneratedContent.cpp:
24425 * rendering/style/NinePieceImage.cpp: Added.
24426 * rendering/style/NinePieceImage.h: Added.
24427 * rendering/style/RenderStyle.cpp:
24428 (WebCore::FillLayer::operator==):
24429 (WebCore::FillLayer::containsImage):
24430 (WebCore::StyleInheritedData::operator==):
24431 (WebCore::RenderStyle::contentDataEquivalent):
24432 * rendering/style/RenderStyle.h:
24433 * rendering/style/StyleCachedImage.cpp: Added.
24434 * rendering/style/StyleCachedImage.h: Added.
24435 * rendering/style/StyleGeneratedImage.cpp: Added.
24436 * rendering/style/StyleGeneratedImage.h: Added.
24437 * rendering/style/StyleImage.h: Added.
24438
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000244392008-08-28 Simon Fraser <simon.fraser@apple.com>
24440
24441 Reviewed by Dave Hyatt
24442
24443 Make all the 'isFoo()' methods on CSSValue const,
24444 and fix the subclasses.
24445
24446 https://bugs.webkit.org/show_bug.cgi?id=20561
24447
24448 * css/CSSTimingFunctionValue.h:
24449 * css/CSSValue.h:
24450 (WebCore::CSSValue::isFontValue):
24451 (WebCore::CSSValue::isImageGeneratorValue):
24452 (WebCore::CSSValue::isImageValue):
24453 (WebCore::CSSValue::isImplicitInitialValue):
24454 * css/CSSValueList.h:
24455 * css/FontValue.h:
24456
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000244572008-08-28 David Hyatt <hyatt@apple.com>
24458
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000024459 The great RenderStyle cleanup begins!
24460
24461 Move LengthBox and LengthSize out of RenderStyle and into Length.
24462
24463 Reviewed by Adam
24464
24465 * rendering/Length.h:
24466 (WebCore::):
24467 (WebCore::Length::Length):
24468 (WebCore::Length::operator==):
24469 (WebCore::Length::operator!=):
24470 (WebCore::Length::value):
24471 (WebCore::Length::rawValue):
24472 (WebCore::Length::percent):
24473 (WebCore::Length::type):
24474 (WebCore::Length::quirk):
24475 (WebCore::Length::setValue):
24476 (WebCore::Length::setRawValue):
24477 (WebCore::Length::calcValue):
24478 (WebCore::Length::calcMinValue):
24479 (WebCore::Length::calcFloatValue):
24480 (WebCore::Length::isUndefined):
24481 (WebCore::Length::isZero):
24482 (WebCore::Length::isPositive):
24483 (WebCore::Length::isNegative):
24484 (WebCore::Length::isAuto):
24485 (WebCore::Length::isRelative):
24486 (WebCore::Length::isPercent):
24487 (WebCore::Length::isFixed):
24488 (WebCore::Length::isStatic):
24489 (WebCore::Length::isIntrinsicOrAuto):
24490 (WebCore::Length::blend):
24491 (WebCore::LengthBox::LengthBox):
24492 (WebCore::LengthBox::operator=):
24493 (WebCore::LengthBox::operator==):
24494 (WebCore::LengthBox::operator!=):
24495 (WebCore::LengthBox::nonZero):
24496 (WebCore::LengthSize::LengthSize):
24497 * rendering/style/RenderStyle.h:
24498
244992008-08-28 David Hyatt <hyatt@apple.com>
24500
hyatt@apple.com550a95c2008-08-28 19:53:56 +000024501 Reviewed by Darin
24502
24503 https://bugs.webkit.org/show_bug.cgi?id=18091
24504
24505 font-size should be animatable using -webkit-transition.
24506
24507 * page/AnimationController.cpp:
24508 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
24509 * rendering/style/RenderStyle.h:
24510 (WebCore::RenderStyle::setFontSize):
24511
mitz@apple.com30923ad2008-08-28 17:45:47 +0000245122008-08-28 Brad Garcia <bgarcia@google.com>
24513
24514 Reviewed by Dan Bernstein.
24515
24516 https://bugs.webkit.org/show_bug.cgi?id=20549
24517 Correctly determine when cursor is over a resizable border within
24518 a nested frameset.
24519
24520 * rendering/RenderFrameSet.cpp:
24521 (WebCore::RenderFrameSet::canResizeRow):
24522 (WebCore::RenderFrameSet::canResizeColumn):
24523
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000245242008-08-28 Simon Fraser <simon.fraser@apple.com>
24525
24526 Reviewed by Eric Seidel
24527
24528 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
24529 https://bugs.webkit.org/show_bug.cgi?id=20552
24530
24531 Test: animations/animation-css-rule-types.html
24532
24533 * css/CSSRule.idl:
24534
andersca@apple.com12399c32008-08-28 17:26:46 +0000245352008-08-28 Anders Carlsson <andersca@apple.com>
24536
24537 Reviewed by Kevin and Darin.
24538
24539 <rdar://problem/6182541>
24540 https://bugs.webkit.org/show_bug.cgi?id=20202
24541 Missing http status line from the http headers.
24542
24543 Add a status line to the header string.
24544
24545 * plugins/PluginStream.cpp:
24546 (WebCore::PluginStream::startStream):
24547
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000245482008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
24549
24550 Rubber-stamped by Darin Adler.
24551
24552 https://bugs.webkit.org/show_bug.cgi?id=17261
24553
24554 Make it possible to theme the default Url icon and enable this for
24555 the Qt port. To have a minimal usage of #ifdef in the code the setting
24556 of the icon was moved to a new method which comes in two flavors.
24557
24558 * loader/icon/IconDatabase.cpp:
24559 (WebCore::loadDefaultIconRecord): Load or set the default icon
24560 (WebCore::IconDatabase::defaultIcon):
24561
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000245622008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
24563
24564 Unreviewed compile fix
24565
24566 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
24567
aroben@apple.comfacf5032008-08-28 13:34:01 +0000245682008-08-28 Adam Roben <aroben@apple.com>
24569
24570 Windows (and others?) build fix
24571
24572 * page/Chrome.cpp: Added a missing #include.
24573 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
24574
eric@webkit.org22794fd2008-08-28 12:04:40 +0000245752008-08-27 Eric Seidel <eric@webkit.org>
24576
24577 Reviewed by Oliver Hunt.
24578
eric@webkit.org5f874e92008-08-28 12:04:55 +000024579 Qt and Cairo support from krit (and blind stab @ wx compile support)
24580 https://bugs.webkit.org/show_bug.cgi?id=20373
24581
24582 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24583 (WebCore::GraphicsContext::fillPath):
24584 (WebCore::GraphicsContext::strokePath):
24585 (WebCore::GraphicsContext::drawPath):
24586 (WebCore::GraphicsContext::fillRect):
24587 (WebCore::GraphicsContext::setPlatformFillColor):
24588 (WebCore::GraphicsContext::setPlatformStrokeColor):
24589 (WebCore::GraphicsContext::setPlatformStrokeStyle):
24590 (WebCore::GraphicsContext::strokeRect):
24591 (WebCore::GraphicsContext::setImageInterpolationQuality):
24592 (WebCore::GraphicsContext::imageInterpolationQuality):
24593 (WebCore::GraphicsContext::setPlatformFillPattern):
24594 (WebCore::GraphicsContext::setPlatformStrokePattern):
24595 (WebCore::GraphicsContext::setPlatformFillGradient):
24596 (WebCore::GraphicsContext::setPlatformStrokeGradient):
24597 * platform/graphics/qt/GraphicsContextQt.cpp:
24598 (WebCore::GraphicsContext::fillPath):
24599 (WebCore::GraphicsContext::strokePath):
24600 (WebCore::GraphicsContext::fillRect):
24601 (WebCore::GraphicsContext::strokeRect):
24602 (WebCore::GraphicsContext::clipToImageBuffer):
24603 (WebCore::GraphicsContext::setPlatformFillPattern):
24604 (WebCore::GraphicsContext::setPlatformStrokePattern):
24605 (WebCore::GraphicsContext::setPlatformFillGradient):
24606 (WebCore::GraphicsContext::setPlatformStrokeGradient):
24607 (WebCore::GraphicsContext::setImageInterpolationQuality):
24608 (WebCore::GraphicsContext::imageInterpolationQuality):
24609 * platform/graphics/wx/GraphicsContextWx.cpp:
24610 (WebCore::GraphicsContext::clipToImageBuffer):
24611 (WebCore::GraphicsContext::setImageInterpolationQuality):
24612 (WebCore::GraphicsContext::imageInterpolationQuality):
24613 (WebCore::GraphicsContext::fillPath):
24614 (WebCore::GraphicsContext::strokePath):
24615 (WebCore::GraphicsContext::drawPath):
24616 (WebCore::GraphicsContext::fillRect):
24617 (WebCore::GraphicsContext::setPlatformFillPattern):
24618 (WebCore::GraphicsContext::setPlatformStrokePattern):
24619 (WebCore::GraphicsContext::setPlatformFillGradient):
24620
246212008-08-27 Eric Seidel <eric@webkit.org>
24622
24623 Reviewed by Oliver Hunt.
24624
eric@webkit.org22794fd2008-08-28 12:04:40 +000024625 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
24626 https://bugs.webkit.org/show_bug.cgi?id=20373
24627
24628 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
24629
24630 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
24631 have to store large Gradient objects in the GraphicsContextState
24632
24633 Made Pattern RefCounted for the same reason.
24634
24635 Many updates to GraphicsContext to support easier drawing with
24636 Patterns and Gradients.
24637
24638 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
24639 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
24640 (WebCore::toJS):
24641 * css/CSSGradientValue.cpp:
24642 (WebCore::CSSGradientValue::createGradient):
24643 * css/CSSGradientValue.h:
24644 * html/CanvasGradient.cpp:
24645 (WebCore::CanvasGradient::CanvasGradient):
24646 * html/CanvasGradient.h:
24647 (WebCore::CanvasGradient::gradient):
24648 (WebCore::CanvasGradient::addColorStop):
24649 (WebCore::CanvasGradient::getColor):
24650 * html/CanvasPattern.cpp:
24651 * html/CanvasPattern.h:
24652 (WebCore::CanvasPattern::pattern):
24653 (WebCore::CanvasPattern::originClean):
24654 * html/CanvasRenderingContext2D.cpp:
24655 (WebCore::CanvasRenderingContext2D::State::State):
24656 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
24657 (WebCore::CanvasRenderingContext2D::setFillStyle):
24658 (WebCore::CanvasRenderingContext2D::fill):
24659 (WebCore::CanvasRenderingContext2D::stroke):
24660 (WebCore::CanvasRenderingContext2D::fillRect):
24661 (WebCore::CanvasRenderingContext2D::strokeRect):
24662 * html/CanvasRenderingContext2D.h:
24663 * html/CanvasStyle.cpp:
24664 (WebCore::CanvasStyle::applyStrokeColor):
24665 (WebCore::CanvasStyle::applyFillColor):
24666 * html/CanvasStyle.h:
24667 * platform/graphics/GeneratedImage.h:
24668 (WebCore::GeneratedImage::GeneratedImage):
24669 * platform/graphics/Generator.h:
24670 * platform/graphics/Gradient.h:
24671 (WebCore::Gradient::create):
24672 * platform/graphics/GraphicsContext.cpp:
24673 (WebCore::GraphicsContext::fillRule):
24674 (WebCore::GraphicsContext::setFillRule):
24675 (WebCore::GraphicsContext::setStrokePattern):
24676 (WebCore::GraphicsContext::setFillPattern):
24677 (WebCore::GraphicsContext::setStrokeGradient):
24678 (WebCore::GraphicsContext::setFillGradient):
24679 * platform/graphics/GraphicsContext.h:
24680 * platform/graphics/GraphicsContextPrivate.h:
24681 (WebCore::):
24682 (WebCore::GraphicsContextState::GraphicsContextState):
24683 * platform/graphics/GraphicsTypes.h:
24684 * platform/graphics/Path.h:
24685 * platform/graphics/Pattern.h:
24686 (WebCore::Pattern::create):
24687 (WebCore::Pattern::tileImage):
24688 * platform/graphics/cg/GraphicsContextCG.cpp:
24689 (WebCore::GraphicsContext::drawRect):
24690 (WebCore::GraphicsContext::drawEllipse):
24691 (WebCore::GraphicsContext::drawConvexPolygon):
24692 (WebCore::calculateDrawingMode):
24693 (WebCore::GraphicsContext::drawPath):
24694 (WebCore::fillPathWithFillRule):
24695 (WebCore::GraphicsContext::fillPath):
24696 (WebCore::GraphicsContext::strokePath):
24697 (WebCore::GraphicsContext::fillRect):
24698 (WebCore::GraphicsContext::fillRoundedRect):
24699 (WebCore::GraphicsContext::setPlatformStrokePattern):
24700 (WebCore::GraphicsContext::setPlatformFillPattern):
24701 (WebCore::GraphicsContext::setPlatformStrokeGradient):
24702 (WebCore::GraphicsContext::setPlatformFillGradient):
24703
eric@webkit.org70b099f2008-08-28 11:42:26 +0000247042008-08-20 Eric Seidel <eric@webkit.org>
24705
24706 Reviewed by Darin and Alexey.
24707
24708 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
24709 with timeouts paused.
24710 https://bugs.webkit.org/show_bug.cgi?id=20469
24711
24712 I attempted to clean up the memory management of PausedTimeouts, I'm not
24713 sure the solution I came up with is "cleaner", but it's in some ways
24714 "safer", since it no longer uses raw pointers and manual new/delete.
24715
24716 This also now prevents CachedPage from needlessly creating Window
24717 objects when caching pages which didn't already have one. :)
24718
24719 I also made Chrome.cpp no longer depend on the JavaScript bindings
24720 (aka JSDOMWindowBase.h), since there was no real reason for it to.
24721
24722 * bindings/js/JSDOMWindowBase.cpp:
24723 (WebCore::JSDOMWindowBase::pauseTimeouts):
24724 (WebCore::JSDOMWindowBase::resumeTimeouts):
24725 * bindings/js/JSDOMWindowBase.h:
24726 * bindings/js/ScriptController.cpp:
24727 (WebCore::ScriptController::pauseTimeouts):
24728 (WebCore::ScriptController::resumeTimeouts):
24729 * bindings/js/ScriptController.h:
24730 * history/CachedPage.cpp:
24731 (WebCore::CachedPage::CachedPage):
24732 (WebCore::CachedPage::restore):
24733 * page/Chrome.cpp:
24734 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
24735 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
24736 * page/JavaScriptDebugServer.cpp:
24737 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
24738 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
24739
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000247402008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
24741
24742 Unreviewed compile fix
24743
24744 Add the stub for the Qt port.
24745
24746 * WebCore.pro:
24747 * page/qt/AccessibilityObjectQt.cpp: Added.
24748 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24749
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000247502008-08-27 Alp Toker <alp@nuanti.com>
24751
24752 Reviewed by Eric.
24753
24754 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000024755 [GTK] search popup crash
24756
24757 * platform/gtk/SearchPopupMenuGtk.cpp:
24758 (WebCore::SearchPopupMenu::enabled):
24759 Fix a search popup crasher by disabling the history popup since we
24760 don't support this feature yet in the GTK+ port.
24761
247622008-08-27 Alp Toker <alp@nuanti.com>
24763
24764 Reviewed by Eric.
24765
24766 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000024767 [GTK] curl crashers
24768
24769 * platform/network/curl/ResourceHandleManager.cpp:
24770 (WebCore::ResourceHandleManager::startScheduledJobs):
24771 Remove the resource handle from the pending list before starting the
24772 job, not afterwards. Fixes crashers in the test suite.
24773
24774 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
24775 Test: fast/encoding/char-encoding.html
24776
eric@webkit.org712cb892008-08-28 00:26:15 +0000247772008-08-27 Dirk Schulze <vbs85@gmx.de>
24778
24779 Reviewed by eseidel.
24780
24781 Fix canvas drawImage to support composite operations.
24782 Composite had no effect on canvas elements like these:
24783 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
24784
24785 [CAIRO] Canvas composite don't work on canvas-elements.
24786 https://bugs.webkit.org/show_bug.cgi?id=20548
24787
24788 * html/CanvasRenderingContext2D.cpp:
24789 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
24790
eric@webkit.org75c83a02008-08-28 00:04:59 +0000247912008-08-27 Mario Bensi <mbensi@pleyo.com>
24792
24793 Reviewed by Eric Seidel.
24794
24795 Fix the data content of an image with a base64.
24796
24797 * platform/network/curl/ResourceHandleManager.cpp:
24798 (WebCore::parseDataUrl): Remove the String and use only the data
24799 Vector because the data.latin1().data() convert the data content and
24800 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
24801 not drawn correctly.
24802
antti@apple.comf66a86b2008-08-27 23:59:50 +0000248032008-08-27 Antti Koivisto <antti@apple.com>
24804
24805 Reviewed by Eric Seidel.
24806
24807 Crash after OK in dialog box and reloading page in secure mode
24808 https://bugs.webkit.org/show_bug.cgi?id=20493
24809
24810 The new run loop spawned by a modal dialog causes a timer in the loader to run
24811 synchronously inside didFinishLoading() deleting "this" object.
24812
24813 Defer all WebCore timers when a modal dialog is up. They are not
24814 safe to execute.
24815
24816 * page/Chrome.cpp:
24817 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
24818 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
24819
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000248202008-08-27 Chris Marrin <cmarrin@apple.com>
24821
24822 Reviewed by Dave Hyatt
24823
24824 Memory leaks when animating transforms
24825 https://bugs.webkit.org/show_bug.cgi?id=20532
24826
24827 * rendering/style/RenderStyle.cpp:
24828 (WebCore::ScaleTransformOperation::blend):
24829 (WebCore::RotateTransformOperation::blend):
24830 (WebCore::SkewTransformOperation::blend):
24831 (WebCore::TranslateTransformOperation::blend):
24832 (WebCore::MatrixTransformOperation::blend):
24833 * rendering/style/RenderStyle.h:
24834
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000248352008-08-27 Timothy Hatcher <timothy@apple.com>
24836
24837 Add support for support for -webkit-appearance: default-button on the Mac platform.
24838
24839 <rdar://problem/6173530>
24840
24841 Reviewed by Dave Hyatt.
24842
24843 * WebCore.base.exp: Export new symbols.
24844 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
24845 * platform/mac/WebCoreSystemInterface.mm: Ditto.
24846 * rendering/RenderButton.cpp:
24847 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
24848 (WebCore::RenderButton::setStyle): Ditto.
24849 * rendering/RenderButton.h: Ditto.
24850 * rendering/RenderThemeMac.mm:
24851 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
24852 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
24853 key if the button is default, otherwise reset the key equivalent.
24854 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
24855 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
24856 the window's previous default button cell when finished.
24857
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000248582008-08-26 David Hyatt <hyatt@apple.com>
24859
24860 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
24861
24862 Reviewed by weinig
24863
24864 Added fast/forms/zoomed-controls.html
24865
24866 * css/CSSStyleSelector.cpp:
24867 (WebCore::addIntrinsicMargins):
24868 * rendering/RenderSlider.cpp:
24869 (WebCore::RenderSlider::calcPrefWidths):
24870 * rendering/RenderThemeMac.h:
24871 * rendering/RenderThemeMac.mm:
24872 (WebCore::RenderThemeMac::adjustRepaintRect):
24873 (WebCore::RenderThemeMac::inflateRect):
24874 (WebCore::RenderThemeMac::baselinePosition):
24875 (WebCore::RenderThemeMac::setControlSize):
24876 (WebCore::RenderThemeMac::sizeForFont):
24877 (WebCore::RenderThemeMac::sizeForSystemFont):
24878 (WebCore::RenderThemeMac::setFontFromControlSize):
24879 (WebCore::RenderThemeMac::paintCheckbox):
24880 (WebCore::RenderThemeMac::setCheckboxCellState):
24881 (WebCore::RenderThemeMac::paintRadio):
24882 (WebCore::RenderThemeMac::setRadioCellState):
24883 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
24884 (WebCore::RenderThemeMac::adjustButtonStyle):
24885 (WebCore::RenderThemeMac::setButtonCellState):
24886 (WebCore::RenderThemeMac::paintButton):
24887 (WebCore::RenderThemeMac::paintMenuList):
24888 (WebCore::RenderThemeMac::paintMenuListButton):
24889 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
24890 (WebCore::RenderThemeMac::popupInternalPaddingRight):
24891 (WebCore::RenderThemeMac::popupInternalPaddingTop):
24892 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
24893 (WebCore::RenderThemeMac::setPopupButtonCellState):
24894 (WebCore::RenderThemeMac::paintSliderTrack):
24895 (WebCore::RenderThemeMac::paintSliderThumb):
24896 (WebCore::RenderThemeMac::adjustSliderThumbSize):
24897 (WebCore::RenderThemeMac::paintSearchField):
24898 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
24899 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
24900 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
24901
beidson@apple.comd0793872008-08-27 19:59:55 +0000249022008-08-27 Brady Eidson <beidson@apple.com>
24903
24904 Reviewed by Anders
24905
24906 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
24907
24908 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
24909 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
24910 away the virtual address space and a crash.
24911
24912 * loader/EmptyClients.h:
24913 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
24914 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
24915 "plugin will handle load"
24916
24917 * loader/MediaDocument.cpp:
24918 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
24919 and cancel the WebCore-managed load
24920 (WebCore::MediaTokenizer::writeRawData):
24921 (WebCore::MediaTokenizer::finish):
24922
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000249232008-08-26 Simon Fraser <simon.fraser@apple.com>
24924
24925 Reviewed by Eric Seidel
24926
24927 Linear timing functions should have control points 0, 0, 1, 1.
24928 https://bugs.webkit.org/show_bug.cgi?id=20535
24929
24930 * css/CSSStyleSelector.cpp:
24931 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
24932 * rendering/style/RenderStyle.h:
24933
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000249342008-08-27 Adam Roben <aroben@apple.com>
24935
24936 Windows build fix
24937
24938 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
24939
mrowe@apple.com37686d42008-09-04 00:10:39 +0000249402008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000024941
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000024942 Reviewed by Beth Dakin.
24943
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000024944 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
24945
24946 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
24947 to determine if an attachment is ignored through accessibility. Added equivalent
24948 methods in Gtk, Win and Mac
24949
24950 Test: accessibility/plugin.html
24951
24952 * GNUmakefile.am:
24953 * WebCore.vcproj/WebCore.vcproj:
24954 * WebCore.xcodeproj/project.pbxproj:
24955 * page/AccessibilityObject.h:
24956 * page/AccessibilityRenderObject.cpp:
24957 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
24958 * page/gtk/AccessibilityObjectAtk.cpp: Added.
24959 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24960 * page/mac/AccessibilityObjectMac.mm: Added.
24961 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24962 * page/mac/AccessibilityObjectWrapper.h:
24963 * page/win/AccessibilityObjectWin.cpp: Added.
24964 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24965
mrowe@apple.com37686d42008-09-04 00:10:39 +0000249662008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000024967
24968 Reviewed by Beth Dakin.
24969
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000024970 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
24971
24972 * page/mac/AccessibilityObjectWrapper.mm:
24973 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
24974 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
24975
mrowe@apple.com37686d42008-09-04 00:10:39 +0000249762008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000024977
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000024978 Reviewed by Darin Adler.
24979
24980 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
24981
24982 Tests: accessibility/table-notbody.html
24983
24984 * page/AccessibilityTable.cpp:
24985 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
24986
weinig@apple.com33705852008-08-26 19:51:28 +0000249872008-08-26 Sam Weinig <sam@webkit.org>
24988
weinig@apple.comf6f553a2008-08-26 21:21:26 +000024989 Reviewed by Beth Dakin.
24990
24991 Fix typo.
24992
24993 * dom/DOMCoreException.h:
24994
249952008-08-26 Sam Weinig <sam@webkit.org>
24996
weinig@apple.com0f34f002008-08-26 19:56:54 +000024997 Reviewed by Oliver Hunt.
24998
24999 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
25000 <rdar://problem/6167660>
25001 Take image redirects into account when tainting the canvas.
25002
25003 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
25004
25005 * html/CanvasRenderingContext2D.cpp:
25006 (WebCore::CanvasRenderingContext2D::drawImage):
25007 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
25008
250092008-08-26 Sam Weinig <sam@webkit.org>
25010
weinig@apple.com33705852008-08-26 19:51:28 +000025011 Reviewed by Darin Adler.
25012
25013 Change canvas tainting logic to ask the image if it contains
25014 any resources outside of its own origin. Since there is no
25015 way to determine if SVG images contain any resources outside its
25016 origin, we always assume it does.
25017
25018 * html/CanvasRenderingContext2D.cpp:
25019 (WebCore::CanvasRenderingContext2D::drawImage):
25020 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
25021 * platform/graphics/BitmapImage.h:
25022 (WebCore::BitmapImage::hasSingleSecurityOrigin):
25023 * platform/graphics/GeneratedImage.h:
25024 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
25025 * platform/graphics/Image.h:
25026 (WebCore::Image::hasSingleSecurityOrigin):
25027 * platform/graphics/cg/PDFDocumentImage.h:
25028 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
25029 * svg/graphics/SVGImage.h:
25030
britto@apple.com616ef6d2008-08-26 17:51:03 +0000250312008-08-26 Maxime Britto <britto@apple.com>
25032
25033 Reviewed by Adele.
25034
25035 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
25036 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.
25037 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.
25038
25039 * page/EventHandler.cpp:
25040 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
25041 * page/EventHandler.h:
25042 * rendering/RenderLayer.cpp:
25043 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
25044 (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.
25045 * rendering/RenderLayer.h:
25046 * rendering/RenderObject.cpp:
25047 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
25048 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
25049 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
25050
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000250512008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
25052
darin@apple.com07c80c62008-09-05 18:15:43 +000025053 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000025054
25055 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
25056 https://bugs.webkit.org/show_bug.cgi?id=20247
25057
25058 <rdar://problem/6118218>
25059
25060 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
25061 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
25062 (case insensitive for HTML elements).
25063
25064 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
25065
25066 * dom/Element.cpp:
25067 (WebCore::Element::getAttribute):
25068 * dom/NamedAttrMap.cpp:
25069 (WebCore::NamedAttrMap::getNamedItem):
25070 (WebCore::NamedAttrMap::getAttributeItem):
25071 * dom/NamedAttrMap.h:
25072
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000250732008-08-25 Sam Weinig <sam@webkit.org>
25074
weinig@apple.com8d3ea722008-08-26 04:19:07 +000025075 Reviewed by Oliver Hunt.
25076
25077 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
25078 <rdar://problem/6174096>
25079 Treat SVG images as dirty when drawing to a canvas.
25080
25081 Test: http/tests/security/canvas-remote-read-svg-image.html
25082
25083 * html/CanvasRenderingContext2D.cpp:
25084 (WebCore::CanvasRenderingContext2D::drawImage):
25085 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
25086 * platform/graphics/Image.h:
25087 (WebCore::Image::isSVGImage):
25088 * svg/graphics/SVGImage.h:
25089 (WebCore::SVGImage::isSVGImage):
25090
250912008-08-25 Sam Weinig <sam@webkit.org>
25092
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000025093 Reviewed by Mark Rowe.
25094
25095 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
25096 Leak in XMLHttpRequest.
25097
25098 * xml/XMLHttpRequest.cpp:
25099 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
25100
beidson@apple.com46421212008-08-25 21:48:56 +0000251012008-08-25 Brady Eidson <beidson@apple.com>
25102
25103 Reviewed by Anders
25104
25105 Speculative fix for <rdar://problem/6173217>
25106
25107 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
25108 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
25109 the first null check invalid.
25110
25111 * loader/FrameLoader.cpp:
25112 (WebCore::FrameLoader::stopAllLoaders):
25113
25114
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000251152008-08-25 Kevin McCullough <kmccullough@apple.com>
25116
25117 Reviewed by Tim.
25118
25119 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
25120 there is no profile, can cause crash
25121
25122 * page/inspector/ProfilesPanel.js:
25123
dino@apple.com1baeea62008-08-25 21:06:21 +0000251242008-08-25 Dean Jackson <dino@apple.com>
25125
25126 Reviewed by Dave Hyatt
25127
25128 Make sure 'inherit' is handled by transition property.
25129 https://bugs.webkit.org/show_bug.cgi?id=20513
25130
25131 Test: transitions/inherit.html
25132 Test: transitions/inherit-other-props.html
25133
25134 * css/CSSStyleSelector.cpp:
25135 fix macro to check existence of list before getting size
25136
andersca@apple.com2866b8302008-08-25 20:56:21 +0000251372008-08-25 Anders Carlsson <andersca@apple.com>
25138
25139 Reviewed by Mark.
25140
25141 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
25142
25143 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
25144 (safely) that any class that needs finalization on the main thread will also need to be deallocated
25145 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
25146 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
25147
25148 * platform/mac/WebCoreObjCExtras.c:
25149 (WebCoreObjCFinalizeOnMainThread):
25150
antti@apple.com60381cb2008-08-25 20:41:11 +0000251512008-08-25 Antti Koivisto <antti@apple.com>
25152
25153 Reviewed by Dan Bernstein.
25154
25155 Rename CachedResource::referenced() to CachedResource::hasClients() to
25156 match previous ref() -> addClient() rename.
25157
25158 * loader/Cache.cpp:
25159 (WebCore::Cache::pruneLiveResources):
25160 (WebCore::Cache::pruneDeadResources):
25161 (WebCore::Cache::remove):
25162 (WebCore::Cache::getStatistics):
25163 (WebCore::Cache::dumpLRULists):
25164 * loader/CachedResource.cpp:
25165 (WebCore::CachedResource::addClient):
25166 (WebCore::CachedResource::removeClient):
25167 (WebCore::CachedResource::setDecodedSize):
25168 (WebCore::CachedResource::setEncodedSize):
25169 * loader/CachedResource.h:
25170 (WebCore::CachedResource::hasClients):
25171 (WebCore::CachedResource::canDelete):
25172
timothy@apple.com7d809242008-08-25 18:33:05 +0000251732008-08-25 Anthony Ricaud <rik24d@gmail.com>
25174
25175 Add a missing Inspector localized string for "other".
25176
25177 https://bugs.webkit.org/show_bug.cgi?id=20509
25178
25179 Reviewed by Tim Hatcher.
25180
25181 * English.lproj/localizedStrings.js:
25182
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000251832008-08-22 Kevin McCullough <kmccullough@apple.com>
25184
25185 Reviewed by Geoff, Mark and Tim.
25186
25187 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
25188 in the console said what file and line number they came from
25189 - Lay the foundation for getting line numbers and other data from the
25190 JavaScript engine.
25191
25192 * ForwardingHeaders/VM: Added.
25193 * ForwardingHeaders/VM/Machine.h: Added.
25194 * page/Console.cpp: Gather the line number and file information when
25195 profileEnd has been called, but don't use it until didFinishProfiling is
25196 called. We won't need to wait once we remove the profiler "zombie" mode
25197 which this patch helps pave the foundation for.
25198 (WebCore::Console::Console):
25199 (WebCore::Console::profileEnd):
25200 (WebCore::Console::finishedProfiling):
25201 * page/Console.h:
25202 * page/InspectorController.cpp: Modify calls to
25203 addProfileMessageToConsole to satisfy the new arguments it takes.
25204 (WebCore::InspectorController::finishedProfiling):
25205 (WebCore::InspectorController::addProfile):
25206 (WebCore::InspectorController::addProfileMessageToConsole):
25207 (WebCore::InspectorController::finishedProfiling):
25208 * page/InspectorController.h:
25209
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000252102008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
25211
25212 Reviewed by Simon.
25213
25214 [inspector] Update the WebKit.qrc Qt resources file
25215 Catchup with the changes in the directory.
25216
25217 * page/inspector/WebKit.qrc:
25218
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000252192008-08-25 Dirk Schulze <vbs85@gmx.de>
25220
25221 Reviewed by Simon.
25222
25223 Transformed the radian to degree, to get rotate()
25224 in canvas work as expected.
25225
25226 [Qt] Canvas.rotate() doesn't work
25227 https://bugs.webkit.org/show_bug.cgi?id=20496
25228
25229 * platform/graphics/qt/GraphicsContextQt.cpp:
25230 (WebCore::GraphicsContext::rotate):
25231
sfalken@apple.com9d442862008-08-25 05:43:33 +0000252322008-08-24 Steve Falkenburg <sfalken@apple.com>
25233
25234 Add a "last chance" WM_TIMER to the Windows shared timer.
25235
25236 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
25237 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
25238 timers if a timer with an earlier expiration is already pending. This results in no timers
25239 firing from that point on.
25240
25241 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
25242 buggy window message hook.
25243
25244 This timer will start when the first WM_TIMER is scheduled, and will
25245 fire every 5 seconds thereafter, causing any lost timers to be fired.
25246
25247 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
25248 and prevents the WebFrame leak.
25249
25250 Reviewed by Darin Adler, Geoff Garen.
25251
25252 * platform/win/SharedTimerWin.cpp:
25253 (WebCore::):
25254 (WebCore::TimerWindowWndProc):
25255 (WebCore::setSharedTimerFireTime):
25256
mitz@apple.com771fb752008-08-25 03:22:44 +0000252572008-08-24 Dan Bernstein <mitz@apple.com>
25258
25259 Reviewed by Darin Adler.
25260
25261 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
25262
25263 Test: fast/css/font-property-priority.html
25264
25265 * css/CSSParser.cpp:
25266 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
25267 to the font-property-parsing functions.
25268 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
25269 changed to use it rather than the m_important member.
25270 (WebCore::CSSParser::parseFontVariant): Ditto.
25271 (WebCore::CSSParser::parseFontWeight): Ditto.
25272 * css/CSSParser.h:
25273
timothy@apple.com4cea2632008-08-24 22:28:44 +0000252742008-08-24 Timothy Hatcher <timothy@apple.com>
25275
25276 Fixes a bug where the Inspector's UI would not animate or
25277 fully function because JavaScript timeouts, intervals and
25278 CSS animation timers where not firing while paused at a
25279 a breakpoint in the inspected page.
25280
25281 https://bugs.webkit.org/show_bug.cgi?id=20042
25282
25283 Reviewed by Darin Adler.
25284
25285 Test: manual-tests/inspector/forzen-ui-while-paused.html
25286
25287 * page/JavaScriptDebugServer.cpp:
25288 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
25289 Add a call to TimerBase::fireTimersInNestedEventLoop before
25290 spinning the EventLoop.
25291
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000252922008-08-24 Rob Buis <buis@kde.org>
25293
25294 Reviewed by Sam Weinig.
25295
25296 https://bugs.webkit.org/show_bug.cgi?id=20324
25297 A change in SVG Glyph wont show up
25298
25299 Invalidate the glyph cache when the d attribute is set.
25300
25301 Test: svg/custom/glyph-setting-d-attribute.svg
25302
25303 * svg/SVGGlyphElement.cpp:
25304 (WebCore::SVGGlyphElement::invalidateGlyphCache):
25305 (WebCore::SVGGlyphElement::parseMappedAttribute):
25306 (WebCore::SVGGlyphElement::insertedIntoDocument):
25307 (WebCore::SVGGlyphElement::removedFromDocument):
25308 * svg/SVGGlyphElement.h:
25309
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000253102008-08-24 Dan Bernstein <mitz@apple.com>
25311
25312 Reviewed by Sam Weinig.
25313
25314 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
25315 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
25316
25317 * rendering/RenderText.cpp:
25318 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
25319 beginWS and endWS before the early return to ensure that they are
25320 initialized in that case.
25321
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000253222008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
25323
25324 Rubber-stamped by Mark Rowe.
25325
25326 Remove modelines.
25327
25328 * WebCore.pro:
25329 * bridge/testbindings.cpp:
25330 * dom/DocPtr.h:
25331 * loader/SubstituteData.h:
25332 * page/Chrome.cpp:
25333 * page/Chrome.h:
25334 * page/ChromeClient.h:
25335 * page/Frame.h:
25336 * page/FrameLoadRequest.h:
25337 * page/FrameTree.cpp:
25338 * page/FrameTree.h:
25339 * page/Page.h:
25340 * page/mac/ChromeMac.mm:
25341 * platform/network/HTTPHeaderMap.h:
25342 * platform/network/ResourceErrorBase.cpp:
25343 * platform/network/ResourceErrorBase.h:
25344 * platform/network/ResourceHandleInternal.h:
25345 * platform/network/ResourceRequestBase.cpp:
25346 * platform/network/ResourceRequestBase.h:
25347 * platform/network/ResourceResponseBase.cpp:
25348 * platform/network/ResourceResponseBase.h:
25349 * platform/network/cf/ResourceError.h:
25350 * platform/network/cf/ResourceRequest.h:
25351 * platform/network/cf/ResourceRequestCFNet.h:
25352 * platform/network/cf/ResourceResponse.h:
25353 * platform/network/cf/ResourceResponseCFNet.h:
25354 * platform/network/curl/ResourceError.h:
25355 * platform/network/curl/ResourceRequest.h:
25356 * platform/network/curl/ResourceResponse.h:
25357 * platform/network/mac/ResourceError.h:
25358 * platform/network/mac/ResourceErrorMac.mm:
25359 * platform/network/mac/ResourceRequest.h:
25360 * platform/network/mac/ResourceRequestMac.mm:
25361 * platform/network/mac/ResourceResponse.h:
25362 * platform/network/mac/ResourceResponseMac.mm:
25363 * platform/network/qt/ResourceError.h:
25364 * platform/network/qt/ResourceRequest.h:
25365 * platform/network/qt/ResourceResponse.h:
25366 * platform/network/soup/CookieJarSoup.cpp:
25367 * platform/network/soup/ResourceError.h:
25368 * platform/network/soup/ResourceRequest.h:
25369 * platform/network/soup/ResourceResponse.h:
25370
mitz@apple.com57a2f482008-08-23 07:16:41 +0000253712008-08-23 Dan Bernstein <mitz@apple.com>
25372
25373 Reviewed by Dave Hyatt.
25374
25375 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
25376
25377 Test: fast/table/vertical-align-baseline.html
25378
25379 * rendering/RenderTable.cpp:
25380 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
25381 baseline of the first table row, if there is one, -1 otherwise.
25382 * rendering/RenderTable.h:
25383 * rendering/RenderTableCell.cpp:
25384 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
25385 CSS2.1 definition of the baseline of a table cell.
25386 * rendering/RenderTableSection.cpp:
25387 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
25388 the baseline of the first row in the section.
25389 * rendering/RenderTableSection.h:
25390
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000253912008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
25392
25393 Add SPI to make a Windows WebView transparent.
25394
25395 Reviewed by Dan Bernstein.
25396
25397 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
25398 determines whether the created context has an alpha channel.
25399 * platform/graphics/win/GraphicsContextCGWin.cpp:
25400 (WebCore::CGContextWithHDC):
25401
timothy@apple.comb63d1172008-08-22 18:39:42 +0000254022008-08-22 Timothy Hatcher <timothy@apple.com>
25403
timothy@apple.com964022d2008-08-22 20:35:20 +000025404 Rolls out r35834 because it caused a regression in the Inspector's
25405 Console where some expressions always threw a syntax error.
25406
25407 https://bugs.webkit.org/show_bug.cgi?id=20487
25408
25409 * page/inspector/Console.js:
25410 (Console.prototype._evalInInspectedWindow): Removes parenthesis
25411 around the expression.
25412
254132008-08-22 Timothy Hatcher <timothy@apple.com>
25414
timothy@apple.com056d4782008-08-22 18:39:52 +000025415 Makes getStyleProperty return a value for the overflow property
25416 when overflow-x and overflow-y are equal.
25417
25418 https://bugs.webkit.org/show_bug.cgi?id=20485
25419
25420 Reviewed by Dan Bernstein.
25421
25422 Test: fast/css/overflow-property.html
25423
25424 * css/CSSMutableStyleDeclaration.cpp:
25425 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
25426
254272008-08-22 Timothy Hatcher <timothy@apple.com>
25428
timothy@apple.comb63d1172008-08-22 18:39:42 +000025429 Fixes a bug where while editing in the Inspector the
25430 sidebar scroll position would jump to the top.
25431
25432 https://bugs.webkit.org/show_bug.cgi?id=20484
25433
25434 Reviewed by Darin Adler.
25435
25436 * page/inspector/treeoutline.js:
25437 (TreeOutline._removeChildren): Remove the offsetTop call that
25438 was forcing a layout, since layout causes scroll positions
25439 to be clamped to the new scrollHeight/Width. Layout will happen
25440 normally when needed.
25441
kevino@webkit.org8271c842008-08-22 16:25:52 +0000254422008-08-22 Kevin Ollivier <kevino@theolliviers.com>
25443
25444 wx build fix. Add AccessibilityTable sources.
25445
25446 * WebCoreSources.bkl:
25447
mitz@apple.com9befc872008-08-22 06:29:33 +0000254482008-08-21 Dan Bernstein <mitz@apple.com>
25449
25450 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
25451
25452 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
25453
25454 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
25455
25456 * platform/graphics/mac/SimpleFontDataMac.mm:
25457 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
25458 ascent and 100% to its reported descent.
25459
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000254602008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
25461
25462 Reviewed by Darin Adler.
25463
mrowe@apple.com22eaa172008-08-22 02:10:15 +000025464 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000025465 [GTK] Crash on some pages due to a plugin
25466
25467 Fix handling of badly formatted and empty plugin mime descriptions
25468
25469 * plugins/gtk/PluginPackageGtk.cpp:
25470 (WebCore::PluginPackage::fetchInfo):
25471
mrowe@apple.com798b3432008-08-22 02:07:48 +0000254722008-08-21 Kevin Watters <kevinwatters@gmail.com>
25473
25474 Reviewed by Darin Adler.
25475
25476 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
25477 animated GIF frame duration of less than 50ms.
25478
25479 * platform/graphics/wx/ImageSourceWx.cpp:
25480 (WebCore::ImageSource::frameDurationAtIndex):
25481
britto@apple.com8ed72772008-08-22 00:39:39 +0000254822008-08-21 Maxime Britto <britto@apple.com>
25483
25484 Reviewed by Kevin McCullough.
25485
25486 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
25487 https://bugs.webkit.org/show_bug.cgi?id=20451
25488
25489 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
25490 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
25491 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
25492
25493 * page/EventHandler.cpp:
25494 (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.
25495
25496 (WebCore::EventHandler::handleMousePressEvent): ditto
25497
timothy@apple.com5d492192008-08-21 23:54:01 +0000254982008-08-21 Anthony Ricaud <rik24d@gmail.com>
25499
25500 Small optimization for when the dividers in the Inspector's
25501 Resources panel are updated.
25502
25503 Reviewed by Tim Hatcher.
25504
25505 * page/inspector/ResourcesPanel.js:
25506 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
25507 Combind a for loop and clone the divider element.
25508
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000255092008-08-21 Chris Marrin <cmarrin@apple.com>
25510
25511 Allow 0 (without units) for Time eg. duration
25512 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
25513
25514 Reviewed by Dave Hyatt.
25515
25516 Test: css1/units/zero-duration-without-units.html
25517
25518 * css/CSSParser.cpp:
25519 (WebCore::CSSParser::validUnit):
25520
timothy@apple.com29c12d02008-08-21 20:12:47 +0000255212008-08-21 Timothy Hatcher <timothy@apple.com>
25522
timothy@apple.comca11cd82008-08-21 20:13:12 +000025523 Make deleting all text while editing a DOM attribute in
25524 the Inspector delete the attribute. This also fixes
25525 an exception that would happen before.
25526
25527 https://bugs.webkit.org/show_bug.cgi?id=20472
25528
25529 Reviewed by Kevin McCullough.
25530
25531 * page/inspector/ElementsPanel.js:
25532 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
25533 Don't check for hasAttributes on the parseElement, continuing
25534 through the function will correctly remove the attribute.
25535 If the parseElement is null, call _editingCancelled not
25536 editingCancelled, this fixes an exception.
25537
255382008-08-21 Timothy Hatcher <timothy@apple.com>
25539
timothy@apple.comde831cf2008-08-21 20:12:59 +000025540 Update the Inspector's Metrics pane when editing in
25541 the Styles pane. This makes sure the metrics shown
25542 always match what the Styles pane shows.
25543
25544 https://bugs.webkit.org/show_bug.cgi?id=20470
25545
25546 Reviewed by Kevin McCullough.
25547
25548 * page/inspector/ElementsPanel.js:
25549 (WebInspector.ElementsPanel): Add event listeners for
25550 the "style edited" and "style property toggled" events,
25551 so the Metrics pane is updated.
25552 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
25553 Update the Metrics pane.
25554 * page/inspector/StylesSidebarPane.js:
25555 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
25556 Dispatch the "style property toggled" event.
25557 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
25558 Dispatch the "style edited" event when the CSS text is restored.
25559 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
25560 Dispatch the "style edited" event.
25561
255622008-08-21 Timothy Hatcher <timothy@apple.com>
25563
timothy@apple.com29c12d02008-08-21 20:12:47 +000025564 Make the Inspector's Metrics sidebar pane editable.
25565
25566 https://bugs.webkit.org/show_bug.cgi?id=17218
25567 rdar://problem/5732818
25568
25569 Reviewed by Kevin McCullough.
25570
25571 * page/inspector/ElementsPanel.js:
25572 (WebInspector.ElementsPanel): Add an event listener for
25573 the "metrics edited" event, so the Styles pane is updated.
25574 * page/inspector/MetricsSidebarPane.js:
25575 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
25576 so future updates work. Add a double click event listener for the
25577 metric values to start editing.
25578 (WebInspector.MetricsSidebarPane.prototype.startEditing):
25579 Call WebInspector.startEditing with some context.
25580 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
25581 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
25582 Set the user input on the elements inline style. Fire the
25583 "metrics edited" event.
25584
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000255852008-08-21 Steve Falkenburg <sfalken@apple.com>
25586
25587 Fix a race condition in Windows timer code.
25588 Timer function could end up being called with a 0 timer, leading to a Windows exception.
25589
25590 Don't post a timer message if one is already pending.
25591
25592 Reviewed by Ada Chan.
25593
25594 * platform/win/SharedTimerWin.cpp:
25595 (WebCore::TimerWindowWndProc):
25596 (WebCore::clearTimer):
25597 (WebCore::queueTimerProc):
25598 (WebCore::setSharedTimerFireTime):
25599
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000256002008-08-21 Anthony Ricaud <rik24d@gmail.com>
25601
timothy@apple.com493212c72008-08-21 16:36:06 +000025602 After trying to add the expression, try again with quotes for
25603 easier edition.
25604
25605 https://bugs.webkit.org/show_bug.cgi?id=20466
25606
25607 Reviewed by Tim Hatcher.
25608
25609 * page/inspector/ObjectPropertiesSection.js: Added an
25610 evaluateExpression function.
25611
256122008-08-21 Anthony Ricaud <rik24d@gmail.com>
25613
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000025614 Perform Inspector searches on search event to clear results when
25615 clicking the cross to empty it. Delete the lastQuery when the field
25616 is emptied in order to perform the search if exactly the same query
25617 is entered next.
25618
25619 https://bugs.webkit.org/show_bug.cgi?id=20462
25620
25621 Reviewed by Tim Hatcher.
25622
25623 * page/inspector/inspector.js:
25624
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000256252008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
25626
25627 Reviewed by Mark Rowe.
25628
25629 http://bugs.webkit.org/show_bug.cgi?id=19656
25630 [SOUP] The gio code should call didFail() instead of
25631 didFinishLoading() in case of error
25632
25633 In case of error call didFail() instead of didReceiveResponse() and
25634 didFinishLoading().
25635
25636 * platform/network/soup/ResourceHandleSoup.cpp:
25637 (WebCore::networkErrorForFile):
25638 (WebCore::readCallback):
25639 (WebCore::openCallback):
25640 (WebCore::queryInfoCallback):
25641
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000256422008-08-20 Mark Rowe <mrowe@apple.com>
25643
mrowe@apple.com4e593f42008-08-21 06:52:42 +000025644 Reviewed by Jon Honeycutt.
25645
25646 Fix build failure.
25647
25648 * bridge/c/c_instance.cpp:
25649 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
25650 as that is what NPEnumerationFunctionPtr is declared as accepting.
25651
256522008-08-20 Mark Rowe <mrowe@apple.com>
25653
mrowe@apple.com72a95b12008-08-21 04:01:51 +000025654 Reviewed by Dan Bernstein.
25655
25656 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
25657
25658 * platform/graphics/GraphicsContext.h:
25659 (WebCore::):
25660 * platform/graphics/cg/GraphicsContextCG.cpp:
25661 (WebCore::GraphicsContext::setImageInterpolationQuality):
25662 (WebCore::GraphicsContext::imageInterpolationQuality):
25663
mitz@apple.comaa938792008-08-21 00:33:29 +0000256642008-08-20 Dan Bernstein <mitz@apple.com>
25665
25666 Rubber-stamped by John Sullivan.
25667
25668 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
25669 rename related methods and variables accordingly.
25670
25671 * WebCore.base.exp:
25672 * page/FrameView.cpp:
25673 (WebCore::FrameViewPrivate::FrameViewPrivate):
25674 (WebCore::FrameView::shouldUpdateWhileOffscreen):
25675 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
25676 * page/FrameView.h:
25677 * platform/ScrollView.h:
25678 * platform/mac/ScrollViewMac.mm:
25679 (WebCore::ScrollView::updateContents):
25680
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000256812008-08-20 Brady Eidson <beidson@apple.com>
25682
25683 Reviewed by Mitzpettel
25684
25685 <rdar://problem/6163636> - Many images broken in Mail
25686
25687 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
25688 sooner than before and confuse the WebArchive machinery.
25689
25690 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
25691 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
25692 machinery and nothing is known about where the data will eventually come from.
25693
25694 * loader/DocumentLoader.cpp:
25695 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
25696 CachedResource::PreloadReferenced.
25697
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000256982008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
25699
25700 Unreviewed compile fix
25701
25702 Catch up with the JSValue::type elimination.
25703
25704 * bridge/qt/qt_instance.cpp:
25705 (KJS::Bindings::QtRuntimeObjectImp::construct):
25706 (KJS::Bindings::QtInstance::defaultValue):
25707 * bridge/qt/qt_runtime.cpp:
25708 (KJS::Bindings::QtRuntimeConnectionMethod::call):
25709
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000257102008-08-20 Chris Teague <chris.teague@gmail.com>
25711
25712 Reviewed by Mark Rowe.
25713
25714 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
25715 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
25716
25717 * ChangeLog:
25718 * loader/FrameLoader.cpp:
25719 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
25720
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000257212008-08-20 Simon Fraser <simon.fraser@apple.com>
25722
25723 Reviewed by Dave Hyatt
25724
25725 getComputedStyle() for webkitTransform should return a transform
25726 that does not have the transform origin baked into it.
25727 https://bugs.webkit.org/show_bug.cgi?id=20464
25728
25729 Test: fast/css/getComputedStyle-transform.html
25730
25731 * css/CSSComputedStyleDeclaration.cpp:
25732 (WebCore::computedTransform):
25733 * rendering/style/RenderStyle.cpp:
25734 (WebCore::RenderStyle::applyTransform):
25735 * rendering/style/RenderStyle.h:
25736
andersca@apple.com021ce772008-08-20 21:04:12 +0000257372008-08-20 Josh Aas <joshmoz@gmail.com>
25738
25739 Reviewed and landed by Anders.
25740
25741 <rdar://problem/6163636>
25742 rename NPCocoaEvent's "event" struct to "data" (20446)
25743
25744 * bridge/npapi.h:
25745 (_NPCocoaEvent::):
25746
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000257472008-08-20 Beth Dakin <bdakin@apple.com>
25748
darin@apple.com07c80c62008-09-05 18:15:43 +000025749 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000025750
25751 Fix for <rdar://problem/6145626>
25752 This patch fixes a number of remaining problems getting
25753 disconnected frames to work correctly with markAllMatchesForText()
25754 and findString(). Details inline.
25755
25756 This was a static helper function in Frame, but this patch requires
25757 the same functionality in Editor, so I just added it as a function
25758 on Node.
25759 * dom/Node.cpp:
25760 (WebCore::Node::isInShadowTree):
25761 * dom/Node.h:
25762
25763 * editing/Editor.cpp:
25764 (WebCore::Editor::insideVisibleArea): Returns false if
25765 excludeFromTextSearch() is true.
25766
25767 In a normal (non-disconnected) frame, findString returns a range of
25768 the document node if the text is not found in the frame. I changed
25769 firstVisibleRange and lastVisibleRange to match that behavior when
25770 the text is not found
25771 (WebCore::Editor::firstVisibleRange):
25772 (WebCore::Editor::lastVisibleRange):
25773
25774 Here are the bulk of the changes in the patch. A lot of text was
25775 not being found in disconnected frames because I failed to account
25776 for all of the possible problems associated with shadow trees. That
25777 is fixed here.
25778 (WebCore::Editor::nextVisibleRange):
25779 * editing/Editor.h:
25780
25781 excludeFromTextSearch() is new. It allows a WebKit client to mark a
25782 frame as not-text-searchable through SPI.
25783 * WebCore.base.exp:
25784 * page/Frame.cpp:
25785 (WebCore::Frame::excludeFromTextSearch):
25786 (WebCore::Frame::setExcludeFromTextSearch):
25787 (WebCore::FramePrivate::FramePrivate):
25788 * page/Frame.h:
25789 * page/FramePrivate.h:
25790
25791 (WebCore::Frame::findString):
25792 (WebCore::Frame::markAllMatchesForText): I kept running into an
25793 assertion failure in paining code because of the forced paint on
25794 empty visible rects.
25795
timothy@apple.com301befc2008-08-20 19:10:54 +0000257962008-08-20 Timothy Hatcher <timothy@apple.com>
25797
25798 Adds a positon box to the Inspector's Metrics sidebar
25799 pane. When an element is not statically positioned, there
25800 is now a position box that show top, right, bottom and
25801 left computed values.
25802
25803 Reviewed by Kevin McCullough.
25804
25805 * English.lproj/localizedStrings.js: Updated the strings.
25806 * page/inspector/MetricsSidebarPane.js:
25807 (WebInspector.MetricsSidebarPane.prototype.update):
25808 Renamed the boxPartValue function to createBoxPartElement
25809 and made it create the entire element. Made it understand
25810 how to get position style properties. Don't use the figure dash
25811 when 0px is used for positions, since the 0 is meaningful there.
25812 Instead use the figure dash when a position is auto.
25813 * page/inspector/inspector.css: Added a new rule for position.
25814
mrowe@apple.com37686d42008-09-04 00:10:39 +0000258152008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000025816
25817 Reviewed by Beth Dakin
25818
25819 Qt build fix
25820
25821 * WebCore.pro:
25822
mitz@apple.comedaa9042008-08-20 18:28:07 +0000258232008-08-20 Dan Bernstein <mitz@apple.com>
25824
25825 Reviewed by Anders Carlsson.
25826
25827 - avoid using a deprecated NSScroller method on Leopard
25828
25829 * platform/mac/PlatformScrollBarMac.mm:
25830 (WebCore::PlatformScrollbar::updateThumbPosition):
25831 (WebCore::PlatformScrollbar::updateThumbProportion):
25832
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000258332008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
25834
25835 Reviewed by Oliver Hunt.
25836
25837 Gtk build fix
25838
25839 * GNUmakefile.am:
25840 * page/AccessibilityTable.cpp: Change nil to 0
25841 (WebCore::AccessibilityTable::cellForColumnAndRow):
25842
ap@webkit.org01aff702008-08-20 07:23:06 +0000258432008-08-19 Alexey Proskuryakov <ap@webkit.org>
25844
25845 Reviewed by Geoff Garen.
25846
25847 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
25848
25849 * ForwardingHeaders/kjs/JSLock.h: Added.
25850 * WebCore.vcproj/WebCore.vcproj:
25851 * bindings/js/GCController.cpp:
25852 (WebCore::collect):
25853 (WebCore::GCController::gcTimerFired):
25854 (WebCore::GCController::garbageCollectNow):
25855 * bindings/js/JSCustomSQLStatementCallback.cpp:
25856 (WebCore::JSCustomSQLStatementCallback::handleEvent):
25857 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
25858 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
25859 * bindings/js/JSCustomSQLTransactionCallback.cpp:
25860 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
25861 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
25862 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
25863 * bindings/js/JSCustomVoidCallback.cpp:
25864 (WebCore::JSCustomVoidCallback::handleEvent):
25865 * bindings/js/JSCustomXPathNSResolver.cpp:
25866 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
25867 * bindings/js/JSDOMWindowBase.cpp:
25868 (WebCore::DOMWindowTimer::~DOMWindowTimer):
25869 (WebCore::JSDOMWindowBase::clear):
25870 (WebCore::JSDOMWindowBase::timerFired):
25871 * bindings/js/JSEventCustom.cpp:
25872 (WebCore::toJS):
25873 * bindings/js/JSEventListener.cpp:
25874 (WebCore::JSAbstractEventListener::handleEvent):
25875 * bindings/js/JSNSResolver.cpp:
25876 (WebCore::JSNSResolver::lookupNamespaceURI):
25877 * bindings/js/JSNodeFilterCondition.cpp:
25878 (WebCore::JSNodeFilterCondition::acceptNode):
25879 * bindings/js/ScheduledAction.cpp:
25880 (WebCore::ScheduledAction::execute):
25881 * bindings/js/ScriptController.cpp:
25882 (WebCore::ScriptController::evaluate):
25883 (WebCore::ScriptController::clearWindowShell):
25884 (WebCore::ScriptController::createHTMLEventHandler):
25885 (WebCore::ScriptController::createSVGEventHandler):
25886 (WebCore::ScriptController::initScript):
25887 (WebCore::ScriptController::updateDocument):
25888 (WebCore::ScriptController::bindingRootObject):
25889 (WebCore::ScriptController::windowScriptNPObject):
25890 (WebCore::ScriptController::createScriptObjectForPluginElement):
25891 (WebCore::ScriptController::clearScriptObjects):
25892 * bindings/js/ScriptControllerMac.mm:
25893 (WebCore::ScriptController::windowScriptObject):
25894 * bindings/objc/WebScriptObject.mm:
25895 (_didExecute):
25896 (-[WebScriptObject callWebScriptMethod:withArguments:]):
25897 (-[WebScriptObject evaluateWebScript:]):
25898 (-[WebScriptObject setValue:forKey:]):
25899 (-[WebScriptObject valueForKey:]):
25900 (-[WebScriptObject removeWebScriptKey:]):
25901 (-[WebScriptObject stringRepresentation]):
25902 (-[WebScriptObject webScriptValueAtIndex:]):
25903 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
25904 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
25905 * bridge/NP_jsobject.cpp:
25906 (_NPN_InvokeDefault):
25907 (_NPN_Invoke):
25908 (_NPN_Evaluate):
25909 (_NPN_GetProperty):
25910 (_NPN_SetProperty):
25911 (_NPN_RemoveProperty):
25912 (_NPN_HasProperty):
25913 (_NPN_HasMethod):
25914 (_NPN_Enumerate):
25915 * bridge/c/c_class.cpp:
25916 (KJS::Bindings::CClass::~CClass):
25917 (KJS::Bindings::CClass::methodsNamed):
25918 (KJS::Bindings::CClass::fieldNamed):
25919 * bridge/c/c_instance.cpp:
25920 (KJS::Bindings::CInstance::invokeMethod):
25921 (KJS::Bindings::CInstance::invokeDefaultMethod):
25922 (KJS::Bindings::CInstance::getPropertyNames):
25923 * bridge/c/c_runtime.cpp:
25924 (KJS::Bindings::CField::valueFromInstance):
25925 (KJS::Bindings::CField::setValueToInstance):
25926 * bridge/c/c_utility.cpp:
25927 (KJS::Bindings::convertValueToNPVariant):
25928 (KJS::Bindings::convertNPVariantToValue):
25929 * bridge/jni/jni_class.cpp:
25930 (JavaClass::JavaClass):
25931 (JavaClass::~JavaClass):
25932 * bridge/jni/jni_instance.cpp:
25933 (JavaInstance::stringValue):
25934 * bridge/jni/jni_jsobject.mm:
25935 (JavaJSObject::call):
25936 (JavaJSObject::eval):
25937 (JavaJSObject::getMember):
25938 (JavaJSObject::setMember):
25939 (JavaJSObject::removeMember):
25940 (JavaJSObject::getSlot):
25941 (JavaJSObject::setSlot):
25942 (JavaJSObject::toString):
25943 (JavaJSObject::convertValueToJObject):
25944 (JavaJSObject::convertJObjectToValue):
25945 * bridge/jni/jni_objc.mm:
25946 (KJS::Bindings::dispatchJNICall):
25947 * bridge/jni/jni_runtime.cpp:
25948 (appendClassName):
25949 (JavaMethod::signature):
25950 * bridge/jni/jni_runtime.h:
25951 (KJS::Bindings::JavaString::JavaString):
25952 (KJS::Bindings::JavaString::_commonInit):
25953 (KJS::Bindings::JavaString::~JavaString):
25954 (KJS::Bindings::JavaString::UTF8String):
25955 * bridge/jni/jni_utility.cpp:
25956 (KJS::Bindings::convertValueToJValue):
25957 * bridge/npruntime.cpp:
25958 (_NPN_GetStringIdentifier):
25959 * bridge/objc/objc_instance.mm:
25960 (ObjcInstance::moveGlobalExceptionToExecState):
25961 (ObjcInstance::invokeMethod):
25962 (ObjcInstance::invokeDefaultMethod):
25963 (ObjcInstance::setValueOfUndefinedField):
25964 (ObjcInstance::getValueOfUndefinedField):
25965 * bridge/objc/objc_runtime.mm:
25966 (ObjcField::valueFromInstance):
25967 (ObjcField::setValueToInstance):
25968 * bridge/objc/objc_utility.mm:
25969 (KJS::Bindings::convertValueToObjcValue):
25970 (KJS::Bindings::convertNSStringToString):
25971 (KJS::Bindings::convertObjcValueToValue):
25972 * bridge/qt/qt_instance.cpp:
25973 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
25974 (KJS::Bindings::QtInstance::~QtInstance):
25975 (KJS::Bindings::QtInstance::getQtInstance):
25976 (KJS::Bindings::QtInstance::getRuntimeObject):
25977 * bridge/qt/qt_runtime.cpp:
25978 (KJS::Bindings::convertValueToQVariant):
25979 (KJS::Bindings::convertQVariantToValue):
25980 (KJS::Bindings::QtRuntimeMetaMethod::call):
25981 (KJS::Bindings::QtRuntimeConnectionMethod::call):
25982 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
25983 (KJS::Bindings::QtConnectionObject::execute):
25984 * bridge/runtime.cpp:
25985 (KJS::Bindings::Instance::createRuntimeObject):
25986 * bridge/testbindings.cpp:
25987 (main):
25988 * bridge/testbindings.mm:
25989 (main):
25990 * bridge/testqtbindings.cpp:
25991 (main):
25992 * dom/Document.cpp:
25993 (WebCore::Document::~Document):
25994 * dom/Node.cpp:
25995 (WebCore::Node::setDocument):
25996 * history/CachedPage.cpp:
25997 (WebCore::CachedPage::CachedPage):
25998 (WebCore::CachedPage::restore):
25999 (WebCore::CachedPage::clear):
26000 * loader/FrameLoader.cpp:
26001 (WebCore::getString):
26002 * page/InspectorController.cpp:
26003 (WebCore::ConsoleMessage::ConsoleMessage):
26004 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
26005 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
26006 (WebCore::getResourceDocumentNode):
26007 (WebCore::search):
26008 (WebCore::inspectedWindow):
26009 (WebCore::wrapCallback):
26010 (WebCore::currentCallFrame):
26011 (WebCore::profiles):
26012 (WebCore::InspectorController::focusNode):
26013 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
26014 (WebCore::InspectorController::addDatabaseScriptResource):
26015 (WebCore::InspectorController::addScriptProfile):
26016 * page/JavaScriptCallFrame.cpp:
26017 (WebCore::JavaScriptCallFrame::evaluate):
26018 * page/JavaScriptProfileNode.cpp:
26019 (WebCore::getTotalTime):
26020 (WebCore::getSelfTime):
26021 (WebCore::getTotalPercent):
26022 (WebCore::getSelfPercent):
26023 (WebCore::getNumberOfCalls):
26024 (WebCore::getChildren):
26025 (WebCore::getVisible):
26026 * page/Page.cpp:
26027 * page/mac/FrameMac.mm:
26028 * plugins/PluginView.cpp:
26029 (WebCore::PluginView::start):
26030 (WebCore::getString):
26031 (WebCore::PluginView::performRequest):
26032 (WebCore::PluginView::bindingInstance):
26033 * plugins/gtk/PluginViewGtk.cpp:
26034 (WebCore::PluginView::paint):
26035 (WebCore::PluginView::handleKeyboardEvent):
26036 (WebCore::PluginView::handleMouseEvent):
26037 (WebCore::PluginView::setNPWindowRect):
26038 (WebCore::PluginView::stop):
26039 (WebCore::PluginView::init):
26040 * plugins/qt/PluginViewQt.cpp:
26041 (WebCore::PluginView::setNPWindowRect):
26042 (WebCore::PluginView::stop):
26043 (WebCore::PluginView::init):
26044 * plugins/win/PluginViewWin.cpp:
26045 (WebCore::PluginView::dispatchNPEvent):
26046 (WebCore::PluginView::handleKeyboardEvent):
26047 (WebCore::PluginView::handleMouseEvent):
26048 (WebCore::PluginView::setNPWindowRect):
26049 (WebCore::PluginView::stop):
26050 * xml/XMLHttpRequest.cpp:
26051 (WebCore::XMLHttpRequest::clearResponse):
26052 (WebCore::XMLHttpRequest::didFinishLoading):
26053 (WebCore::XMLHttpRequest::didReceiveData):
26054
eric@webkit.orgbac93762008-08-19 23:33:07 +0000260552008-08-19 Eric Seidel <eric@webkit.org>
26056
26057 Reviewed by Geoff Garen.
26058
26059 Add the beginnings of Skia graphics support to WebCore
26060 as I try to begin the long process of un-forking the changes
26061 needed to WebCore to make Andriod's WebCore build.
26062
26063 I'll follow this up with actual *Skia.cpp files in a separate patch.
26064
26065 * platform/graphics/AffineTransform.h:
26066 * platform/graphics/FloatPoint.h:
26067 * platform/graphics/FloatRect.h:
26068 * platform/graphics/Gradient.h:
26069 * platform/graphics/GraphicsContext.h:
26070 * platform/graphics/Image.h:
26071 * platform/graphics/ImageBuffer.h:
26072 * platform/graphics/ImageSource.h:
26073 * platform/graphics/IntPoint.h:
26074 * platform/graphics/IntRect.h:
26075 * platform/graphics/Path.h:
26076 * platform/graphics/Pattern.h:
26077 * svg/graphics/SVGPaintServerPattern.h:
26078 * svg/graphics/SVGPaintServerSolid.h:
26079
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000260802008-08-19 Steve Falkenburg <sfalken@apple.com>
26081
sfalken@apple.com45d22802008-08-19 22:46:31 +000026082 Fix Windows build more.
26083
26084 * WebCore.vcproj/WebCore.vcproj:
26085
260862008-08-19 Steve Falkenburg <sfalken@apple.com>
26087
sfalken@apple.com3f69b332008-08-19 22:34:37 +000026088 Fix Windows build.
26089
26090 * page/AccessibilityRenderObject.cpp:
26091 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
26092
mrowe@apple.com37686d42008-09-04 00:10:39 +0000260932008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000026094
26095 Reviewed by Beth Dakin.
26096
26097 <rdar://problem/4003764> Expose tables as AXTables
26098
26099 Tests: accessibility/table-attributes.html
26100 accessibility/table-cell-spans.html
26101 accessibility/table-cells.html
26102 accessibility/table-detection.html
26103 accessibility/table-sections.html
26104 accessibility/table-with-rules.html
26105
26106 * WebCore.xcodeproj/project.pbxproj:
26107 * page/AXObjectCache.cpp:
26108 (WebCore::AXObjectCache::get):
26109 * page/AccessibilityObject.h:
26110 (WebCore::):
26111 (WebCore::AccessibilityObject::isDataTable):
26112 (WebCore::AccessibilityObject::isTableRow):
26113 (WebCore::AccessibilityObject::isTableColumn):
26114 (WebCore::AccessibilityObject::isTableCell):
26115 * page/AccessibilityRenderObject.cpp:
26116 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
26117 * page/AccessibilityTable.cpp: Added.
26118 (WebCore::AccessibilityTable::AccessibilityTable):
26119 (WebCore::AccessibilityTable::~AccessibilityTable):
26120 (WebCore::AccessibilityTable::create):
26121 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
26122 (WebCore::AccessibilityTable::clearChildren):
26123 (WebCore::AccessibilityTable::addChildren):
26124 (WebCore::AccessibilityTable::headerContainer):
26125 (WebCore::AccessibilityTable::columns):
26126 (WebCore::AccessibilityTable::rows):
26127 (WebCore::AccessibilityTable::rowHeaders):
26128 (WebCore::AccessibilityTable::columnHeaders):
26129 (WebCore::AccessibilityTable::cells):
26130 (WebCore::AccessibilityTable::columnCount):
26131 (WebCore::AccessibilityTable::rowCount):
26132 (WebCore::AccessibilityTable::cellForColumnAndRow):
26133 (WebCore::AccessibilityTable::roleValue):
26134 (WebCore::AccessibilityTable::accessibilityIsIgnored):
26135 (WebCore::AccessibilityTable::title):
26136 (WebCore::AccessibilityTable::isDataTable):
26137 * page/AccessibilityTable.h: Added.
26138 * page/AccessibilityTableCell.cpp: Added.
26139 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
26140 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
26141 (WebCore::AccessibilityTableCell::create):
26142 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
26143 (WebCore::AccessibilityTableCell::rowIndexRange):
26144 (WebCore::AccessibilityTableCell::columnIndexRange):
26145 * page/AccessibilityTableCell.h: Added.
26146 (WebCore::AccessibilityTableCell::isTableCell):
26147 (WebCore::AccessibilityTableCell::roleValue):
26148 * page/AccessibilityTableColumn.cpp: Added.
26149 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
26150 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
26151 (WebCore::AccessibilityTableColumn::create):
26152 (WebCore::AccessibilityTableColumn::setParentTable):
26153 (WebCore::AccessibilityTableColumn::elementRect):
26154 (WebCore::AccessibilityTableColumn::size):
26155 (WebCore::AccessibilityTableColumn::children):
26156 (WebCore::AccessibilityTableColumn::headerObject):
26157 (WebCore::AccessibilityTableColumn::headerObjectForSection):
26158 (WebCore::AccessibilityTableColumn::addChildren):
26159 * page/AccessibilityTableColumn.h: Added.
26160 (WebCore::AccessibilityTableColumn::parentObject):
26161 (WebCore::AccessibilityTableColumn::roleValue):
26162 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
26163 (WebCore::AccessibilityTableColumn::isTableColumn):
26164 (WebCore::AccessibilityTableColumn::setColumnIndex):
26165 (WebCore::AccessibilityTableColumn::columnIndex):
26166 * page/AccessibilityTableHeaderContainer.cpp: Added.
26167 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
26168 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
26169 (WebCore::AccessibilityTableHeaderContainer::create):
26170 (WebCore::AccessibilityTableHeaderContainer::children):
26171 (WebCore::AccessibilityTableHeaderContainer::elementRect):
26172 (WebCore::AccessibilityTableHeaderContainer::size):
26173 (WebCore::AccessibilityTableHeaderContainer::addChildren):
26174 * page/AccessibilityTableHeaderContainer.h: Added.
26175 (WebCore::AccessibilityTableHeaderContainer::roleValue):
26176 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
26177 (WebCore::AccessibilityTableHeaderContainer::parentObject):
26178 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
26179 * page/AccessibilityTableRow.cpp: Added.
26180 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
26181 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
26182 (WebCore::AccessibilityTableRow::create):
26183 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
26184 (WebCore::AccessibilityTableRow::headerObject):
26185 * page/AccessibilityTableRow.h: Added.
26186 (WebCore::AccessibilityTableRow::isTableRow):
26187 (WebCore::AccessibilityTableRow::roleValue):
26188 (WebCore::AccessibilityTableRow::setRowIndex):
26189 (WebCore::AccessibilityTableRow::rowIndex):
26190 * page/mac/AccessibilityObjectWrapper.mm:
26191 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
26192 (RoleEntry::):
26193 (-[AccessibilityObjectWrapper roleDescription]):
26194 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
26195 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
26196 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
26197
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000261982008-08-19 Steve Falkenburg <sfalken@apple.com>
26199
26200 Build fix.
26201 Add buildfailed support to stop builds early (preventing inaccurate error messages).
26202 Add missing post-build rule to Release.
26203
26204 * WebCore.vcproj/QTMovieWin.vcproj:
26205
timothy@apple.comda3aa632008-08-19 18:33:02 +0000262062008-08-19 Keishi Hattori <casey.hattori@gmail.com>
26207
timothy@apple.com7d08c322008-08-19 18:33:27 +000026208 Added support for console.count in the inspector.
26209
26210 Reviewed by Geoff Garen.
26211
26212 * page/Console.cpp:
26213 (WebCore::Console::count):
26214 * page/Console.h:
26215 * page/Console.idl: Added console.count.
26216 * page/InspectorController.cpp:
26217 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
26218 (WebCore::InspectorController::count): Updates the count number
26219 sing "title@source:line" as the identifier, and adds a
26220 message to the console.
26221 * page/InspectorController.h: Added m_counts.
26222
262232008-08-19 Keishi Hattori <casey.hattori@gmail.com>
26224
timothy@apple.comda3aa632008-08-19 18:33:02 +000026225 Clear console.time timers when changing page.
26226
26227 Reviewed by Geoff Garen.
26228
26229 * page/InspectorController.cpp:
26230 (WebCore::InspectorController::didCommitLoad):
26231
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000262322008-08-19 Eric Carlson <eric.carlson@apple.com>
26233
26234 Reviewed by Adele.
26235
26236 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
26237 https://bugs.webkit.org/show_bug.cgi?id=20404
26238
26239 Ignore setVisible() when visibility doesn't change.
26240
26241 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
26242 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
26243 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
26244 (WebCore::MediaPlayerPrivate::setVisible):
26245
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000262462008-08-19 Timothy Hatcher <timothy@apple.com>
26247
timothy@apple.come058a792008-08-19 17:01:12 +000026248 Fixes a bug in the Profile view where switching sort order, then
26249 switching from heavy to tree mode would show the tree in the
26250 previous sort order.
26251
26252 https://bugs.webkit.org/show_bug.cgi?id=20441
26253
26254 Reviewed by Kevin McCullough.
26255
26256 * page/inspector/ProfileView.js:
26257 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
26258 on the next profile before assigning it to this.profile.
26259 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
26260 (WebInspector.ProfileView.prototype._sortProfile): Moves from
26261 _sortData and takes a profile argument. If the profile passed in
26262 matches the this.profile, then call refresh.
26263
262642008-08-18 Timothy Hatcher <timothy@apple.com>
26265
timothy@apple.come525e402008-08-19 17:01:00 +000026266 Changed the default sort order now that heavy view is the default.
26267 Also fixes a bug where the heavy profile was not sorted at first.
26268
26269 https://bugs.webkit.org/show_bug.cgi?id=20440
26270
26271 Reviewed by Kevin McCullough.
26272
26273 * page/inspector/ProfileView.js:
26274 (WebInspector.ProfileView): Changed the default sort column. Also assign
26275 heavyProfile to profile, so the sortSelfTimeDescending call happens
26276 on the heavy profile before assigning to this.profile.
26277
262782008-08-18 Timothy Hatcher <timothy@apple.com>
26279
timothy@apple.comc9287f32008-08-19 17:00:36 +000026280 Add support for editing DOM properties and scope variables by double
26281 clicking a property to enter edit mode.
26282
26283 https://bugs.webkit.org/show_bug.cgi?id=20415
26284
26285 Reviewed by Kevin McCullough.
26286
26287 * page/inspector/ObjectPropertiesSection.js:
26288 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
26289 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
26290 Factored out code into update, and calls update.
26291 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
26292 Call removeChildren since this method can be called multiple times now.
26293 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
26294 gets made later in onattach.
26295 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
26296 if shouldRefreshChildren is true. Call removeChildren since this method can be
26297 called multiple times now.
26298 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
26299 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
26300 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
26301 this element (code moved from the constructor.)
26302 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
26303 sibling property elements.
26304 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
26305 WebInspector.startEditing after rememebring some context.
26306 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
26307 for the list element, since it might have scrolled during editing.
26308 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
26309 then restore the state from the context. Then call update to restore the title.
26310 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
26311 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
26312 to commit the user input.
26313 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
26314 and stores the result on the object for the property name of this element. If the expression is
26315 empty, delete the property and remove the tree element.
26316 * page/inspector/ScopeChainSidebarPane.js:
26317 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
26318 property on each ObjectPropertiesSection.
26319 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
26320 since it is now implemented.
26321 * page/inspector/ScriptsPanel.js:
26322 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
26323 that defaults to true if omitted. It specifies whether to call update on the scope chain.
26324 * page/inspector/inspector.css: New styles.
26325 * page/inspector/treeoutline.js:
26326 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
26327 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
26328
263292008-08-18 Timothy Hatcher <timothy@apple.com>
26330
timothy@apple.com9d9821a2008-08-19 17:00:26 +000026331 Surround the expression to be evaluated in parenthesis so the
26332 result of the eval is the result of the whole expression not
26333 the last potential sub-expression. So evaluating {x: 123}
26334 will show the Object not 123.
26335
26336 https://bugs.webkit.org/show_bug.cgi?id=20428
26337
26338 Reviewed by Kevin McCullough.
26339
26340 * page/inspector/Console.js:
26341 (Console.prototype._evalInInspectedWindow): Add parenthesis
26342 around the expression. And add couple comments.
26343
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000263442008-08-19 Kevin McCullough <kmccullough@apple.com>
26345
26346 Reviewed by Geoff.
26347
26348 -Implement a page() function to extract a common code pattern.
26349
26350 * WebCore.xcodeproj/project.pbxproj:
26351 * page/Console.cpp:
26352 (WebCore::Console::addMessage):
26353 (WebCore::Console::error):
26354 (WebCore::Console::info):
26355 (WebCore::Console::log):
26356 (WebCore::Console::dir):
26357 (WebCore::Console::assertCondition):
26358 (WebCore::Console::time):
26359 (WebCore::Console::timeEnd):
26360 (WebCore::Console::group):
26361 (WebCore::Console::groupEnd):
26362 (WebCore::Console::finishedProfiling):
26363 (WebCore::Console::warn):
26364 (WebCore::Console::framePage):
26365 * page/Console.h:
26366
darin@apple.com349e1eb2008-08-19 04:39:04 +0000263672008-08-12 Darin Adler <darin@apple.com>
26368
26369 Reviewed by Geoff.
26370
26371 - eliminate JSValue::type()
26372
26373 * bridge/c/c_instance.cpp:
26374 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
26375 argument instead of JSType argument. Removed unneeded code to handle
26376 boolean, since that's never passed.
26377 * bridge/c/c_instance.h: Ditto.
26378
26379 * bridge/c/c_utility.cpp:
26380 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
26381 instead of JSValue::type(). Removed unneeded code to handle
26382 "unspecified".
26383
26384 * bridge/jni/jni_instance.cpp:
26385 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
26386 instead of JSType argument. Removed unneeded code to handle boolean.
26387 * bridge/jni/jni_instance.h: Ditto.
26388
26389 * bridge/jni/jni_jsobject.mm:
26390 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
26391 instead of JSValue::type().
26392
26393 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
26394 instead of JSType argument. Removed unused argument.
26395 * bridge/objc/objc_instance.mm:
26396 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
26397 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
26398 instead of JSType argument. Removed unneeded code to handle boolean
26399 and another dead code path for unknown types.
26400
26401 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
26402 instead of JSType argument. Removed override of type() that caused
26403 the fallback object to return "UndefinedType" when there is no
26404 invokeUndefinedMethodFromWebScript:withArguments: method defined.
26405 That didn't accomplish much, since most checks for undefined don't
26406 ever call type().
26407 * bridge/objc/objc_runtime.mm:
26408 (ObjcFallbackObjectImp::defaultValue): Ditto.
26409
26410 * bridge/qt/qt_instance.cpp:
26411 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
26412 argument instead of JSType argument. Removed unneeded code to handle
26413 boolean.
26414 * bridge/qt/qt_instance.h: Ditto.
26415
26416 * bridge/runtime.h:
26417 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
26418 unsed argument.
26419 * bridge/runtime_object.cpp:
26420 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
26421 argument instead of JSType argument.
26422 * bridge/runtime_object.h: Ditto.
26423
britto@apple.comaf7f8382008-08-19 00:42:13 +0000264242008-08-18 Maxime Britto <britto@apple.com>
26425
26426 Reviewed by Adele.
26427
26428 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
26429 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
26430 We shouldn't be able to create another window while we are in pan scrolling.
26431 Other browsers behaviors :
26432 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
26433 IE7 : Keys are not disabled but stops immediately the panning.
26434 This patch matches FF3 behavior by disabling every key but the esc key.
26435
26436 * page/EventHandler.cpp:
26437 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
26438 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
26439
mitz@apple.com12404d82008-08-19 00:20:38 +0000264402008-08-18 Dan Bernstein <mitz@apple.com>
26441
26442 Reviewed by Dave Hyatt.
26443
26444 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
26445
26446 Test: fast/replaced/max-width-percent.html
26447
26448 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
26449 When false, max-width is not factored into the
26450 calculation.
26451 Changed RenderReplaced and subclasses' calcPrefWidths() to call
26452 calcReplacedWidth(false) and then apply max-width only if it has a
26453 fixed, positive value.
26454
26455 * rendering/RenderBox.cpp:
26456 (WebCore::RenderBox::calcReplacedWidth):
26457 * rendering/RenderBox.h:
26458 * rendering/RenderImage.cpp:
26459 (WebCore::RenderImage::calcReplacedWidth):
26460 (WebCore::RenderImage::calcPrefWidths):
26461 * rendering/RenderImage.h:
26462 * rendering/RenderReplaced.cpp:
26463 (WebCore::RenderReplaced::calcPrefWidths):
26464 * rendering/RenderSVGRoot.cpp:
26465 (WebCore::RenderSVGRoot::calcPrefWidths):
26466 * rendering/RenderVideo.cpp:
26467 (WebCore::RenderVideo::calcReplacedWidth):
26468 (WebCore::RenderVideo::calcPrefWidths):
26469 * rendering/RenderVideo.h:
26470
mrowe@apple.comced88732008-08-18 22:47:28 +0000264712008-08-18 Daniel Macks <dmacks@netspace.org>
26472
26473 Reviewed by Mark Rowe.
26474
26475 https://bugs.webkit.org/show_bug.cgi?id=20410
26476 More portable/self-documenting replacement for SIZE_MAX.
26477
26478 * platform/network/curl/FormDataStreamCurl.cpp:
26479 (WebCore::FormDataStream::read):
26480
264812008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000026482
26483 Reviewed by Dave Hyatt
26484
26485 Need to make sure we have an Animation in the AnimationList
26486 before setting the initial value.
26487 https://bugs.webkit.org/show_bug.cgi?id=20408
26488
26489 Test: fast/css/transition_shorthand_parsing.html
26490
26491 * css/CSSStyleSelector.cpp:
26492
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000264932008-08-18 Kevin McCullough <kmccullough@apple.com>
26494
kmccullough@apple.com707bd362008-08-18 20:21:57 +000026495 Reviewed by Tim.
26496
26497 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
26498 is another profile.
26499
26500 * page/inspector/ProfilesPanel.js:
26501
265022008-08-18 Kevin McCullough <kmccullough@apple.com>
26503
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000026504 Reviewed by Geoff.
26505
26506 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
26507 all console messages
26508
26509 * page/inspector/Console.js:
26510
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000265112008-08-18 Dirk Schulze <vbs85@gmx.de>
26512
26513 Reviewed by Eric Seidel.
26514
26515 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
26516 the canvas clean up.
26517
26518 https://bugs.webkit.org/show_bug.cgi?id=20405
26519
26520 * html/CanvasRenderingContext2D.cpp:
26521 (WebCore::CanvasRenderingContext2D::fill):
26522 (WebCore::CanvasRenderingContext2D::stroke):
26523 (WebCore::CanvasRenderingContext2D::fillRect):
26524
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000265252008-08-17 Timothy Hatcher <timothy@apple.com>
26526
26527 Complete in scope variables in the Console when paused.
26528
26529 https://bugs.webkit.org/show_bug.cgi?id=19115
26530
26531 Reviewed by Geoffrey Garen.
26532
26533 * page/inspector/Console.js:
26534 (WebInspector.Console.prototype.completions): If the expressionString
26535 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
26536 to get an object that declares all the in scope variables. That way
26537 "top level" expressions are completed.
26538 * page/inspector/ScriptsPanel.js:
26539 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
26540 Return an object that has all the variables that are in scope for the
26541 selected call frame. The value of each property is just true.
26542 The return object is useful for quick lookups or auto completion.
26543
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000265442008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
26545
26546 Not reviewed.
26547
26548 Speculative Qt build fix.
26549
26550 * bridge/qt/qt_runtime.cpp:
26551 (KJS::Bindings::convertValueToQVariant):
26552 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
26553
ggaren@apple.comfea43532008-08-17 20:23:49 +0000265542008-08-17 Geoffrey Garen <ggaren@apple.com>
26555
26556 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000026557
26558 Updated project files to XCode 3.1.
26559
26560 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
26561
265622008-08-17 Geoffrey Garen <ggaren@apple.com>
26563
26564 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000026565
26566 Made room for a free word in JSCell.
26567
26568 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
26569 JSGlobalData, so the two could share a pointer.
26570
26571 Added a bunch of ASSERTs, to help catch over-sized objects.
26572
mrowe@apple.com13570292008-08-16 06:48:10 +0000265732008-08-15 Mark Rowe <mrowe@apple.com>
26574
mitz@apple.comb96c1b92008-08-17 03:28:52 +000026575 Reviewed by Dan Bernstein.
26576
26577 Disable dead code stripping in debug builds.
26578
26579 * Configurations/Base.xcconfig:
26580 * WebCore.xcodeproj/project.pbxproj:
26581
265822008-08-15 Mark Rowe <mrowe@apple.com>
26583
mrowe@apple.com13570292008-08-16 06:48:10 +000026584 Rubber-stamped by Geoff Garen.
26585
26586 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
26587
26588 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
26589 between the Debug configuration and debug Production variant.
26590 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
26591
antti@apple.coma05e8b02008-08-15 22:58:06 +0000265922008-08-15 Antti Koivisto <antti@apple.com>
26593
26594 Reviewed by Anders.
26595
26596 Don't start preloading body resources before the head is complete. This prevents
26597 body preloads from slowing down initial display when there is limited amount
26598 of bandwidth available.
26599
26600 Works by queuing up found body preloads to DocLoader and only issuing them
26601 after document has rendering.
26602
26603 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
26604 without affecting complete load time.
26605
26606 * html/PreloadScanner.cpp:
26607 (WebCore::PreloadScanner::PreloadScanner):
26608 (WebCore::PreloadScanner::scanningBody):
26609 (WebCore::PreloadScanner::emitTag):
26610 (WebCore::PreloadScanner::emitCSSRule):
26611 * html/PreloadScanner.h:
26612 * loader/DocLoader.cpp:
26613 (WebCore::DocLoader::preload):
26614 (WebCore::DocLoader::checkForPendingPreloads):
26615 (WebCore::DocLoader::requestPreload):
26616 * loader/DocLoader.h:
26617 * loader/loader.cpp:
26618 (WebCore::Loader::Host::didFinishLoading):
26619 (WebCore::Loader::Host::didFail):
26620
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000266212008-08-15 Ada Chan <adachan@apple.com>
26622
26623 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
26624 This way style set on an <hr> within a <select> will be honored.
26625
26626 Reviewed by Dave Hyatt and Dan Bernstein.
26627
26628 * rendering/RenderMenuList.cpp:
26629 (WebCore::RenderMenuList::itemStyle):
26630
antti@apple.com9f7911472008-08-15 20:48:06 +0000266312008-08-15 Antti Koivisto <antti@apple.com>
26632
26633 Reviewed by Oliver.
26634
26635 Some loader performance tweaks:
26636 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
26637 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
26638 to not delay rendering.
26639 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
26640 can take long time when latency is high so it is good to get started early.
26641 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
26642 load queues. Issue remaining loads to the network layer.
26643
26644 * loader/loader.cpp:
26645 (WebCore::Loader::determinePriority):
26646 (WebCore::Loader::load):
26647 (WebCore::Loader::Host::servePendingRequests):
26648 * loader/loader.h:
26649
timothy@apple.com2d974c32008-08-15 18:35:39 +0000266502008-08-15 Timothy Hatcher <timothy@apple.com>
26651
26652 Detach the script debugger when the Web Inspector's window closes.
26653 This has always been the intended design, but never fully implemented.
26654
26655 https://bugs.webkit.org/show_bug.cgi?id=20402
26656
26657 Reviewed by Adam Roben.
26658
26659 * page/InspectorController.cpp:
26660 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
26661 if the window is no longer visible.
26662
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000266632008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
26664
26665 Reviewed by Simon.
26666
hausmann@webkit.org58144a72008-08-15 18:12:08 +000026667 Fixes: compile with QT_NO_CONTEXTMENU
26668
26669 * platform/qt/PlatformMouseEventQt.cpp:
26670 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
26671 * platform/qt/PlatformScrollBarQt.cpp:
26672 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
26673 (WebCore::PlatformScrollbar::handleContextMenuEvent):
26674
266752008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
26676
26677 Reviewed by Simon.
26678
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000026679 Fixes: compile with QT_NO_WHEELEVENT
26680
26681 * platform/qt/WheelEventQt.cpp:
26682 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
26683
timothy@apple.com4889e612008-08-15 17:06:14 +0000266842008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26685
timothy@apple.comd64639c2008-08-15 17:48:36 +000026686 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
26687
26688 https://bugs.webkit.org/show_bug.cgi?id=20210
26689
26690 Reviewed by Tim Hatcher.
26691
26692 * page/Console.cpp:
26693 (WebCore::Console::group):
26694 (WebCore::Console::groupEnd):
26695 * page/Console.h:
26696 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
26697 * page/InspectorController.cpp:
26698 (WebCore::InspectorController::startGroup): Increments group level by
26699 one and adds console message with StartGroupMessaageLevel.
26700 (WebCore::InspectorController::endGroup): Decrements group level by one
26701 and adds console message with EndGroupMessaageLevel.
26702 * page/InspectorController.h:
26703 * page/inspector/Console.js:
26704 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
26705 if the message is StartGroupMessaageLevel.
26706 (WebInspector.ConsoleMessage.prototype.toMessageElement):
26707 (WebInspector.ConsoleGroup.prototype.addMessage):
26708 * page/inspector/inspector.js:
26709
267102008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26711
timothy@apple.com7310b6a2008-08-15 17:35:22 +000026712 Adds support for console.dir to the Inspector
26713
26714 https://bugs.webkit.org/show_bug.cgi?id=19155
26715
26716 Reviewed by Tim Hatcher.
26717
26718 * bindings/js/JSConsoleCustom.cpp:
26719 (WebCore::JSConsole::dir):
26720 * page/Console.cpp:
26721 (WebCore::Console::dir):
26722 * page/Console.h: Added ObjectMessageLevel.
26723 * page/Console.idl: Added console.dir.
26724 * page/inspector/Console.js:
26725 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
26726 ObjectPropertiesSection if the MessageLevel is Object.
26727 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
26728 used on primitive data types.
26729 * page/inspector/inspector.css:
26730
267312008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26732
timothy@apple.com4889e612008-08-15 17:06:14 +000026733 Adds support for clear() in the Inspector console.
26734
26735 https://bugs.webkit.org/show_bug.cgi?id=19873
26736
26737 Reviewed by Tim Hatcher.
26738
26739 * page/inspector/Console.js:
26740
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000267412008-08-15 Anthony Ricaud <rik24d@gmail.com>
26742
26743 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
26744
26745 Platform distinction and modifier key matching adjusted
26746 by Daniel Jalkut <jalkut@red-sweater.com>
26747
26748 Bug 16313: text search (find) keybindings should work in the Web Inspector
26749 https://bugs.webkit.org/show_bug.cgi?id=16313
26750
26751 Reviewed by Tim Hatcher.
26752
26753 * page/inspector/inspector.js: Added a case for the F key
26754
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000267552008-08-15 Keishi Hattori <casey.hattori@gmail.com>
26756
26757 Fix for error when the string doesn't contain a webkit-profile link.
26758
26759 https://bugs.webkit.org/show_bug.cgi?id=20399
26760
26761 Reviewed by Tim Hatcher.
26762
26763 * page/inspector/inspector.js:
26764
timothy@apple.com895b2652008-08-15 16:33:27 +0000267652008-08-15 Timothy Hatcher <timothy@apple.com>
26766
26767 Fixes two bugs where JavaScript could be executed from the page
26768 while the debugger is paused.
26769
26770 The first issue was JSLazyEventListener not checking the paused
26771 state before parsing the code.
26772
26773 The second issue was with the PageGroup version of
26774 JavaScriptDebugServer::setJavaScriptPaused always passing false
26775 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
26776 and not the paused argument.
26777
26778 https://bugs.webkit.org/show_bug.cgi?id=20284
26779
26780 Reviewed by Adam Roben.
26781
26782 * bindings/js/JSEventListener.cpp:
26783 (WebCore::JSLazyEventListener::parseCode): Check the paused
26784 state of the ScriptController. Return early if paused.
26785 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
26786 * page/JavaScriptDebugServer.cpp:
26787 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
26788 Pass the paused argument to the Page version of setJavaScriptPaused.
26789
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000267902008-08-15 Alexey Proskuryakov <ap@webkit.org>
26791
26792 Reviewed by Geoff Garen.
26793
26794 JSStringRef is created context-free, but can get linked to one via an identifier table,
26795 breaking an implicit API contract.
26796
26797 * page/InspectorController.cpp:
26798 (WebCore::jsStringRef):
26799 (WebCore::InspectorController::didParseSource):
26800 (WebCore::InspectorController::failedToParseSource):
26801 * page/JavaScriptProfile.cpp:
26802 (WebCore::getTitleCallback):
26803 Updated for JavaScriptCore changes.
26804
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000268052008-08-14 Kevin Ollivier <kevino@theolliviers.com>
26806
26807 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
26808 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
26809
26810 * platform/graphics/AffineTransform.h:
26811
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000268122008-08-14 Eric Carlson <eric.carlson@apple.com>
26813
26814 Reviewed by Adele.
26815
26816 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
26817 <video> elements on Windows never becomes visible when a page is restored from the cache
26818
26819 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
26820 value is different from the cached value. Let the implementation decide when
26821 to avoid work because nothing has changed.
26822
26823 * platform/graphics/MediaPlayer.cpp:
26824 (WebCore::MediaPlayer::setVolume):
26825 (WebCore::MediaPlayer::setRate):
26826 (WebCore::MediaPlayer::setRect):
26827 (WebCore::MediaPlayer::setVisible):
26828
timothy@apple.comda810f42008-08-14 23:57:14 +0000268292008-08-14 Keishi Hattori <casey.hattori@gmail.com>
26830
26831 Make Firebug command line API respect predefined variables.
26832
timothy@apple.com90751f02008-08-14 23:58:19 +000026833 https://bugs.webkit.org/show_bug.cgi?id=20385
26834
timothy@apple.comda810f42008-08-14 23:57:14 +000026835 Reviewed by Tim Hatcher.
26836
26837 * page/inspector/Console.js:
26838
weinig@apple.com4b51d002008-08-14 23:33:22 +0000268392008-08-14 Sam Weinig <sam@webkit.org>
26840
26841 Reviewed by Geoffrey Garen and Timothy Hatcher.
26842
26843 Allow programatically setting the HTMLTokenizers time delay and chunk size
26844 which are used for determining how aggressively we yield.
26845
26846 * WebCore.base.exp:
26847 * html/HTMLTokenizer.cpp:
26848 (WebCore::HTMLTokenizer::begin):
26849 (WebCore::HTMLTokenizer::continueProcessing):
26850 * html/HTMLTokenizer.h:
26851 * page/Page.cpp:
26852 (WebCore::Page::Page):
26853 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
26854 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
26855 * page/Page.h:
26856 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
26857 (WebCore::Page::customHTMLTokenizerTimeDelay):
26858 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
26859 (WebCore::Page::customHTMLTokenizerChunkSize):
26860
eric@webkit.org89613d22008-08-14 23:19:17 +0000268612008-08-14 Eric Seidel <eric@webkit.org>
26862
eric@webkit.org7e897c32008-08-14 23:20:00 +000026863 Reviewed by Beth.
26864
26865 Move us one step closer to cross-platform svg/graphics code
26866
26867 * WebCore.xcodeproj/project.pbxproj:
26868 * html/CanvasStyle.cpp:
26869 * platform/graphics/Color.cpp:
26870 (WebCore::colorWithOverrideAlpha):
26871 * platform/graphics/Color.h:
26872 * svg/graphics/cg/CgSupport.cpp:
26873 (WebCore::applyStrokeStyleToContext):
26874 (WebCore::strokeBoundingBox):
26875 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
26876 (WebCore::SVGPaintServerSolid::setup):
26877
268782008-08-14 Eric Seidel <eric@webkit.org>
26879
eric@webkit.org4f490652008-08-14 23:19:31 +000026880 Reviewed by Alexey.
26881
eric@webkit.org73fa9d12008-08-14 23:19:44 +000026882 Remove un-need includes from HTMLCanvas and use the
26883 Gradient platform abstraction in one place in CanvasStyle
26884
26885 * html/CanvasRenderingContext2D.cpp:
26886 (WebCore::CanvasRenderingContext2D::fillRect):
26887 * html/CanvasStyle.cpp:
26888 * html/HTMLCanvasElement.cpp:
26889
268902008-08-14 Eric Seidel <eric@webkit.org>
26891
26892 Reviewed by Alexey.
26893
eric@webkit.org4f490652008-08-14 23:19:31 +000026894 Clean up GlyphBuffer.h, removing more #ifdefs
26895
26896 * platform/graphics/GlyphBuffer.h:
26897 (WebCore::GlyphBuffer::glyphAt):
26898 (WebCore::GlyphBuffer::advanceAt):
26899 (WebCore::GlyphBuffer::add):
26900
269012008-08-14 Eric Seidel <eric@webkit.org>
26902
eric@webkit.org89613d22008-08-14 23:19:17 +000026903 Reviewed by Sam.
26904
26905 Clean up AffineTransform.h, removing #ifdefs
26906
26907 * platform/graphics/AffineTransform.h:
26908 * platform/graphics/cairo/AffineTransformCairo.cpp:
26909 * platform/graphics/cg/AffineTransformCG.cpp:
26910 * platform/graphics/qt/AffineTransformQt.cpp:
26911 * platform/graphics/wx/AffineTransformWx.cpp:
26912
mitz@apple.com551d6252008-08-14 23:08:09 +0000269132008-08-14 Dan Bernstein <mitz@apple.com>
26914
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000026915 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
26916
26917 * platform/graphics/cairo/ImageSourceCairo.cpp:
26918 (WebCore::ImageSource::frameSizeAtIndex):
26919 * platform/graphics/qt/ImageSourceQt.cpp:
26920 (WebCore::ImageSource::frameSizeAtIndex):
26921 * platform/graphics/wx/ImageSourceWx.cpp:
26922 (WebCore::ImageSource::frameSizeAtIndex):
26923
269242008-08-14 Dan Bernstein <mitz@apple.com>
26925
mitz@apple.com551d6252008-08-14 23:08:09 +000026926 Reviewed by Brady Eidson.
26927
26928 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
26929
26930 * platform/graphics/BitmapImage.cpp:
26931 (WebCore::BitmapImage::BitmapImage): Added initialization of
26932 m_hasUniformFrameSize.
26933 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
26934 cached frame for use in decoded size computation and for setting
26935 m_hasUniformFrameSize.
26936 (WebCore::BitmapImage::currentFrameSize): Added.
26937 (WebCore::BitmapImage::dataChanged): Added code to reset
26938 m_hasUniformFrameSize.
26939 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
26940 m_hasUniformFrameSize.
26941 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
26942 * platform/graphics/cg/ImageCG.cpp:
26943 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
26944 fixes the bug, which resulted from assuming that the frame being drawn
26945 was the same size as the first frame.
26946 * platform/graphics/cg/ImageSourceCG.cpp:
26947 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
26948 changed to get the size of the frame at the given index.
26949 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
26950
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000269512008-08-13 Simon Fraser <simon.fraser@apple.com>
26952
26953 Reviewed by Eric Seidel
26954
26955 Fix @font-face inside @media rule crash.
26956 https://bugs.webkit.org/show_bug.cgi?id=20367
26957
26958 Test: fast/css/font-face-in-media-rule.html
26959
26960 * css/CSSStyleSelector.cpp:
26961 (WebCore::CSSRuleSet::addRulesFromSheet):
26962
kevino@webkit.org141c4602008-08-14 22:52:55 +0000269632008-08-14 Kevin Ollivier <kevino@theolliviers.com>
26964
26965 wx build fixes after recent changes to Canvas and Image classes.
26966
26967 * platform/graphics/Pattern.h:
26968 * platform/graphics/wx/GradientWx.cpp:
26969 (WebCore::Gradient::fill):
26970 * platform/graphics/wx/GraphicsContextWx.cpp:
26971 (WebCore::GraphicsContext::applyFillPattern):
26972 (WebCore::GraphicsContext::applyStrokePattern):
26973 * platform/graphics/wx/ImageBufferWx.cpp:
26974 (WebCore::ImageBuffer::image):
26975 * platform/graphics/wx/ImageWx.cpp:
26976 (WebCore::Image::loadPlatformResource):
26977
britto@apple.comd7008662008-08-14 19:26:02 +0000269782008-08-14 Maxime Britto <britto@apple.com>
26979
26980 Reviewed by Sam Weinig.
26981
26982 rdar://6102511
26983 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
26984 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
26985 Some differences exist between them concerning the kind of key which is pressed :
26986 IE7 : every key leads to a stop of the panning
26987 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
26988 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
26989
26990 * page/EventHandler.cpp:
26991 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
26992
christian@webkit.org0e20f322008-08-14 19:14:47 +0000269932008-08-14 Christian Dywan <christian@twotoasts.de>
26994
26995 Gtk+/ Cairo build fix, patch by Dirk Schulze.
26996
26997 * html/CanvasStyle.cpp:
26998 * platform/graphics/cairo/PatternCairo.cpp:
26999 (WebCore::Pattern::createPlatformPattern):
27000 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
27001
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000270022008-08-14 Kevin McCullough <kmccullough@apple.com>
27003
27004 Reviewed by Tim.
27005
27006 <rdar://problem/6115819> Notify of profile in console
27007
27008 * page/InspectorController.cpp:
27009 (WebCore::InspectorController::addProfile):
27010 (WebCore::InspectorController::addProfileMessageToConsole): Called by
27011 addProfile this is the function that adds a message to the console that
27012 a profile finished.
27013 * page/InspectorController.h:
27014 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
27015 the console log to the profile in the web inspector.
27016 (WebCore::getUniqueIdCallback):
27017 (WebCore::ProfileClass):
27018 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
27019 Id to bring up the requested profile. Also select and reveal the
27020 profile in the profile panel. And created displayTitleForProfileLink()
27021 which formats a title taking into account if it's user initiated or if
27022 there are multiples. Lasty, I put the user initiated profile in a
27023 variable.
27024 * page/inspector/inspector.js: Make the profile title be a clickable
27025 link that will take the user to the identified profile. Also expose
27026 the count of user initiated profiles so they can be displayed in the
27027 console with the correct count.
27028
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000270292008-08-14 Timothy Hatcher <timothy@apple.com>
27030
27031 Avoid formating ConsoleMessages twice unless the message will be
27032 displayed in bubbles of a SourceFrame.
27033
27034 Reviewed by Kevin McCullough.
27035
27036 * page/inspector/Console.js:
27037 (WebInspector.ConsoleMessage): Only format the plain text message
27038 if the URL and line are valid and the level is error or warning.
27039 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
27040 Helper to test for error or warning level.
27041 * page/inspector/SourceFrame.js:
27042 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
27043 message if there is no message or valid line or if the msg
27044 isn't an error or warning.
27045
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000270462008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
27047
27048 partial Gtk build fix, not reviewed
27049
27050 * platform/graphics/cairo/PatternCairo.cpp:
27051
weinig@apple.com45e83142008-08-14 04:49:30 +0000270522008-08-13 Sam Weinig <sam@webkit.org>
27053
weinig@apple.com1c615fe2008-09-29 04:17:33 +000027054 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000027055
27056 Fix style issue.
27057
27058 * html/HTMLMediaElement.cpp:
27059 (WebCore::HTMLMediaElement::pickMedia):
27060
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000270612008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27062
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000027063 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
27064 Continue Erics build fixes, after the Image cleanup.
27065
27066 * platform/graphics/cairo/ImageBufferCairo.cpp:
27067 (WebCore::ImageBuffer::image):
27068
270692008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27070
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000027071 Build fix for Qt, not reviewed.
27072 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
27073
27074 * dom/XMLTokenizer.cpp:
27075 (WebCore::eventuallyMarkAsParserCreated): Was erre
27076
270772008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27078
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000027079 Build fix, not reviewed.
27080 Add ScriptElement.cpp to Gtk build.
27081
27082 * GNUmakefile.am:
27083
270842008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
27085
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000027086 Reviewed by Eric.
27087
27088 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
27089
27090 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
27091 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
27092
27093 This resolves code duplications and allows us to completly replace the old
27094 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
27095
27096 As ScriptElement, doesn't actually inherit from Element, we may want to rename
27097 it, though StyleElement uses the same naming convention, so I left it as is for now.
27098 Eventually we'll rename both files in future.
27099
27100 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
27101
27102 * WebCore.pro: Add new ScriptElement.cpp to build.
27103 * WebCore.vcproj/WebCore.vcproj: Ditto.
27104 * WebCore.xcodeproj/project.pbxproj: Ditto.
27105 * WebCoreSources.bkl: Dutto.
27106 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
27107 (WebCore::ScriptElement::insertedIntoDocument):
27108 (WebCore::ScriptElement::removedFromDocument):
27109 (WebCore::ScriptElement::childrenChanged):
27110 (WebCore::ScriptElement::finishParsingChildren):
27111 (WebCore::ScriptElement::handleSourceAttribute):
27112 (WebCore::isSupportedJavaScriptLanguage):
27113 (WebCore::ScriptElementData::ScriptElementData):
27114 (WebCore::ScriptElementData::~ScriptElementData):
27115 (WebCore::ScriptElementData::requestScript):
27116 (WebCore::ScriptElementData::evaluateScript):
27117 (WebCore::ScriptElementData::stopLoadRequest):
27118 (WebCore::ScriptElementData::notifyFinished):
27119 (WebCore::ScriptElementData::ignoresLoadRequest):
27120 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
27121 (WebCore::ScriptElementData::scriptCharset):
27122 (WebCore::ScriptElementData::scriptContent):
27123 * dom/ScriptElement.h: Added.
27124 (WebCore::ScriptElement::ScriptElement):
27125 (WebCore::ScriptElement::~ScriptElement):
27126 (WebCore::ScriptElementData::element):
27127 (WebCore::ScriptElementData::createdByParser):
27128 (WebCore::ScriptElementData::setCreatedByParser):
27129 * dom/XMLTokenizer.cpp:
27130 (WebCore::isScriptElement):
27131 (WebCore::castToScriptElement):
27132 (WebCore::eventuallyMarkAsParserCreated):
27133 (WebCore::XMLTokenizer::startElementNs):
27134 (WebCore::XMLTokenizer::endElementNs):
27135 (WebCore::createXHTMLParserErrorHeader):
27136 (WebCore::XMLTokenizer::insertErrorMessageBlock):
27137 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
27138 (WebCore::HTMLScriptElement::HTMLScriptElement):
27139 (WebCore::HTMLScriptElement::~HTMLScriptElement):
27140 (WebCore::HTMLScriptElement::isURLAttribute):
27141 (WebCore::HTMLScriptElement::setCreatedByParser):
27142 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
27143 (WebCore::HTMLScriptElement::childrenChanged):
27144 (WebCore::HTMLScriptElement::parseMappedAttribute):
27145 (WebCore::HTMLScriptElement::finishParsingChildren):
27146 (WebCore::HTMLScriptElement::insertedIntoDocument):
27147 (WebCore::HTMLScriptElement::removedFromDocument):
27148 (WebCore::HTMLScriptElement::text):
27149 (WebCore::HTMLScriptElement::setText):
27150 (WebCore::HTMLScriptElement::setHtmlFor):
27151 (WebCore::HTMLScriptElement::setEvent):
27152 (WebCore::HTMLScriptElement::charset):
27153 (WebCore::HTMLScriptElement::src):
27154 (WebCore::HTMLScriptElement::type):
27155 (WebCore::HTMLScriptElement::scriptCharset):
27156 (WebCore::HTMLScriptElement::scriptContent):
27157 (WebCore::HTMLScriptElement::sourceAttributeValue):
27158 (WebCore::HTMLScriptElement::charsetAttributeValue):
27159 (WebCore::HTMLScriptElement::typeAttributeValue):
27160 (WebCore::HTMLScriptElement::languageAttributeValue):
27161 (WebCore::HTMLScriptElement::dispatchLoadEvent):
27162 (WebCore::HTMLScriptElement::dispatchErrorEvent):
27163 * html/HTMLScriptElement.h:
27164 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
27165 * svg/SVGScriptElement.cpp:
27166 (WebCore::SVGScriptElement::SVGScriptElement):
27167 (WebCore::SVGScriptElement::scriptContent):
27168 (WebCore::SVGScriptElement::sourceAttributeValue):
27169 (WebCore::SVGScriptElement::charsetAttributeValue):
27170 (WebCore::SVGScriptElement::typeAttributeValue):
27171 (WebCore::SVGScriptElement::languageAttributeValue):
27172 (WebCore::SVGScriptElement::dispatchLoadEvent):
27173 (WebCore::SVGScriptElement::dispatchErrorEvent):
27174 * svg/SVGScriptElement.h:
27175 (WebCore::SVGScriptElement::setCreatedByParser):
27176
eric@webkit.org7811ef02008-08-14 00:28:51 +0000271772008-08-13 Eric Seidel <eric@webkit.org>
27178
eric@webkit.org3562c592008-08-14 02:17:29 +000027179 Attempt to fix the Gtk build, no review.
27180
27181 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
27182
27183 * platform/graphics/GraphicsContext.h:
27184 * platform/graphics/cairo/GraphicsContextCairo.cpp:
27185 * platform/graphics/qt/GradientQt.cpp:
27186 * platform/graphics/qt/GraphicsContextQt.cpp:
27187 * platform/gtk/RenderThemeGtk.cpp:
27188 (WebCore::paintMozWidget):
27189
271902008-08-13 Eric Seidel <eric@webkit.org>
27191
eric@webkit.org2ec42072008-08-14 02:03:09 +000027192 Yet another attempt to fix the Qt build, no review.
27193
27194 * platform/graphics/qt/GradientQt.cpp:
27195 * platform/graphics/qt/GraphicsContextQt.cpp:
27196 (WebCore::GraphicsContext::applyStrokePattern):
27197 (WebCore::GraphicsContext::applyFillPattern):
27198
271992008-08-13 Eric Seidel <eric@webkit.org>
27200
27201 Attempt to fix the Windows build, no review.
27202
27203 * platform/win/CursorWin.cpp:
27204 (WebCore::loadCursorByName):
27205 * platform/win/ScrollViewWin.cpp:
27206 (WebCore::ScrollView::paint):
27207
272082008-08-13 Eric Seidel <eric@webkit.org>
27209
eric@webkit.org508c0282008-08-14 01:29:34 +000027210 Attempt to fix the Windows build, no review.
27211
27212 * platform/win/CursorWin.cpp:
27213 (WebCore::loadCursorByName):
27214 * platform/win/ScrollViewWin.cpp:
27215 (WebCore::ScrollView::paint):
27216
272172008-08-13 Eric Seidel <eric@webkit.org>
27218
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000027219 Attempt to fix the Qt build, no review.
27220
27221 * platform/graphics/qt/ImageBufferQt.cpp:
27222 (WebCore::ImageBuffer::image):
27223
272242008-08-13 Eric Seidel <eric@webkit.org>
27225
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000027226 Attempt to fix the Windows build, no review.
27227
27228 * platform/graphics/win/ImageWin.cpp:
27229 (WebCore::Image::loadPlatformResource):
27230 * plugins/win/PluginViewWin.cpp:
27231 (WebCore::PluginView::paintMissingPluginIcon):
27232
272332008-08-13 Eric Seidel <eric@webkit.org>
27234
eric@webkit.orgac3f6662008-08-14 01:15:50 +000027235 Another attempt to fix the Qt build, no review.
27236
27237 * platform/graphics/qt/ImageQt.cpp:
27238 * platform/graphics/qt/StillImageQt.h:
27239
272402008-08-13 Eric Seidel <eric@webkit.org>
27241
eric@webkit.org31e0d812008-08-14 01:05:42 +000027242 No review, build fix only.
27243
27244 Fix mac build, due to change in new code since my patch was written.
27245
27246 * svg/graphics/cg/SVGResourceMaskerCg.mm:
27247 (WebCore::SVGResourceMasker::applyMask):
27248
272492008-08-13 Eric Seidel <eric@webkit.org>
27250
eric@webkit.orga20a0032008-08-14 00:42:54 +000027251 Build fix only, no review.
27252
27253 Attempt to fix the Qt build.
27254
eric@webkit.org923255c2008-08-14 00:59:20 +000027255 * platform/graphics/qt/ImageBufferQt.cpp:
27256 * platform/graphics/qt/StillImageQt.h:
27257 (WebCore::StillImage::create):
27258 (WebCore::StillImage::destroyDecodedData):
27259 (WebCore::StillImage::decodedSize):
27260
272612008-08-13 Eric Seidel <eric@webkit.org>
27262
27263 Build fix only, no review.
27264
27265 Attempt to fix the Qt build.
27266
eric@webkit.orga20a0032008-08-14 00:42:54 +000027267 * html/CanvasStyle.cpp:
27268 (WebCore::CanvasStyle::applyStrokeColor):
27269 (WebCore::CanvasStyle::applyFillColor):
27270
272712008-08-13 Eric Seidel <eric@webkit.org>
27272
eric@webkit.org4aca3be2008-08-14 00:30:04 +000027273 Reviewed by Sam.
27274
27275 Match HTML5 spec by throwing INVALID_STATE_ERR when
27276 createPattern is called and the HTMLImageElement is not
27277 yet done loading the image (!isComplete)
27278 https://bugs.webkit.org/show_bug.cgi?id=20351
27279
27280 Test: http/misc/canvas-pattern-from-incremental-image.html
27281
27282 * html/CanvasRenderingContext2D.cpp:
27283 (WebCore::CanvasRenderingContext2D::createPattern):
27284
272852008-08-13 Eric Seidel <eric@webkit.org>
27286
eric@webkit.org5b265602008-08-14 00:29:26 +000027287 Reviewed by Niko.
27288
eric@webkit.orgf0124f62008-08-14 00:29:50 +000027289 Split out a Pattern class from CanvasPattern
27290 and remove all the Pattern-related #ifdefs
27291 (This will break non-mac platforms! I will fix them.)
27292 https://bugs.webkit.org/show_bug.cgi?id=20351
27293
27294 * GNUmakefile.am:
27295 * WebCore.pro:
27296 * WebCore.vcproj/WebCore.vcproj:
27297 * WebCore.xcodeproj/project.pbxproj:
27298 * WebCoreSources.bkl:
27299 * html/CanvasPattern.cpp:
27300 (WebCore::CanvasPattern::parseRepetitionType):
27301 (WebCore::CanvasPattern::CanvasPattern):
27302 * html/CanvasPattern.h:
27303 (WebCore::CanvasPattern::create):
27304 (WebCore::CanvasPattern::pattern):
27305 (WebCore::CanvasPattern::originClean):
27306 * html/CanvasRenderingContext2D.cpp:
27307 (WebCore::CanvasRenderingContext2D::createPattern):
27308 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
27309 (WebCore::CanvasRenderingContext2D::applyFillPattern):
27310 * html/CanvasRenderingContext2D.h:
27311 * html/HTMLCanvasElement.cpp:
27312 * html/HTMLCanvasElement.h:
27313 * loader/FrameLoader.cpp:
27314 (WebCore::FrameLoader::createHistoryItem):
27315 * platform/graphics/GraphicsContext.h:
27316 * platform/graphics/cairo/GraphicsContextCairo.cpp:
27317 (WebCore::GraphicsContext::applyStrokePattern):
27318 (WebCore::GraphicsContext::applyFillPattern):
27319 * platform/graphics/cg/GraphicsContextCG.cpp:
27320 (WebCore::GraphicsContext::clipToImageBuffer):
27321 (WebCore::GraphicsContext::applyStrokePattern):
27322 (WebCore::GraphicsContext::applyFillPattern):
27323
273242008-08-13 Eric Seidel <eric@webkit.org>
27325
27326 Reviewed by Niko.
27327
eric@webkit.org5b265602008-08-14 00:29:26 +000027328 Make Images RefCounted (and clean up callers)
27329 https://bugs.webkit.org/show_bug.cgi?id=20351
27330
27331 * editing/DeleteButtonController.cpp:
27332 (WebCore::DeleteButtonController::createDeletionUI):
27333 * loader/CachedImage.cpp:
27334 (WebCore::CachedImage::CachedImage):
27335 (WebCore::brokenImage):
27336 (WebCore::nullImage):
27337 (WebCore::CachedImage::image):
27338 (WebCore::CachedImage::notifyObservers):
27339 (WebCore::CachedImage::createImage):
27340 * loader/CachedImage.h:
27341 * loader/icon/IconRecord.cpp:
27342 (WebCore::IconRecord::setImageData):
27343 (WebCore::IconRecord::loadImageFromResource):
27344 * loader/icon/IconRecord.h:
27345 * platform/graphics/BitmapImage.h:
27346 (WebCore::BitmapImage::create):
27347 * platform/graphics/GeneratedImage.h:
27348 * platform/graphics/Gradient.cpp:
27349 * platform/graphics/Gradient.h:
27350 * platform/graphics/Image.cpp:
27351 (WebCore::Image::nullImage):
27352 * platform/graphics/Image.h:
27353 * platform/graphics/ImageBuffer.h:
27354 * platform/graphics/cairo/ImageBufferCairo.cpp:
27355 (WebCore::ImageBuffer::image):
27356 * platform/graphics/cg/ImageBufferCG.cpp:
27357 (WebCore::ImageBuffer::image):
27358 (WebCore::ImageBuffer::getImageData):
27359 (WebCore::ImageBuffer::putImageData):
27360 * platform/graphics/cg/PDFDocumentImage.h:
27361 (WebCore::PDFDocumentImage::create):
27362 (WebCore::PDFDocumentImage::destroyDecodedData):
27363 (WebCore::PDFDocumentImage::decodedSize):
27364 * platform/graphics/gtk/ImageGtk.cpp:
27365 (WebCore::Image::loadPlatformResource):
27366 * platform/graphics/mac/ImageMac.mm:
27367 (WebCore::Image::loadPlatformResource):
27368 * rendering/RenderImage.cpp:
27369 * rendering/RenderLayer.cpp:
27370 (WebCore::RenderLayer::paintOverflowControls):
27371 * svg/graphics/SVGImage.cpp:
27372 (WebCore::SVGImage::nativeImageForCurrentFrame):
27373 * svg/graphics/SVGImage.h:
27374 (WebCore::SVGImage::create):
27375 (WebCore::SVGImage::destroyDecodedData):
27376 (WebCore::SVGImage::decodedSize):
27377 (WebCore::SVGImage::frameAtIndex):
27378 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
27379 (WebCore::SVGPaintServerPattern::setup):
27380 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
27381 (WebCore::SVGResourceMasker::applyMask):
27382 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
27383 (WebCore::patternCallback):
27384 * svg/graphics/cg/SVGResourceMaskerCg.mm:
27385 (WebCore::SVGResourceMasker::applyMask):
27386
273872008-08-13 Eric Seidel <eric@webkit.org>
27388
27389 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000027390
27391 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000027392 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000027393
27394 There are some down-sides to this commit.
27395 This commit limits us to 255 levels of grey for calls like:
27396 context.setStrokeStyle(.37, 1.0)
27397 previously CG might have used up to 32bits to store the grey level
27398 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
27399
27400 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
27401 to RGBA32 (like all the rest of colors in WebCore), thus:
27402 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
27403 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
27404
27405 If this is a problem for Dashboard, we can either roll out this commit
27406 or add a beefier Color abstraction, which can be used internally by GraphicsContext
27407 when keeping state, and then GraphicsContext can grow some additional set* routines
27408 for setting the a grey/float/whatever fill and stroke.
27409
27410 * html/CanvasRenderingContext2D.cpp:
27411 (WebCore::CanvasRenderingContext2D::setFillStyle):
27412 * html/CanvasStyle.cpp:
27413 (WebCore::CanvasStyle::CanvasStyle):
27414 (WebCore::colorWithOverrideAlpha):
27415 (WebCore::CanvasStyle::applyStrokeColor):
27416 (WebCore::CanvasStyle::applyFillColor):
27417 * html/CanvasStyle.h:
27418 * platform/graphics/Color.cpp:
27419 (WebCore::colorFloatToRGBAByte):
27420 (WebCore::makeRGBA32FromFloats):
27421 * platform/graphics/Color.h:
27422
adele@apple.com83e44822008-08-13 23:50:41 +0000274232008-08-13 Eric Carlson <eric.carlson@apple.com>
27424
27425 Reviewed by Adele Peterson.
27426
27427 Fix for <rdar://problem/6137931>
27428 https://bugs.webkit.org/show_bug.cgi?id=20360
27429 Remove all parameters from the MIME type before checking with the MIME type registry
27430
27431 Tests: media/video-source-type-params.html
27432
27433 * html/HTMLMediaElement.cpp:
27434 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
27435 to isSupportedMediaMIMEType()
27436
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000274372008-08-13 Beth Dakin <bdakin@apple.com>
27438
27439 Reviewed by Sam Weinig.
27440
27441 Fix for <rdar://problem/6141345>
27442
27443 This patch refines findString and markAllMatchesForText functions'
27444 interactions with disconnected frames. They no longer rely on
27445 knowing where a range is relative to the visible region and work
27446 with disconnected frames that contain frames.
27447
27448 * editing/Editor.cpp:
27449 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
27450 the visiblity enum.
27451 (WebCore::Editor::firstVisibleRange): This now returns the very
27452 first visible range in the document. It's no longer dependent on
27453 searching forward.
27454 (WebCore::Editor::lastVisibleRange): This now returns the very last
27455 visible range in the document. It's no longer dependent on
27456 searching backwards.
27457 (WebCore::Editor::nextVisibleRange): This returns the next visible
27458 range in the appropriate direction from the current range.
27459 * editing/Editor.h:
27460 * page/Frame.cpp:
27461 (WebCore::Frame::findString):
27462 (WebCore::Frame::markAllMatchesForText):
27463
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000274642008-08-13 Kevin Ollivier <kevino@theolliviers.com>
27465
27466 wx build fix for case-sensitive platforms, like Linux.
27467
27468 * WebCoreSources.bkl:
27469
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000274702008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
27471
27472 Reviewed by Holger Freyther.
27473
27474 http://bugs.webkit.org/show_bug.cgi?id=16881
27475 [GTK] PlatformScreenGtk is unimplemented
27476
27477 Original patch by Christian Dywan.
27478
27479 * platform/gtk/PlatformScreenGtk.cpp:
27480 (WebCore::screenDepth):
27481 (WebCore::screenDepthPerComponent):
27482 (WebCore::screenIsMonochrome):
27483 (WebCore::screenRect):
27484 (WebCore::screenAvailableRect):
27485
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000274862008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
27487
27488 Reviewed by Holger Freyther.
27489
27490 http://bugs.webkit.org/show_bug.cgi?id=20318
27491 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
27492
27493 g_idle_add is the same as g_idle_add_full with a priority of
27494 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
27495
27496 * platform/gtk/SharedTimerGtk.cpp:
27497 (WebCore::setSharedTimerFireTime):
27498
timothy@apple.comf0426602008-08-13 18:11:01 +0000274992008-08-13 Timothy Hatcher <timothy@apple.com>
27500
27501 Changed the InspectorController so it can be notified when the
27502 attached state of the Inspector changes in WebKit.
27503
27504 Reviewed by Kevin McCullough.
27505
27506 * WebCore.base.exp: Updated the symbol for setWindowVisible.
27507 * page/InspectorController.cpp:
27508 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
27509 that defaults to false.Call setAttachedWindow with the attached argument.
27510 (WebCore::InspectorController::setAttachedWindow): Call the script version
27511 of setAttachedWindow.
27512 * page/InspectorController.h:
27513 * page/inspector/inspector.js:
27514 (WebInspector.setAttachedWindow): Set the attached property.
27515
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000275162008-08-12 Timothy Hatcher <timothy@apple.com>
27517
timothy@apple.com72c92ae2008-08-13 18:10:45 +000027518 Added a close button to the Inspector's toolbar when docked.
27519
27520 https://bugs.webkit.org/show_bug.cgi?id=14270
27521
27522 Reviewed by Kevin McCullough.
27523
27524 * page/InspectorController.cpp:
27525 (WebCore::closeWindow): Call InspectorController::closeWindow.
27526 (WebCore::InspectorController::windowScriptObjectAvailable):
27527 Added closeWindow to the script class.
27528 * page/InspectorController.h:
27529 * page/inspector/Images/closeButtons.png: Added.
27530 * page/inspector/inspector.css: Added and changed styles.
27531 * page/inspector/inspector.html: Added the close button.
27532 * page/inspector/inspector.js:
27533 (WebInspector.loaded): Added click event listener to the close button.
27534 (WebInspector.close): Call InspectorController.closeWindow.
27535
275362008-08-12 Timothy Hatcher <timothy@apple.com>
27537
timothy@apple.com9ea832b2008-08-13 18:10:36 +000027538 Make the docked Web Inspector resizable. This is the cross platform
27539 portion of the code. Each InspectorClient needs to implement the
27540 real resize code.
27541
27542 https://bugs.webkit.org/show_bug.cgi?id=14282
27543
27544 Reviewed by Kevin McCullough.
27545
27546 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
27547 * page/InspectorClient.h: Added setAttachedWindowHeight.
27548 * page/InspectorController.cpp:
27549 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
27550 on the InspectorController.
27551 (WebCore::InspectorController::setAttachedWindowHeight): Call
27552 setAttachedWindowHeight on the client.
27553 (WebCore::InspectorController::windowScriptObjectAvailable):
27554 Added setAttachedWindowHeight to the script class.
27555 * page/InspectorController.h:
27556 * page/inspector/inspector.css: Make the cursor on the toolbar be
27557 row-resize when docked.
27558 * page/inspector/inspector.js:
27559 (WebInspector.loaded): Always add the toolbarDragStart event listener.
27560 (WebInspector.toolbarDragStart): Return early if we are not attached
27561 and not on Leopard. Call WebInspector.elementDragStart.
27562 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
27563 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
27564 otherwise call moveByUnrestricted.
27565
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000275662008-08-13 Simon Hausmann <hausmann@webkit.org>
27567
27568 Reviewed by Holger.
27569
27570 Initialize m_zoomsTextOnly in the Settings constructor.
27571
27572 * page/Settings.cpp:
27573 (WebCore::Settings::Settings):
27574
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000275752008-08-13 Brad Hughes <bhughes@trolltech.com>
27576
27577 Reviewed by Simon.
27578
27579 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
27580
27581 The latest upgrade of the intel compiler allows us to compile all of
27582 Qt with optimizations enabled (yay!).
27583
27584 * WebCore.pro:
27585
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000275862008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
27587
27588 Reviewed by Simon.
27589
27590 Fix QtWebKit not displaying content on 403 HTTP responses
27591
27592 Just like with 404 responses also display content with 403, as
27593 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
27594
27595 * platform/network/qt/QNetworkReplyHandler.cpp:
27596 (WebCore::QNetworkReplyHandler::finish):
27597
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000275982008-08-13 Simon Hausmann <hausmann@webkit.org>
27599
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000027600 Reviewed by Holger.
27601
27602 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
27603
27604 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
27605
27606 * platform/text/String.cpp:
27607 (WebCore::String::format):
27608
276092008-08-13 Simon Hausmann <hausmann@webkit.org>
27610
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000027611 Reviewed by Lars.
27612
27613 Fix QWebFrame::setHtml() not setting the new contents immediately.
27614
27615 Added a setter to the DocumentLoader to toggle the deferred loading of the main
27616 resource when it comes from substitute data.
27617
27618 Disable deferred loading of the main resource when we have valid substitute data,
27619 as used by QWebFrame::setHtml.
27620
27621 * loader/DocumentLoader.h:
27622
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000276232008-08-13 Mark Rowe <mrowe@apple.com>
27624
27625 Speculative GTK build fix.
27626
27627 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
27628
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000276292008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
27630
27631 Reviewed by Simon.
27632
27633 Fix encoding of [ and ] in the host part of the URL
27634
27635 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
27636 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
27637 doesn't encode [ and ] when they are found in the host part. That is, the
27638 following URL:
27639 http://[::1]/
27640 is valid and should not be reencoded to:
27641 http://%5b::1%5d/
27642
27643 * platform/qt/KURLQt.cpp:
27644 (WebCore::KURL::operator QUrl):
27645
mitz@apple.come198b012008-08-12 21:49:07 +0000276462008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
27647
27648 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
27649 Broken HTML object elements cause de-reference of pointer to freed memory.
27650 If we fail to load an image for an object tag and we no longer believe the object tag points at
27651 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
27652 fall back content.
27653
27654 Reviewed by Dave Hyatt and Alexey Proskuryakov.
27655
27656 Test: http/tests/misc/object-image-error-with-onload.html
27657
27658 * html/HTMLObjectElement.cpp:
27659 (WebCore::HTMLObjectElement::renderFallbackContent):
27660 * page/Frame.cpp:
27661 (WebCore::Frame::Frame):
27662
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000276632008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
27664
27665 Reviewed by Dave.
27666
27667 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
27668 Masks are translated, and the mask images are swapped on the y-axis.
27669
27670 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
27671 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
27672
27673 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
27674 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
27675
27676 * svg/graphics/cg/SVGResourceMaskerCg.mm:
27677 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
27678
mitz@apple.comf8a98692008-08-12 17:04:42 +0000276792008-08-12 Dan Bernstein <mitz@apple.com>
27680
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000027681 - WebCore part of <rdar://problem/6121636>
27682 Make fast*alloc() abort() on failure and add "try" variants that
27683 return NULL on failure.
27684
27685 Reviewed by Darin Adler.
27686
27687 * platform/Arena.cpp:
27688 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
27689 result.
27690 * platform/graphics/cg/ImageBufferCG.cpp:
27691 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
27692
276932008-08-12 Dan Bernstein <mitz@apple.com>
27694
mitz@apple.com1e09cd72008-08-12 18:27:58 +000027695 Reviewed by Darin Adler.
27696
27697 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
27698 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
27699
27700 Test: fast/frames/frameset-style-recalc.html
27701
27702 * html/HTMLFrameSetElement.cpp:
27703 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
27704 class implementation after marking for layout.
27705
277062008-08-12 Dan Bernstein <mitz@apple.com>
27707
mitz@apple.comf8a98692008-08-12 17:04:42 +000027708 Reviewed by John Sullivan.
27709
27710 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
27711
27712 * WebCore.base.exp:
27713 * page/FrameView.cpp:
27714 (WebCore::FrameViewPrivate::FrameViewPrivate):
27715 (WebCore::FrameView::shouldUpdateWhileHidden):
27716 (WebCore::FrameView::setShouldUpdateWhileHidden):
27717 * page/FrameView.h:
27718 * page/Settings.cpp:
27719 * page/Settings.h:
27720
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000277212008-08-12 Adam Roben <aroben@apple.com>
27722
27723 Windows build fix
27724
27725 * bindings/js/JSSVGPODTypeWrapper.h: Align
27726 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
27727 members on 16-byte boundaries to avoid an alignment warning.
27728
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000277292008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
27730
27731 Reviewed by Oliver.
27732
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000027733 Add new dynamice-update layout tests covering SVGMarkerElement.
27734 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
27735 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
27736
27737 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
27738 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
27739 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
27740 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
27741 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
27742 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
27743 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
27744 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
27745 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
27746 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
27747 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
27748 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
27749 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
27750 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
27751 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
27752
27753 * svg/SVGMarkerElement.cpp:
27754 (WebCore::SVGMarkerElement::SVGMarkerElement):
27755 (WebCore::SVGMarkerElement::parseMappedAttribute):
27756 (WebCore::SVGMarkerElement::svgAttributeChanged):
27757 (WebCore::SVGMarkerElement::childrenChanged):
27758 (WebCore::SVGMarkerElement::setOrientToAuto):
27759 (WebCore::SVGMarkerElement::setOrientToAngle):
27760 (WebCore::SVGMarkerElement::canvasResource):
27761
277622008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
27763
27764 Reviewed by Oliver.
27765
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000027766 Add new dynamic-update layout tests covering SVGImageElement.
27767 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
27768
27769 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
27770 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
27771 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
27772 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
27773 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
27774 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
27775 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
27776 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
27777 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
27778 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
27779
27780 * svg/SVGImageElement.cpp:
27781 (WebCore::SVGImageElement::svgAttributeChanged):
27782
timothy@apple.com93114722008-08-12 04:20:25 +0000277832008-08-11 Anthony Ricaud <rik24d@gmail.com>
27784
timothy@apple.com2f2cde32008-08-12 04:28:16 +000027785 Changed Option/Alt-Up or Down in CSS editing when the value is
27786 near zero to jump to the next integer.
27787
27788 Reviewed by Tim Hatcher.
27789
27790 https://bugs.webkit.org/show_bug.cgi?id=20326
27791
27792 * page/inspector/StylesSidebarPane.js:
27793
277942008-08-11 Anthony Ricaud <rik24d@gmail.com>
27795
timothy@apple.com93114722008-08-12 04:20:25 +000027796 Changed the line highlight transition for an easier animation.
27797
27798 Reviewed by Tim Hatcher.
27799
27800 * page/inspector/SourceFrame.js:
27801
timothy@apple.com24a14852008-08-12 03:57:39 +0000278022008-08-11 Keishi Hattori <casey.hattori@gmail.com>
27803
27804 Added support for some Firebug Command Line APIs.
27805
27806 Reviewed by Tim Hatcher.
27807
27808 https://bugs.webkit.org/show_bug.cgi?id=19867
27809 https://bugs.webkit.org/show_bug.cgi?id=19868
27810 https://bugs.webkit.org/show_bug.cgi?id=19869
27811 https://bugs.webkit.org/show_bug.cgi?id=19875
27812 https://bugs.webkit.org/show_bug.cgi?id=19876
27813 https://bugs.webkit.org/show_bug.cgi?id=19880
27814
27815 * page/inspector/Console.js:
27816 (WebInspector.Console.prototype._evalInInspectedWindow):
27817 Create an object on the inspected window that holds the console
27818 command line API functions. This object is used in a with statement
27819 around the typed expression.
27820
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000278212008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
27822
27823 Reviewed by Antti.
27824
27825 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
27826
27827 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
27828 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
27829
27830 Added tests: svg/custom/svg-modify-currentTranslate.html
27831 svg/custom/tearoffs-with-tearoffs.html
27832 svg/custom/immutable-properties.html
27833
27834 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
27835
27836 * bindings/js/JSSVGPODTypeWrapper.h:
27837 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
27838 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
27839 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
27840 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
27841 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
27842 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
27843 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
27844 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
27845 * bindings/scripts/CodeGenerator.pm:
27846 * bindings/scripts/CodeGeneratorJS.pm:
27847 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
27848 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
27849
beidson@apple.com0e772f72008-08-12 00:34:46 +0000278502008-08-11 Brady Eidson <beidson@apple.com>
27851
27852 Reviewed by John and Anders
27853
27854 Fix for <rdar://problem/6141797>
27855
27856 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
27857 would never have nil data.
27858
27859 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
27860 semantics with some WebKit applications.
27861
27862 The guarantee was a good one and should be restored.
27863
27864 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
27865 creates an empty data object in the case of null data for its own purposes.
27866
27867 * loader/SubstituteResource.h:
27868 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
27869 well help any future subclassers not make this mistake.
27870
27871 * loader/archive/ArchiveResource.cpp:
27872 (WebCore::ArchiveResource::create): Return 0 if the data is null.
27873
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000278742008-08-11 Simon Fraser <simon.fraser@apple.com>
27875
27876 Reviewed by Dave Hyatt
27877
27878 https://bugs.webkit.org/show_bug.cgi?id=20328
27879 Fix a problem when an 'all' transition transition with more than
27880 one property changing is interrupted, and did some AnimationController
27881 cleanup.
27882
27883 Test: transitions/interrupted-all-transition.html
27884
27885 * page/AnimationController.cpp:
27886 (WebCore::ImplicitAnimation::ImplicitAnimation):
27887 (WebCore::AnimationControllerPrivate::blendProperties):
27888 (WebCore::CompositeAnimation::updateTransitions):
27889 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
27890 (WebCore::CompositeAnimation::setTransitionStartTime):
27891 (WebCore::CompositeAnimation::overrideImplicitAnimations):
27892 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
27893 (WebCore::ImplicitAnimation::animate):
27894 (WebCore::ImplicitAnimation::onAnimationEnd):
27895 (WebCore::ImplicitAnimation::sendTransitionEvent):
27896 (WebCore::ImplicitAnimation::affectsProperty):
27897 (WebCore::KeyframeAnimation::endAnimation):
27898 (WebCore::KeyframeAnimation::onAnimationEnd):
27899
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000279002008-08-11 Kevin McCullough <kmccullough@apple.com>
27901
27902 Reviewed by Tim.
27903
27904 - Because console messages have group levels now, newly created messages
27905 that do not specify the level lose their message since the number of
27906 arguments is wrong.
27907
27908 * page/inspector/Console.js:
27909 * page/inspector/Resource.js:
27910
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000279112008-08-11 Alp Toker <alp@nuanti.com>
27912
27913 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
27914 the opportunity to sort the sources lists.
27915
27916 * GNUmakefile.am:
27917
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000279182008-08-11 Timothy Hatcher <timothy@apple.com>
27919
27920 Speed up the the JavaScript syntax highlighter by generating
27921 the finders only once per script instead of per line.
27922
27923 https://bugs.webkit.org/show_bug.cgi?id=20346
27924
27925 Reviewed by Adam Roben.
27926
27927 * page/inspector/SourceFrame.js:
27928 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
27929 Removed, factored into syntaxHighlightJavascript as an inline function.
27930 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
27931 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
27932 Generate the finders before iterating the lines.
27933
aroben@apple.com957d2d32008-08-11 18:31:37 +0000279342008-08-11 Adam Roben <aroben@apple.com>
27935
27936 Windows build fix
27937
27938 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
27939 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
27940 too.
27941
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000279422008-08-11 Dan Bernstein <mitz@apple.com>
27943
27944 Reviewed by Darin Adler.
27945
27946 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
27947
27948 Test: fast/css/counters/invalidate-cached-counter-node.html
27949
27950 * rendering/RenderContainer.cpp:
27951 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
27952 RenderCounters in :before and :after content.
27953 * rendering/RenderContainer.h:
27954 * rendering/RenderCounter.cpp:
27955 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
27956 to match the RenderObject method.
27957 (WebCore::RenderCounter::invalidate): Added. Resets the cached
27958 CounterNode and invalidates the object's layout and preferred widths.
27959 (WebCore::destroyCounterNodeChildren): Added a call to
27960 invalidateCounters().
27961 * rendering/RenderCounter.h:
27962 * rendering/RenderObject.h:
27963 (WebCore::RenderObject::invalidateCounters):
27964
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000279652008-08-11 Dean Jackson <dino@apple.com>
27966
27967 Implement CSS Animation and Transition Events
27968 https://bugs.webkit.org/show_bug.cgi?id=20337
27969
27970 Implement the events defined in the CSS Animations
27971 and Transitions specifications so code can react
27972 to animations and transitions.
27973
27974 Reviewed by Tim Hatcher and Dave Hyatt.
27975
27976 * DerivedSources.make:
27977 * GNUmakefile.am:
27978 * WebCore.pro:
27979 * WebCore.vcproj/WebCore.vcproj:
27980 * WebCore.xcodeproj/project.pbxproj:
27981 * WebCoreSources.bkl:
27982 Build configs for new files
27983
27984 * bindings/js/JSDOMWindowBase.cpp:
27985 * bindings/js/JSDOMWindowBase.h:
27986 * bindings/js/JSEventCustom.cpp:
27987 * dom/Document.h:
27988 * dom/Event.cpp:
27989 * dom/Event.h:
27990 * dom/EventTarget.cpp:
27991 * dom/EventTargetNode.cpp:
27992 * dom/EventTargetNode.h:
27993 * html/HTMLElement.cpp:
27994 * page/AnimationController.cpp:
27995 do all the new event stuff
27996
27997 * html/HTMLAttributeNames.in:
27998 the onwebkitanimation* and onwebkittransitionend attrs
27999
28000 * dom/WebKitAnimationEvent.cpp: Added.
28001 * dom/WebKitAnimationEvent.h: Added.
28002 * dom/WebKitAnimationEvent.idl: Added.
28003 * dom/WebKitTransitionEvent.cpp: Added.
28004 * dom/WebKitTransitionEvent.h: Added.
28005 * dom/WebKitTransitionEvent.idl: Added.
28006 New files for the events
28007
28008 * manual-tests/transition-events.html: Added.
28009 New testfile
28010
aroben@apple.com3eae8622008-08-11 17:21:23 +0000280112008-08-11 Adam Roben <aroben@apple.com>
28012
28013 Add a ForwardingHeader for wtf/NotFound.h
28014
28015 Rubberstamped by Darin Adler.
28016
28017 * ForwardingHeaders/wtf/NotFound.h: Added.
28018
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000280192008-08-11 Timothy Hatcher <timothy@apple.com>
28020
28021 Fixes a bug where error bubbles in JavaScript resources would
28022 be clobbered by the syntax highlighter.
28023
28024 https://bugs.webkit.org/show_bug.cgi?id=20345
28025
28026 Reviewed by Adam Roben.
28027
28028 * manual-tests/inspector/resources/script-error.js: Added.
28029 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
28030 * page/inspector/SourceFrame.js:
28031 (WebInspector.SourceFrame.prototype._addMessageToSource):
28032 Check the nodeType and not the nodeName, this is less fragile.
28033 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
28034 Check if the lastChild is an error bubble, if so remove it before
28035 getting the line's textContent. Add the error bubble back at the end.
28036
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000028037== Rolled over to ChangeLog-2008-08-10 ==